逻辑回归的原理是什么?为什么叫「回归」却用来分类?
简化版
逻辑回归(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.5 ⟺ z = 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」专题):
- MSE + sigmoid 是非凸的,梯度下降可能陷入局部最优;交叉熵 + sigmoid 是凸的,保证全局最优。
- 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 |
| Sigmoid | p=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。