逻辑回归通式定义如下:
{p(zi)=11+e−zizi=θTxi
要想理解逻辑回归,我们需要看一下函数p的图像,如下图:
由图可知,在z∈R的定义域中,函数p将z映射到(0,1)的值域中,其中z=0时,p(z)=0.5。一种常见的对这个图的解释是p(xi;θ)=11+e−θTxi是事件xi发生的概率。
事件xi发生与否其实也就是一个二分类问题。我们可以用标签yi=1表示事件xi发生,标签yi=0表示事件xi不发生。用函数p(x;θ)表示事件x发生的概率Pr(Y=1|X=x)。因此,事件x不发生的概率Pr(Y=0|X=x)为1−p(x;θ)。我们可以用一个式子表示如上两种情况:
Pr(Y=yi|X=xi)=p(xi;θ)yi(1−p(xi;θ))1−yi
从现在开始,我们应该对逻辑回归有了初步的认识。逻辑回归是一个分类算法,而非回归算法。本文主要分析其在二分类问题中的应用。逻辑回归以概率的方式来对数据进行分类。例如,设置阈值为0.5,如果Pr(Y=1|X=xi)≥0.5,则将数据xi标记为类1,否则将其标记为类0。p(xi;θ)=0.5其实就是一个超平面,平面之上的点组成yi=1的集合,平面之下的点组成yi=0的集合。总结一下我们的问题:已知xi和yi,求函数p(xi;θ)中的θ的取值。
首先,我先给出此问题的似然函数:
∏i=1mPr(Y=yi|X=xi)
为了理解这个最大似然估计函数,我们考虑一个简单的、却类似的问题。假设一个袋子里有若干颗白球和黑球,在10次有放回的抽取中,我抽到了8次黑球,2次白球。如何求袋子中黑白球的比例呢?我们可以利用最大似然估计:假设我抽取到黑球的概率为p,那么我这次抽取得到8次黑球、2次白球的概率为:
P=p8∗(1−p)2
我们用使这次抽取结果发生的概率P最大化的p̂ 值去近似替代实际的p值。
同样的道理,回到逻辑回归的问题中。我们要目前已知的标签集合Y发生的概率最大化,求该情况下的θ的取值。因此:
L(θ)=∏i=1mPr(Y=yi|X=xi)=∏i=1mp(xi;θ)yi(1−p(xi;θ))1−yi
对数似然函数为:
l(θ)=log(L(θ))=∑i=1mlog[p(xi;θ)yi(1−p(xi;θ))1−yi]=∑i=1m[yilogp(xi)+(1−yi)log(1−p(xi))]=∑i=1m[log(1−p(xi))+yi(logp(xi)−log(1−p(xi)))]=∑i=1m[log(1−p(xi))+yilogp(xi)1−p(xi)]=∑i=1m[log(1−11+e−θTxi)+yilog(1+e−θTxi)−11−(1+e−θTxi)−1]=∑i=1m[loge−θTxi1+e−θTxi+yilog1(1+e−θTxi)−1]=∑i=1m[log1eθTxi+1+yilogeθTxi]=∑i=1m−log(eθTxi+1)+∑i=1myiθTxi
求l(θ)对θj的偏导数:
∂l(θ)∂θj=∂θj[∑i=1m−log(eθTxi+1)+∑i=1myiθTxi]=∑i=1m−eθTxixji1+eθTxi+∑i=1myixji=∑i=1m[yi−eθTxi1+eθTxi]xji=∑i=1m[yi−11+e−θTxi]xji=∑i=1m[yi−p(xi;θ)]xji
最后,通过梯度上升求l(θ)最大化时θ的近似解:
θj:=θj+α∂l(θ)∂θj
将上式写成向量形式,即:θ=θ+α▽l(θ)。