逻辑回归从线性回归引申而来,对回归的结果进行logistic函数运算,将范围限制在[0,1]区间,并更改了损失函数.逻辑回归要求输入的标签数据是01分布(伯努利),其损失函数的定义方式,使得其可用于2分类问题(通过得到的概率值与阈值比较进行分类).而线性回归则是单纯的连续值回归.
logistic分布X具有logistic分布是指X具有以下分布和密度函数:
\[
\begin{align}
F(x)&=P(X\le x)={1\over 1+e^{-(x-\mu)/\gamma}} \\
f(x)&=F'(x)
\end{align}
\]
式子中,\(\mu\)是位置参数,\(\gamma>0\)是形状参数.logistic分布函数是一条S型曲线,密度类似正态分布的钟型曲线.
一个事件的几率是该事件发生的概率与不发生的概率的比值,对数几率(log odds)或logit函数是:\(logit(p)=\log {p\over 1-p}\).
逻辑回归模型为:
\[
P(Y=1|x)={e^{w\cdot x}\over 1+e^{w\cdot x}} \\
P(Y=0|x)={1\over 1+e^{w\cdot x}}
\]
因此逻辑回归的对数几率是:\(\log{P(Y=1|x)\over P(Y=0|x)}=w\cdot x\).
可以应用极大似然估计法估计模型参数:
设\(P(Y=1|x)=\pi(x),P(Y=0|x)=1-\pi(x)\)
似然函数为:
\[
\Pi_{i=1}^N[\pi(x_i)]^{y_i} [1-\pi(x_i)]^{1-y_i}
\]
对数似然函数为:
\[
\begin{align}
L(w)&=\log \Pi_{i=1}^N[\pi(x_i)]^{y_i} [1-\pi(x_i)]^{1-y_i} \\
&=\sum_{i=1}^N[y_i\log\pi(x_i)+(1-y_i)\log(1-\pi(x_i))]
\end{align}
\]
对L(w)求极大值,得到w的估计值.而我们实际中求-L(w)的极小值,即二值交叉熵损失(binary cross entropy).
二项逻辑回归的参数估计法可以推广到多项逻辑回归,即softmax.
假设类别\(y\in \{0,1,...,k\}\),每个类别统计的样本个数分别为\(n_1,n_2,\cdots,n_k\),且\(\sum_{i=1}^k n_i=n\).假设样本服从多项式分布且相互独立,那么有
\[
P(D|\theta)={n!\over n_1!\cdot n_2!\cdots n_k!}\Pi_{i=1}^Nf(x_i,\theta)^{y_i}
\]
取对数得:
\[
\log P(D|\theta)=\log n!-\log n_1!\cdot n_2!\cdots n_k!+\sum_{i=1}^n y_i\log f(x_i,\theta)
\]
前边的log项与参数\(\theta\)无关,因此只需要最小化:
\[ -\sum_{i=1}^ny_i\log f(x_i,\theta) \]
逻辑回归-损失函数如果用平方误差(MSE)作为逻辑回归的损失函数,那么函数曲线将是跳跃式的,非凸的(non-convex),原因是logistic函数将数据范围限制在[0,1]区间,而真实标签值非0即1.最小化 MSE 损失容易陷入局部极小点.逻辑回归损失是如下的分情况的凸函数(单个x与y的损失):
\[
\text{Cost}(h_\theta(x),y)=\begin{cases}
-\log(h_\theta(x)) && \text{, $y=1$} \\
-\log(1-h_\theta(x)) && \text{, $y=0$}
\end{cases}
\]
符合直觉和逻辑.累计损失函数可以转化为如下(同时加上了正则项):
\[
J(\theta)=[-{1\over m}\sum_{i=1}^m\big(y^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))\big)]+{\lambda \over 2m}\sum_{j=1}^n\theta_j^2
\]
其中参数 \(\theta\) 同线性回归一样,但经过sigmoid函数得到输出:\(h_{\theta}(x)=g(\theta^{T}x)\)
\[
g(z)={1\over 1+e^{-z}} \tag{sigmoid}
\]
损失对\(\theta\)的偏导数为
\[
\frac{\partial}{\partial\theta_{j}}J(\theta) ={1\over m}\sum_{i=1}^{m}(h_\theta(x^{i})-y^i)x_j^i
\]
与线性回归的偏导数相同,参考公式推导.
模型的优势逻辑回归相比其它更复杂的模型的优势:
LR能以概率的形式输出结果,而非只是0,1判定,如SVM难以用概率表示;
LR的可解释性强,可控度高;
训练快,feature engineering之后效果好;
因为结果是概率,可以做ranking model;
添加feature很简单。
在现实中很多推荐系统都是拿LR做基础版本的,其作用不容小觑.