← 返回题目列表

逻辑回归的原理是什么?为什么叫「回归」却用来分类?

高频 中等 第 2 / 25 题 更新于 2026/07/28
线性模型逻辑回归sigmoid分类

简化版

逻辑回归(Logistic Regression)分类模型(尽管名字带「回归」)。它先算一个线性组合 z = w·x + b,再用 sigmoid 函数把 z 压到 (0,1) 当作正类概率 p = σ(z),超过阈值(默认 0.5)判为正类。之所以叫「回归」,是因为它回归的是「对数几率(log-odds)」——log(p/(1-p)) = w·x + b 是线性的,它本质是对数几率对特征做线性回归,只是最后套了 sigmoid 变成概率。训练用最大似然 / 交叉熵损失,不用 MSE。它简单、可解释、输出概率、工业界(风控、CTR)极常用。

详细版

三步走:

① 线性打分:   z = wᵀx + b
② sigmoid 转概率: p = σ(z) = 1 / (1 + e^(-z))   ∈ (0,1)
③ 阈值决策:   p ≥ 0.5 → 正类;否则负类

为什么叫「回归」——对数几率线性:

log( p / (1-p) ) = wᵀx + b
     ↑ 对数几率(log-odds / logit)对特征是线性的

所以逻辑回归 = 用线性回归拟合「对数几率」,再映射成概率。

损失函数(交叉熵 / 对数损失):

L = -(1/m) Σ [ yᵢ log(pᵢ) + (1-yᵢ) log(1-pᵢ) ]

最大似然估计推出(伯努利分布),是凸函数、可梯度下降。不用 MSE(用 MSE 会非凸、梯度消失,详见专门问题)。

特点: 输出概率、可解释(系数=对数几率的变化)、线性决策边界、训练快、易加正则。

完整版教学

一、先解决名字困惑:分类模型为什么叫「回归」

这是最经典的追问。逻辑回归做的是分类,但名字里有「回归」,原因在于它回归的对象不是类别,而是「对数几率」

推导一下就懂了。我们想要一个概率 p ∈ (0,1),但线性函数 wᵀx+b 的输出是整个实数轴 (-∞,+∞),范围对不上。怎么把 (0,1) 的概率和 (-∞,+∞) 的线性值连起来?

  • 先把概率转成几率(odds)p/(1-p),范围 (0, +∞)
  • 再取对数变成对数几率(log-odds / logit)log(p/(1-p)),范围就变成了 (-∞, +∞)

现在范围对上了,于是让对数几率等于线性组合

log( p/(1-p) ) = wᵀx + b

看——这就是对「对数几率」做线性回归!所以叫逻辑「回归」。反解出 p,就得到 sigmoid:

p = 1 / (1 + e^(-(wᵀx+b))) = σ(wᵀx + b)

结论:逻辑回归 = 线性回归拟合对数几率 + sigmoid 映射成概率。名字来自「回归对数几率」,用途是分类。

二、sigmoid 函数:把实数压成概率

σ(z) = 1 / (1 + e^(-z))

性质:

  • 值域 (0,1):天然当概率用。
  • 单调递增S 形:z→+∞ 趋近 1,z→-∞ 趋近 0,z=0 时为 0.5。
  • 以 0.5 为中心对称σ(0)=0.5 正好对应决策边界。
  • 导数优美σ'(z) = σ(z)(1-σ(z)),让梯度推导很简洁。

于是决策规则:p = σ(z) ≥ 0.5z = wᵀx+b ≥ 0 判为正类。决策边界 wᵀx+b=0 是线性的(一条直线/超平面)——所以逻辑回归是线性分类器

三、为什么用交叉熵损失而不是 MSE

逻辑回归用交叉熵(对数损失)

L = -(1/m) Σ [ y·log(p) + (1-y)·log(1-p) ]

它由最大似然估计推出:把每个样本看作伯努利试验,正类概率 p、负类 1-p,样本似然是 p^y (1-p)^(1-y),取对数、取负、求和平均,就得到上式。最大化似然 = 最小化交叉熵

为什么不用回归里的 MSE?两个原因(详见「逻辑回归为什么不用 MSE」专题):

  1. MSE + sigmoid 是非凸的,梯度下降可能陷入局部最优;交叉熵 + sigmoid 是凸的,保证全局最优。
  2. MSE 会梯度消失:sigmoid 饱和区导数趋 0,MSE 的梯度里带这个因子,预测错得离谱时梯度反而极小、学不动;交叉熵的梯度恰好把 sigmoid 导数约掉,梯度 ∝ (p - y),错得越多梯度越大,学得越快。

四、参数怎么解释——系数的含义

逻辑回归的强项是可解释。由 log(odds) = wᵀx+b

  • 特征 xⱼ 增加 1 个单位,对数几率增加 wⱼ,即几率(odds)乘以 e^(wⱼ)
  • wⱼ > 0:该特征增大 → 正类概率上升;wⱼ < 0:反之;|wⱼ| 越大影响越强。
  • e^(wⱼ) 就是几率比(odds ratio),在医学、风控里直接拿来解读「某因素让风险变为几倍」。

这种清晰的可解释性,是逻辑回归在金融风控、医疗、CTR等强监管/需解释场景长盛不衰的关键。

五、训练与正则化

  • 优化:交叉熵对 w 是凸函数,用梯度下降 / 牛顿法(如 IRLS) 求解,梯度形式简洁 ∂L/∂w = (1/m)Σ(pᵢ-yᵢ)xᵢ
  • 正则化:可加 L1(产生稀疏、做特征选择)或 L2(防过拟合、缓解共线性),是工业标配。
  • 要特征缩放:用梯度下降优化 + 带正则时,需缩放让收敛快、正则公平。

六、多分类怎么办

原生逻辑回归是二分类,扩展到多分类两种方式:

  • Softmax 回归(多项逻辑回归):用 softmax 直接输出 K 个类别的概率,是逻辑回归的自然推广。
  • OvR(One-vs-Rest):训练 K 个二分类器,每个区分「某类 vs 其余」,取得分最高的。

(详见「逻辑回归如何做多分类」专题。)

七、优缺点与适用

优点:简单、训练快、输出概率(可排序、可卡阈值)、强可解释、易加正则、易上线、可增量训练——工业界二分类的默认 baseline(风控评分卡、CTR 预估)。

缺点线性决策边界,表达力有限,复杂非线性关系需靠特征工程(分箱、交叉)或换模型;对特征工程依赖较重。

“输出概率”也不能直接等同于“概率一定校准”。正则强度、采样方式和分布漂移都会让预测概率偏离真实发生率,应在独立验证集检查可靠性曲线、Brier score 或 ECE;若业务依赖绝对概率,再考虑 Platt scaling 或 isotonic regression。

它适合大规模稀疏特征、需要排序与解释的二分类基线。若交互和非线性是主要信号,应先做有业务含义的特征交叉,或与树模型等非线性模型比较,而不是只凭训练速度决定。

八、用算例与工程边界复核

z=wᵀx+b 从 -2、0、2 变化时,sigmoid 概率约为 0.119、0.5、0.881。若某特征系数为 0.7,在其他变量不变时该特征增加 1 单位,odds 乘以 e^0.7≈2.01,不是“概率直接增加 70%”。

对象/方案核心机制选择或风险
线性预测子z=wᵀx+b决定 log-odds
Sigmoidp=1/(1+e^-z)映射到 0 与 1 之间
训练目标伯努利负对数似然凸问题但需迭代

把推导和选择压缩成执行路径:

features x
 -> log-odds z
 -> sigmoid probability p
 -> threshold chosen by business cost

系数解释在 odds 尺度上;概率改变量依赖当前基准概率,因此不能把系数直接读成概率百分点。

九、常见误区与追问

  • 误区:逻辑回归只能输出 0 或 1。 模型先输出概率或分数,类别由后续阈值决策产生。
  • 误区:阈值必须固定为 0.5。 阈值应结合误报漏报成本、类别分布与验证集选择。
  • 追问:为什么叫回归? 它对类别概率的对数几率建立线性回归关系。
  • 追问:完全分离会发生什么? 无正则 MLE 的系数可能趋向无穷,数值上不收敛;正则化可缓解。
  • 追问:输出概率一定校准好吗? 不一定,正则、采样和分布漂移都会影响校准,应检查可靠性曲线等指标。

十、加强记忆

记忆时抓住这条主线:逻辑回归是分类模型,名字里的「回归」指它回归的是「对数几率」log(p/(1-p)) = wᵀx+b 对特征线性,反解出 p = σ(wᵀx+b)sigmoid 把实数压进 (0,1) 当概率),以 0.5 为阈值、决策边界线性。训练用交叉熵/对数损失(由最大似然推出),不用 MSE——因为 MSE+sigmoid 非凸且梯度消失,交叉熵凸且梯度 ∝ (p−y) 错得多学得快。系数可解释为对数几率的变化 / 几率比 e^w。优点是简单、出概率、可解释、工业常用(风控/CTR),缺点是只有线性边界,非线性靠特征工程或换模型;多分类用 Softmax 或 OvR