机器学习-Logistic Regression

时间:2021-08-30 20:21:56

逻辑斯蒂回归是统计学习中的经典分类方法。
逻辑回归可以分为二项逻辑回归和多项逻辑回归。我们主要讲解二项逻辑回归。
假设输入 xRn,Y{0,1} , 则二项逻辑回归可以表示为

P(Y=1|x)=exp(wx+b)1+exp(wx+b)

P(Y=0|x)=11+exp(wx+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 , 则有 wx+b=wTx
上式可以重写为
P(Y=1|x)=exp(wTx)1+exp(wTx)

P(Y=0|x)=11+exp(wTx)

现在考察逻辑回归模型的特点。一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。如果时间发生的概率为p,那么该事件的几率是 p1p ,该事件的对数几率或logit函数是

logit(p)=logp1p

对逻辑回归而言,其对数几率为
lnP(Y=1|x)P(Y=0|x)=wx=wTx

这就是说,输出 Y=1 的对数几率是输入 x 的线性函数。

给定数据集 T=(x1,y1),(x2,y2),,(xm,ym) , 我们讨论其极大似然函数。
首先, 记 P(Y=1|x)=hw(x),P(Y=0|x)=1hw(x)
对于单点的0-1分布,其概率分布为 (hw(xi))yi(1hw(xi))1yi , 则其似然函数为

L(w)=i=1m(hw(xi))yi(1hw(xi))1yi

其对数似然函数为
lnL(w)=i=1m[yilnhw(xi)+(1yi)ln(1hw(xi))]=i=1m[yilnhw(xi)1hw(xi)+ln(1hw(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(1hw(xi))1yi ,对数损失为

L(Y,P(Y|X))=(yilnhw(xi)+(1yi)ln(1hw(xi))

给定数据集 T=(x1,y1),(x2,y2),,(xm,ym) ,其经验风险函数为
Remp=1mi=1m(yilnhw(xi)+(1yi)ln(1hw(xi))=1mi=1m[yilnhw(xi)1hw(xi)+ln(1hw(xi))]=1mi=1m[yi(wTx)ln(1+exp(wTx))]

比较经验风险函数和对数似然函数可以发现,两者只是一个常系数和符号不同。所以极大化似然函数,就是极小化经验风险函数。

接下来求梯度下降法的迭代公式。
迭代的一般公式为 wt+1=wtαJ(w)w ,其中 α 为学习步长。
J(w)=1mi=1m(yilnhw(xi)+(1yi)ln(1hw(xi))
首先,讨论一下sigmoid函数的倒数。假设 f(z)=11+exp(z) , 则

f(z)z=ez(1+ez)2=ez1+ez11+ez=f(z)(1f(z))

z=wTx , 则有
f(x)w=f(x)(1f(x))zw=f(x)(1f(x))wTxw=f(x)(1f(x))x

f(x)w 是一个列向量, f(x)w=(f(x)w1,f(x)w2,,f(x)wn)T

J(w)w 如下

J(w)w=1mi=1m(yihw(xi)hw(xi)w(1yi)1hw(xi)hw(xi)w)=1mi=1m(yihw(xi)(1yi)1hw(xi))hw(xi)w=1mi=1m(yihw(xi)(1yi)1hw(xi))hw(xi)(1hw(xi))xi=1mi=1m(yi(1hw(xi))(1yi)hw(xi))xi=1mi=1m(yihw(xi)])xi=1mi=1m(hw(xi)yi)xi

所以,迭代公式为

wt+1=wtα1mi=1m(hw(xi)yi)xi