Logistic回归为什么不用均方误差 MSE(square error)
逻辑回归:输出 y^=σ(z)=11+e−z\hat y=\sigma(z)=\frac{1}{1+e^{-z}}y^=σ(z)=1+e−z1,KaTeX parse error: Can't use function '\(' in math mode at position 1: \̲(̲z=wx+b\),y^∈(0,1)\hat y\in(0,1)y^∈(0,1),标签 y∈{0,1}y\in\{0,1\}y∈{0,1}。
1. MSE损失形式
LMSE=(y^−y)2=(σ(wx+b)−y)2 L_{MSE}=(\hat y-y)^2=\big(\sigma(wx+b)-y\big)^2 LMSE=(y^−y)2=(σ(wx+b)−y)2
问题1:损失函数非凸,存在大量局部极小点
对比:逻辑回归标准损失是二元交叉熵 BCE ,损失曲面是凸函数,梯度下降一定能找到全局最优。
MSE套在sigmoid外面,整体函数不是凸函数,优化很容易卡在局部最小值,得不到最好参数。
问题2:梯度消失,训练几乎不动(最核心)
求MSE对权重www的导数:
∂LMSE∂w=2(y^−y)⋅σ′(z)⋅x \frac{\partial L_{MSE}}{\partial w}=2(\hat y-y)\cdot\sigma'(z)\cdot x ∂w∂LMSE=2(y^−y)⋅σ′(z)⋅x
sigmoid导数:
σ′(z)=σ(z)(1−σ(z))\sigma'(z)=\sigma(z)(1-\sigma(z))σ′(z)=σ(z)(1−σ(z))
当 y^\hat yy^ 和真实标签差距很大的时候:
例:真实标签 KaTeX parse error: Can't use function '\(' in math mode at position 1: \̲(̲y=1\),模型输出 y^≈0\hat y\approx0y^≈0,此时 z≪0z\ll0z≪0,σ(z)\sigma(z)σ(z)接近0,σ′(z)≈0\boldsymbol{\sigma'(z)\approx0}σ′(z)≈0。
虽然误差项 (y^−y)(\hat y-y)(y^−y)很大,但是 σ′(z)\boldsymbol{\sigma'(z)}σ′(z) 趋近于0,整体梯度几乎等于0 。
参数几乎不更新,模型学的极慢,陷入僵住。
简单例子:
样本 KaTeX parse error: Can't use function '\(' in math mode at position 1: \̲(̲y=1\),模型输出0.01,误差很大,但是sigmoid落在饱和区,导数几乎为0,梯度下降几乎不更新权重。
✅反观交叉熵损失梯度:
∂LBCE∂w=(y^−y)⋅x \frac{\partial L_{BCE}}{\partial w}=(\hat y-y)\cdot x ∂w∂LBCE=(y^−y)⋅x
没有sigmoid导数项,误差大的时候梯度就大,参数正常更新,不会梯度消失。
问题3:概率意义不匹配
MSE来自高斯噪声假设,适合回归任务(输出是连续实数)。
逻辑回归是分类,标签是离散0/1,假设是伯努利分布,数学上对应交叉熵,MSE并不是这个分布下的最大似然代价函数。
直观对比
| MSE(平方误差) | Binary Cross‑Entropy交叉熵 |
|---|---|
| 非凸,局部最优陷阱 | 凸损失,全局最优 |
| sigmoid饱和区梯度消失,训练停滞 | 梯度干净,误差越大梯度越大,训练稳定 |
| 回归任务假设,不匹配0‑1分类分布 | 等价最大似然,符合分类概率假设 |
补充:那Softmax多分类能不能用MSE?
同样的问题:
- softmax也会进入饱和,梯度消失;
- 损失非凸;
- 不对应多分类的多项式分布最大似然。
所以多分类同样用交叉熵,不用MSE。
小误区
MSE不是完全不能跑,有时候能收敛。但是训练极慢,极易卡在局部最优,工程上绝对不用。
一句话总结
logistic回归用sigmoid输出,平方误差会引入sigmoid导数,在预测严重错误时发生梯度消失;同时损失非凸,容易陷入局部极小,数学上也不匹配分类任务的概率假设,因此采用交叉熵损失。