在前一节中,我们介绍了逻辑回归作为一种二分类方法,目标是预测输入属于两个类别中的哪一个(通常标记 (token)为0或1)。但是,一个看起来有些像线性回归的算法,最终是如何预测类别的呢?线性回归产生的输出值可以是任意实数,这对于区分两个离散类别没有直接用处。
我们需要一种方法来转换线性方程的输出,我们称之为 z=w⋅x+b (此处 w 代表权重 (weight),x 代表输入特征,b 代表偏差),转换为一个表示概率的值。概率很方便地限制在0和1之间,使它们成为分类任务的理想选择。如果概率高(接近1),我们就预测为类别1;如果概率低(接近0),我们就预测为类别0。
这就是 Sigmoid 函数,也称为逻辑函数,发挥作用的地方。它是一个数学函数,接受任意实数作为输入,并将其压缩到0和1之间的输出值。
Sigmoid 公式
Sigmoid 函数,通常用希腊字母西格玛 σ 表示,定义为:
σ(z)=1+e−z1
在这里,z 是函数的输入 (在逻辑回归中,它是线性部分的输出,w⋅x+b),并且 e 是自然对数的底(约2.718)。
特性与形状
让我们看看这个函数的作用是什么:
- 输出范围: 无论 z 取什么值(无论是-1000、0还是500),输出 σ(z) 将始终严格介于0和1之间。它永远不会真正达到0或1,但会非常接近。
- 大输入值的表现: 当 z 变得非常大且为正时,e−z 趋近于0。因此,σ(z) 趋近于 1+01=1。
- 大负输入值的表现: 当 z 变得非常大且为负时,e−z 变得非常大且为正。因此,σ(z) 趋近于 1+一个很大的数1,这使得它接近0。
- 零值时的表现: 当 z=0 时,e−0=1。所以,σ(0)=1+11=0.5。
绘制时,该函数呈现出独特的“S”形:
Sigmoid 函数 σ(z)=1+e−z1 将任意实数输入 z 平滑地映射到0和1之间的输出值。
与逻辑回归的关联
在逻辑回归中,模型像线性回归一样计算线性组合 z=w⋅x+b。然而,模型不直接将 z 作为预测值,而是将 z 输入到Sigmoid函数中:
hθ(x)=σ(z)=σ(w⋅x+b)=1+e−(w⋅x+b)1
输出 hθ(x) (这里的 θ 指代模型的参数 (parameter),w 和 b) 现在被解释为输入 x 属于正类别(类别1)的估计概率。
例如,如果对于给定的输入 x,模型计算出 z=2,那么输出概率就是 σ(2)≈0.88。这意味着模型估计这个输入有88%的可能性属于类别1。如果另一个输入导致 z=−1,输出概率是 σ(−1)≈0.27,表示有27%的可能性属于类别1(或者反过来说,有73%的可能性属于类别0)。
这种概率输出对逻辑回归来说非常重要。通常,我们设置一个决策阈值(通常是0.5)来将此概率转换为明确的类别预测。如果 hθ(x)≥0.5,我们预测为类别1;否则,我们预测为类别0。 z=0 且 σ(z)=0.5 的点通常对应于分隔预测类别的边界,我们将在讨论决策边界时后续讨论这一点。