逻辑斯蒂回归是统计学习中的经典分类方法。
逻辑回归可以分为二项逻辑回归和多项逻辑回归。我们主要讲解二项逻辑回归。
假设输入
x∈Rn,Y∈{0,1}
, 则二项逻辑回归可以表示为
P(Y=1|x)=exp(w⋅x+b)1+exp(w⋅x+b)
P(Y=0|x)=11+exp(w⋅x+b)
其中,
w=(w(1),w(2),⋯,w(n))T
, b 为偏置。
为了讨论的方便,我们将权值向量和输入向量加以扩充
w=(w;b)=(w(1),w(2),⋯,w(n),b)T
,
x=(x;1)=(x(1),x(2),⋯,x(n),1)T
, 则有
w⋅x+b=wTx
上式可以重写为
P(Y=1|x)=exp(wTx)1+exp(wTx)
P(Y=0|x)=11+exp(wTx)
现在考察逻辑回归模型的特点。一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。如果时间发生的概率为p,那么该事件的几率是
p1−p
,该事件的对数几率或logit函数是
logit(p)=logp1−p
对逻辑回归而言,其对数几率为
lnP(Y=1|x)P(Y=0|x)=w⋅x=wTx
这就是说,输出
Y=1
的对数几率是输入
x
的线性函数。
给定数据集
T=(x1,y1),(x2,y2),⋯,(xm,ym)
, 我们讨论其极大似然函数。
首先, 记
P(Y=1|x)=hw(x),P(Y=0|x)=1−hw(x)
对于单点的0-1分布,其概率分布为
(hw(xi))yi(1−hw(xi))1−yi
, 则其似然函数为
L(w)=∏i=1m(hw(xi))yi(1−hw(xi))1−yi
其对数似然函数为
lnL(w)=∑i=1m[yilnhw(xi)+(1−yi)ln(1−hw(xi))]=∑i=1m[yilnhw(xi)1−hw(xi)+ln(1−hw(xi))]=∑i=1m[yi(wTx)−ln(1+exp(wTx))]
对
lnL(w)
求极大值,得到
w
的估计值。
接下来,我们从损失函数的角度考虑逻辑回归。
逻辑回归的损失函数为对数损失函数
L(Y,P(Y|X))=−logP(Y|X)
,其中,
P(Y|X)
是在X的条件下,Y的分布函数。
单点
(xi,yi)
的
P(Y=yi|X=xi)=(hw(xi))yi(1−hw(xi))1−yi
,对数损失为
L(Y,P(Y|X))=−(yilnhw(xi)+(1−yi)ln(1−hw(xi))
给定数据集
T=(x1,y1),(x2,y2),⋯,(xm,ym)
,其经验风险函数为
Remp=−1m∑i=1m(yilnhw(xi)+(1−yi)ln(1−hw(xi))=−1m∑i=1m[yilnhw(xi)1−hw(xi)+ln(1−hw(xi))]=−1m∑i=1m[yi(wTx)−ln(1+exp(wTx))]
比较经验风险函数和对数似然函数可以发现,两者只是一个常系数和符号不同。所以极大化似然函数,就是极小化经验风险函数。
接下来求梯度下降法的迭代公式。
迭代的一般公式为
wt+1=wt−α∂J(w)∂w
,其中
α
为学习步长。
令
J(w)=−1m∑i=1m(yilnhw(xi)+(1−yi)ln(1−hw(xi))
首先,讨论一下sigmoid函数的倒数。假设
f(z)=11+exp(−z)
, 则
∂f(z)∂z=ez(1+ez)2=ez1+ez11+ez=f(z)(1−f(z))
令
z=wTx
, 则有
∂f(x)∂w=f(x)(1−f(x))∂z∂w=f(x)(1−f(x))∂wTx∂w=f(x)(1−f(x))x
∂f(x)∂w
是一个列向量,
∂f(x)∂w=(∂f(x)∂w1,∂f(x)∂w2,⋯,∂f(x)∂wn)T
则
∂J(w)∂w
如下
∂J(w)∂w=−1m∑i=1m(yihw(xi)∂hw(xi)∂w−(1−yi)1−hw(xi)∂hw(xi)∂w)=−1m∑i=1m(yihw(xi)−(1−yi)1−hw(xi))∂hw(xi)∂w=−1m∑i=1m(yihw(xi)−(1−yi)1−hw(xi))hw(xi)(1−hw(xi))xi=−1m∑i=1m(yi(1−hw(xi))−(1−yi)hw(xi))xi=−1m∑i=1m(yi−hw(xi)])xi=1m∑i=1m(hw(xi)−yi)xi
所以,迭代公式为
wt+1=wt−α1m∑i=1m(hw(xi)−yi)xi
。