Logistic 回归的名字来自 Logistic 分布。其 CDF 恰好是 sigmoid 函数:
σ(z)=1+e−z1
Sigmoid 把 (−∞,+∞) 压缩到 (0,1),是从"线性分数"到"概率"的天然桥梁。它有几个优美的性质:
- 对称性:σ(−z)=1−σ(z)
- 导数简洁:σ′(z)=σ(z)(1−σ(z))
- 对数几率(log-odds)是线性的:ln1−σ(z)σ(z)=z
第三条最关键——它说明 Logistic 回归本质上是在对对数几率做线性建模。
下面的交互展示了 sigmoid 的"温度"效应。参数 T 控制曲线陡峭程度:σ(z/T)。当 T→0,sigmoid 退化成阶跃函数(硬分类);当 T 很大时,输出趋向 0.5(完全不确定)。
拖动 T 改变 sigmoid 的"温度"。T 越小曲线越陡(接近硬分类),T 越大越平缓(不确定性增大)。底部是 1D 数据点,虚线投影到曲线上对应的概率值。黄色虚线是决策阈值 P = 0.5。
给定输入 x∈Rd,二项 Logistic 回归定义条件概率:
P(Y=1∣x)=1+e−(w⋅x+b)1
P(Y=0∣x)=1+e−(w⋅x+b)e−(w⋅x+b)
决策边界是 P(Y=1∣x)=0.5 的超平面,即 w⋅x+b=0。几何意义:w 是法向量,b 控制平移。
对数几率的线性性让参数解释非常直观:
lnP(Y=0∣x)P(Y=1∣x)=w⋅x+b
特征 xj 增加 1 个单位,对数几率增加 wj。这就是为什么 Logistic 回归在医学、金融中如此流行——系数直接可解释。
参数估计用最大似然。给定 n 个样本 {(xi,yi)},对数似然为:
ℓ(w,b)=i=1∑n[yilogp^i+(1−yi)log(1−p^i)]
其中 p^i=σ(w⋅xi+b)。最大化对数似然等价于最小化交叉熵损失。这是一个无约束凸优化问题,没有解析解但可以用迭代法高效求解。
当类别 K>2 时,二项推广为多项 Logistic 回归(softmax 回归):
P(Y=k∣x)=∑j=1Kewj⋅x+bjewk⋅x+bk,k=1,…,K
Softmax 保证所有类的概率和为 1、每个都非负。几何上,K 类 softmax 把特征空间切成 K 个凸锥形区域。类 k 和类 j 的决策边界是超平面 (wk−wj)⋅x+(bk−bj)=0。
注意参数有冗余:所有 wk 同时加一个常向量不改变概率。实践中通常令 wK=0 作为参考类,或者加 L2 正则消除冗余。
当 K=2 时,softmax 退化为 sigmoid——两者是同一个模型。
换一个完全不同的出发点:最大熵原理。
在满足已知约束的所有概率分布中,选择熵最大的那个。
直觉:熵最大 = 最"均匀" = 不做任何额外假设 = 最保守的估计。
形式化:设随机变量 X 的分布为 P,已知 m 个约束(通常是特征函数的期望):
x∑P(x)fi(x)=E^[fi],i=1,…,m
加上归一化约束 ∑xP(x)=1。在这些约束下,最大化 Shannon 熵:
H(P)=−x∑P(x)logP(x)
用 Lagrange 乘子法求解这个约束优化问题。构造 Lagrangian:
L=−x∑P(x)logP(x)+λ0(x∑P(x)−1)+i=1∑mλi(x∑P(x)fi(x)−E^[fi])
对 P(x) 求导令其为零,解出:
P∗(x)=Z1exp(i=1∑mλifi(x))
其中 Z=∑xexp(∑iλifi(x)) 是配分函数(归一化常数)。
这就是指数族分布的形式——约束决定了特征函数,最大熵原理自动给出指数族。
现在把最大熵用于条件分布 P(Y∣X) 的建模。设特征函数为 fi(x,y)(联合特征),约束为经验期望匹配:
EP[fi(X,Y)]=E^[fi(X,Y)]
最大化条件熵 H(Y∣X)=−∑x,yP~(x)P(y∣x)logP(y∣x),解出的最大熵模型为:
P(y∣x)=Z(x)1exp(i=1∑mλifi(x,y))
其中 Z(x)=∑yexp(∑iλifi(x,y))。
关键观察:当 Y∈{0,1} 且特征函数取 fi(x,y)=xi⋅1[y=1] 时,上式恰好是:
P(Y=1∣x)=1+eλ⋅xeλ⋅x=σ(λ⋅x)
这正是 Logistic 回归。多类情况下,最大熵模型给出 softmax。
等价性的意义:
- 从判别模型角度出发(直接建模 P(Y∣X)),用最大似然学习——得到 Logistic 回归。
- 从信息论角度出发(在约束下选最不确定的分布),用最大熵原理——得到同一个模型。
两条路殊途同归,说明 Logistic 回归不只是一个"方便的选择",而是有深刻的理论必然性。
Logistic 回归的目标函数是凸的(Hessian 半正定),但没有解析解。常用两类算法:
1. 梯度下降(及其变体)
梯度的形式非常简洁:
∂w∂ℓ=i=1∑n(yi−p^i)xi
每个样本的贡献 = "残差 × 特征"。SGD / mini-batch SGD 是大规模问题的标准做法,现代深度学习框架中的 softmax 层训练本质就是这个。
2. 拟牛顿法(L-BFGS)
利用二阶信息加速收敛。Newton 法需要计算并求逆 d×d 的 Hessian:
H=i=1∑np^i(1−p^i)xixi⊤
即 IRLS(迭代加权最小二乘)。当 d 较大时 Hessian 的存储和求逆代价太高,L-BFGS 用有限内存近似 Hessian 逆,兼顾收敛速度和内存效率。sklearn 的 LogisticRegression(solver='lbfgs') 默认就是它。
收敛性对比:
| 方法 | 每步复杂度 | 收敛速度 | 适用场景 |
|---|
| SGD | O(d) | 线性 | n 极大(百万级) |
| L-BFGS | O(nd) | 超线性 | 中等规模,d 不太大 |
| Newton/IRLS | O(nd2+d3) | 二次 | 小规模,d 小 |