逻辑回归通式定义如下:

{p(zi)=11+ezizi=θTxi

要想理解逻辑回归,我们需要看一下函数p的图像,如下图:


逻辑回归 — Logistic Regression

由图可知,在zR的定义域中,函数pz映射到(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)1p(x;θ)。我们可以用一个式子表示如上两种情况:

Pr(Y=yi|X=xi)=p(xi;θ)yi(1p(xi;θ))1yi

从现在开始,我们应该对逻辑回归有了初步的认识。逻辑回归是一个分类算法,而非回归算法。本文主要分析其在二分类问题中的应用。逻辑回归以概率的方式来对数据进行分类。例如,设置阈值为0.5,如果Pr(Y=1|X=xi)0.5,则将数据xi标记为类1,否则将其标记为类0p(xi;θ)=0.5其实就是一个超平面,平面之上的点组成yi=1的集合,平面之下的点组成yi=0的集合。总结一下我们的问题:已知xiyi,求函数p(xi;θ)中的θ的取值。

首先,我先给出此问题的似然函数:

i=1mPr(Y=yi|X=xi)

为了理解这个最大似然估计函数,我们考虑一个简单的、却类似的问题。假设一个袋子里有若干颗白球和黑球,在10次有放回的抽取中,我抽到了8次黑球,2次白球。如何求袋子中黑白球的比例呢?我们可以利用最大似然估计:假设我抽取到黑球的概率为p,那么我这次抽取得到8次黑球、2次白球的概率为:
P=p8(1p)2

我们用使这次抽取结果发生的概率P最大化的p̂ 值去近似替代实际的p值。

同样的道理,回到逻辑回归的问题中。我们要目前已知的标签集合Y发生的概率最大化,求该情况下的θ的取值。因此:

L(θ)=i=1mPr(Y=yi|X=xi)=i=1mp(xi;θ)yi(1p(xi;θ))1yi

对数似然函数为:
l(θ)=log(L(θ))=i=1mlog[p(xi;θ)yi(1p(xi;θ))1yi]=i=1m[yilogp(xi)+(1yi)log(1p(xi))]=i=1m[log(1p(xi))+yi(logp(xi)log(1p(xi)))]=i=1m[log(1p(xi))+yilogp(xi)1p(xi)]=i=1m[log(111+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=1mlog(eθTxi+1)+i=1myiθTxi

l(θ)θj的偏导数:

l(θ)θj=θj[i=1mlog(eθTxi+1)+i=1myiθTxi]=i=1meθTxixji1+eθTxi+i=1myixji=i=1m[yieθTxi1+eθTxi]xji=i=1m[yi11+eθTxi]xji=i=1m[yip(xi;θ)]xji

最后,通过梯度上升求l(θ)最大化时θ的近似解:
θj:=θj+αl(θ)θj

将上式写成向量形式,即:θ=θ+αl(θ)

相关文章: