机器学习(逻辑回归)
1. 什么是逻辑回归?
核心思想:逻辑回归是一种用于解决分类问题的监督学习算法。它的目标是找到一个模型,能够根据输入特征预测一个离散的类别标签(例如:是/否,垃圾邮件/非垃圾邮件,患病/健康)。
为什么叫“回归”? 因为它底层使用了类似于线性回归的线性函数(z = W^T X + b),但关键的一步是,它将这个线性输出通过一个激活函数(Sigmoid函数)映射到了 [0, 1] 之间的一个概率值。
通俗解释:逻辑回归不是直接预测类别,而是预测属于某个类别的概率。比如,我们不是直接说“这封邮件是垃圾邮件”,而是说“这封邮件有90%的可能是垃圾邮件”。
2. 核心组件:Sigmoid函数
逻辑回归的灵魂在于Sigmoid函数(也叫Logistic函数),它成功地将线性回归的连续输出变成了表示概率的值。
函数公式:

其中,z 就是线性组合 z = W^T X + b。
函数特性:
-
值域:输出范围在
(0, 1)之间,完美符合概率的定义。 -
形状:是一条S形曲线。
-
临界点:当
z = 0时,S(z) = 0.5。这个点通常被用作分类的决策边界。
决策过程:
-
计算
z = W^T X + b。 -
将
z代入Sigmoid函数,得到概率P(y=1 | X) = S(z)。这个值表示在给定特征X的情况下,样本属于类别1的概率。 -
我们设定一个阈值(通常为0.5):
-
如果
P(y=1 | X) >= 0.5,则预测为类别1。 -
如果
P(y=1 | X) < 0.5,则预测为类别0。
-
3. 模型表示
逻辑回归模型的假设函数就是将线性部分和Sigmoid函数组合起来:

这里:

4. 决策边界
逻辑回归的分类过程依赖于一个决策边界,这个边界是由模型参数 WW 和 bb 确定的。
-
从Sigmoid函数可知,当 W^T⋅X+b>=0时,我们预测
y=1。 -
当 W^T⋅X+b<0时,我们预测
y=0。
因此,方程 W^T⋅X+b=0就定义了这个决策边界。
-
在二维特征空间中,它是一个直线。
-
在三维特征空间中,它是一个平面。
-
在更高维的空间中,它是一个超平面。
重要提示:虽然决策边界是线性的,但通过特征工程(例如引入多项式特征),逻辑回归可以学习到非常复杂的非线性决策边界。
5. 损失函数 - 为什么不能用均方误差?
在线性回归中,我们使用均方误差作为损失函数,它是一个凸函数,容易优化。但在逻辑回归中,由于引入了非线性的Sigmoid函数,如果继续使用MSE,损失函数会变成非凸的,这意味着它有多个局部最小值,使得梯度下降法很难找到全局最优解。
逻辑回归使用交叉熵损失函数(也称为对数损失),它对于逻辑回归的假设函数是凸的。
单个样本的损失函数:

让我们来理解这个公式:
-
如果
y = 1:损失函数变为-log(ˆy)。为了让损失小,ˆy必须尽可能大(接近1)。 -
如果
y = 0:损失函数变为-log(1-ˆy)。为了让损失小,ˆy必须尽可能小(接近0)。
这个函数完美地惩罚了“自信的错误预测”。例如,如果真实标签是 1,但模型预测 ˆy=0.01(即非常肯定地预测错误),那么 -log(0.01) 会是一个非常大的损失值。
整个训练集的成本函数是所有样本损失的平均:

6. 参数学习 - 梯度下降
与线性回归一样,我们使用梯度下降法来最小化成本函数J(W)。目标同样是找到使成本函数最小的参数 W 和 b。
更新规则(形式上与线性回归惊人地相似):
-
随机初始化参数 W。
-
重复直到收敛:
其中,学习率 α 控制步长。
经过求导计算(这里省略推导过程),权重的梯度公式为:


7. 逻辑回归的扩展
-
多分类问题:
逻辑回归本质是二分类器。但可以通过以下策略扩展到多分类:-
一对多:对于
K个类别,训练K个独立的二分类器。第i个分类器学习区分“类别i”和“非类别i”。预测时,选择预测概率最高的那个类别。
-
-
正则化:
与线性回归一样,逻辑回归也容易过拟合,尤其是在特征多而数据少的情况下。解决方法同样是加入正则化项。-
L1正则化(Lasso):在成本函数中加入权重的绝对值之和。倾向于产生稀疏模型,可用于特征选择。
-
L2正则化(Ridge):在成本函数中加入权重的平方和。使权重普遍变小,模型更平滑。
-
8. 优缺点总结
优点:
-
实现简单,计算效率高:训练和预测的速度都很快。
-
可解释性强:模型的权重
w_i可以直接解释为“特征x_i对预测结果的重要性”。w_i为正,表示该特征与正类相关;为负则表示与负类相关。 -
输出是校准过的概率:这不仅给出了预测类别,还给出了预测的置信度,在需要概率的场景中非常有用(如风险排序)。
缺点:
-
本质是线性模型:除非手动进行特征工程(如添加交互项、多项式特征),否则它无法捕捉复杂的非线性关系。
-
对特征相关性和异常值敏感。
-
在数据线性不可分时,性能可能不理想。
总结
逻辑回归是分类任务中一个基石般的算法。它通过一个简单的S形函数,巧妙地将线性回归的输出转化为概率,从而解决了分类问题。
其核心流程为:
线性组合 z -> Sigmoid函数映射为概率 ŷ -> 利用交叉熵损失衡量误差 -> 通过梯度下降最小化损失 -> 得到最优参数 -> 根据概率和阈值进行分类。
尽管现在有更复杂的模型(如深度学习、梯度提升树),逻辑回归因其简单、高效和可解释性,在金融、医疗、社会科学等众多领域仍然是首选的算法之一。
更多推荐
所有评论(0)