逻辑回归(logistic regression)

逻辑回归从线性回归引申而来,对回归的结果进行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做基础版本的,其作用不容小觑.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydyws.html