逻辑回归通式定义如下:
{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(θ)
。