逻辑回归是一种用于二元分类的模型。它先把输入特征组合成一个线性得分,再将这个得分送入 Sigmoid 函数,输出一个介于 0011 之间的数;在拟合后的模型下,这个数可解释为正类的估计概率。

虽然名字里有“回归”,但逻辑回归通常用于在两个类别之间做判断,比如通过/未通过、垃圾邮件/非垃圾邮件,或违约/不违约。“回归”这个词指的是模型内部的线性公式,而不是预测连续型输出。

逻辑回归公式速览

二元逻辑回归使用

p(y=1x)=σ(z),z=β0+β1x1++βnxnp(y=1 \mid x) = \sigma(z), \qquad z = \beta_0 + \beta_1 x_1 + \cdots + \beta_n x_n

其中 Sigmoid 函数为

σ(z)=11+ez\sigma(z) = \frac{1}{1 + e^{-z}}

线性部分 zz 可以取任意实数。Sigmoid 会把这个值压缩到 (0,1)(0,1) 区间内,这就是为什么输出可以作为概率估计。

为什么 Sigmoid 函数很重要

如果直接把原始线性得分 zz 当作概率,就可能得到不可能的值,比如 1.71.70.4-0.4。Sigmoid 通过映射解决了这个问题:很大的负得分会接近 00,很大的正得分会接近 11,而接近 00 的得分会对应接近 0.50.5 的概率。

这给出了一个很实用的理解方式:

  • 如果 zz 非常负,模型更倾向于类别 00
  • 如果 zz 接近 00,模型不太确定
  • 如果 zz 非常正,模型更倾向于类别 11

这条曲线在 z=0z=0 附近最陡。因此,在概率接近 0.50.5 时,得分的微小变化可能会让概率变化很大;但当概率已经接近 0011 时,同样的得分变化带来的影响会小得多。

逻辑回归计算示例

假设一个模型只使用一个特征 xx,并且有

z=7+0.1xz = -7 + 0.1x

你可以把 xx 看作考试分数,把 y=1y=1 看作“通过”。这里的系数只是为了演示计算过程而设定的示例值。

如果 x=65x = 65,那么

z=7+0.1(65)=0.5z = -7 + 0.1(65) = -0.5

因此预测概率为

p(y=1x=65)=σ(0.5)=11+e0.50.378p(y=1 \mid x=65) = \sigma(-0.5) = \frac{1}{1 + e^{0.5}} \approx 0.378

如果 x=80x = 80,那么

z=7+0.1(80)=1z = -7 + 0.1(80) = 1

并且

p(y=1x=80)=σ(1)=11+e10.731p(y=1 \mid x=80) = \sigma(1) = \frac{1}{1 + e^{-1}} \approx 0.731

所以,同一个模型在 x=65x=65 时给出大约 37.8%37.8\% 的通过概率,而在 x=80x=80 时给出大约 73.1%73.1\% 的通过概率。虽然得分增加了 1.51.5,但最终输出仍然保持在 0011 之间,因为 Sigmoid 会把结果弯曲成一个概率。

如果现在选择阈值 0.50.5,第一个样本会被分为类别 00,第二个样本会被分为类别 11。最后这一步取决于阈值,而概率估计本身并不取决于阈值。

一个有用的快捷结论是:当阈值为 0.50.5 时,类别恰好会在 z=0z=0 时发生切换,因为 σ(0)=0.5\sigma(0)=0.5

逻辑回归如何变成分类器

模型输出本身是一个概率估计。分类规则是在这之后再加上的。

例如,当阈值为 0.50.5 时:

  • 如果 p(y=1x)0.5p(y=1 \mid x) \ge 0.5,预测为类别 11
  • 如果 p(y=1x)<0.5p(y=1 \mid x) < 0.5,预测为类别 00

0.50.5 并不总是合适的阈值。如果假阳性和假阴性的代价不同,或者类别分布严重不平衡,那么其他阈值可能效果更好。

系数意味着什么

系数的符号告诉你它对线性得分 zz 的影响方向:

  • 如果 βi>0\beta_i > 0,增大 xix_i 会提高 zz,并倾向于增大 p(y=1x)p(y=1 \mid x)
  • 如果 βi<0\beta_i < 0,增大 xix_i 会降低 zz,并倾向于减小 p(y=1x)p(y=1 \mid x)

这一点比较直接。更细微之处在于:概率并不会随着特征线性变化,因为 Sigmoid 曲线不是一条直线。

在标准逻辑回归中,线性模型建立在对数几率(log-odds)尺度上:

log(p1p)=β0+β1x1++βnxn\log\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 x_1 + \cdots + \beta_n x_n

这意味着,在其他特征保持不变时,某个特征每增加一个单位,会使对数几率发生线性变化。这样的表述比“概率会固定增加多少”更准确。

逻辑回归中的常见错误

把输出当成确定无疑的类别

0.730.73 这样的预测并不意味着事件一定会发生。它表示对于这个输入,模型给正类分配了大约 73%73\% 的估计概率。

认为阈值必须是 0.50.5

0.50.5 很常见,但它是一种选择,不是硬性规定。最佳阈值取决于具体应用场景。

认为概率是线性变化的

得分 zz 对输入是线性的,但概率不是。某个特征增加一个单位,在 p=0.5p=0.5 附近产生的影响,可能与在 p=0.95p=0.95 附近完全不同。

忘记模型默认是二分类,除非做了扩展

基础逻辑回归处理的是两个类别。虽然也存在多分类版本,但那是扩展形式,不是把同一个二分类设定换种写法而已。

逻辑回归在什么时候使用

当目标变量是“是/否”类型时,逻辑回归经常会被使用,例如垃圾邮件检测、疾病是否存在、客户流失、贷款违约,或通过/未通过这类结果。

它一直很受欢迎,因为它简单、快速,而且具有一定的可解释性。尤其是在你需要一个基线分类器、数据集不算很大,或者你需要的是概率估计而不只是硬标签时,它会非常有用。

一个简单的直观理解方式

可以把逻辑回归看成一个两步机器:

  1. 用线性得分汇总证据。
  2. 用 Sigmoid 把这个得分转换成概率。

这个图景已经足够帮助你理解大多数入门例子,也能看出为什么逻辑回归处在线性模型与分类任务之间。

试着做一道类似的逻辑回归题

取一个简单的得分,例如

z=3+0.5xz = -3 + 0.5x

对几个 xx 的取值计算 σ(z)\sigma(z),比如 22661010。观察线性得分如何稳定变化,而概率如何沿着一条 S 形曲线弯曲变化。然后再尝试换一个阈值,看看预测类别会在什么时候发生改变。

需要解题帮助?

上传你的问题,几秒钟内获得经过验证的分步解答。

打开 GPAI Solver →