把 logisitic 翻译成逻辑并不恰当, 但就先这么用了.
A quick go through
有很多路径可以得到逻辑回归, 最直接地, 它是广义线性模型, 假设 log odds 可以线性表示 (从而决策边界是线性的), 即
logP(Y=1∣X)P(Y=0∣X)=β′X,其中 Y∈{0,1}, 随机向量 X=(1,X2,…,Xp+1)′, 参数 β=(β1,…,βp+1)′. 用极大似然估计参数, 用 Newton 法计算优化问题. 类似地容易推广到 softmax 形式.
Motivation 我认为可以这样理解: (1) 决策边界是线性的, 于是有右边项 β′X; (2) 两个概率之比大于某个阈值则预测为其中一个, 而由于概率非负, 所以最便利的让 odds 非负的办法是写为 exp(β′X), 或者其他任何单调变化都可以. 最后两个概率之和为 1 天然成立.
周志华西瓜书上把动机说为用 sigmoid 逼近阶梯函数, 虽然 sigmoid 可以, 但并不必要.
为什么不用最小二乘?
不能用 OLS 但可以用别的最小二乘, 参考 Logistic 回归模型的参数估计为什么不能采用最小二乘法?. 下面讨论为什么 OLS 不行.
MLE 性质好 线性回归用的最小二乘估计恰好等价于极大似然估计: 在一般线性回归的 setting 下 (残差服从 Gauss 分布等假设), 可以证明 MLE (极大似然估计) 和 MSE (最小二乘估计) 等价; 而 MLE 有很多好性质 (在正则条件下), 比如相合性 (估计收敛到真实参数) 和渐近正态性等.
凸优化好求解 经典统计问题求解 MLE 都是凸优化, 这个问题也是: 负对数似然为
LMLE=n∑i=1[−yiβ′xi+log(1+eβ′xi)],其中 n 是样本数, yi 是第 i 个样本的标签 (0 或 1), xi=(xi,1,…,xi,p+1)′ 是第 i 个样本的特征 (列向量, 第一项为 1). 根据二阶导易知为凸.
普通最小二乘的损失函数
LOLS=12n∑i=1(yi−ˆyi)2,其中 ˆyi=σ(β′xi), σ 为 sigmoid 函数. 求导
∂LOLS∂βj=n∑i=1xij(ˆyi−yi)ˆyi(1−ˆyi)=−n∑i=1xij(ˆy3i−(1+yi)ˆy2i+yiˆyi),以及
∂2LOLS∂βj∂βk=−n∑i=1xijxikˆyi(1−ˆyi)(3ˆy2i−2(1+yi)ˆyi+yi).上式可写为矩阵形式
HOLS=−X′AX,其中 X=(xij) 是矩阵 (和上一节的定义不同), A 是对角阵. 根据 yi 取 0 或 1 分类讨论易知 A 不一定负定, 从而 HOLS 不一定正定, 也就是 OLS 的损失函数不一定为凸.
收敛速度快 对 OLS, 从上一段求出的梯度中有 ˆyi(1−ˆyi) (来自 sigmoid 函数求导), 比如若 yi=1, 但 ˆyi 接近 0, 此时梯度依然很平缓, 导致收敛速度慢.
对 MLE
∂LMLE∂βj=∑ixij(ˆyi−yi),收敛快.
另外 OLS 不便于推广到多分类.
References and further reading
- r - What is happening here, when I use squared loss in logistic regression setting? - Cross Validated
- why sum of squared errors for logistic regression not used and instead maximum likelihood estimation is used to fit the model? - Cross Validated
- 逻辑回归损失函数为什么使用最大似然估计而不用最小二乘法?
- machine learning - Intuition behind logistic regression - Cross Validated
Gitalking ...