逻辑回归原理

来源:互联网 发布:mac sudo chown r 编辑:程序博客网 时间:2024/06/06 09:04

逻辑回归

之前在线性回归的章节中,我们了解了线性回归的原理就是把点落在一条直线上,而在逻辑回归的部分则是希望能够把点落在一条曲线上,这是广义的线性回归,然后我们再用一个阈值来将那些点分开而达到分类的效果。

而在最大熵原理的指导下,我们知道了那条曲线应该是一个什么样子的。


LR和最大熵模型

首先,回顾我们之前推导出的最大熵模型为:exp(i=1nwifi(x,y))y exp(i=1nwifi(x,y))

在二分类的逻辑回归模型中,y的取值假定有两种 y0,y1,那么对应到特征函数 fi(x,y) 上,我们可以设定:f(x,y)={h(x),  y=y10,  y=y0,也就是说,我们定义特征函数只有在y=y1的时候抽取特征。

y=y1时:

P(y1|x)=exp(i=1nwifi(x,y1))exp(i=1nwifi(x,y1))+exp(i=1nwifi(x,y0))

P(y1|x)=exp(w h(x))exp(w h(x))+exp(w 0)

P(y1|x)=exp(w h(x))exp(w h(x))+1

y=y0时:

P(y0|x)=exp(i=1nwifi(x,y0))exp(i=1nwifi(x,y1))+exp(i=1nwifi(x,y0))

P(y0|x)=exp(w 0)exp(w h(x))+exp(w 0)

P(y0|x)=1exp(w h(x))+1

综合起来:

P(y0|x)=1P(y1|x)

具体结合二分类的逻辑回归模型来说,在LR中,条件概率由P(Y|X)表示,X的取值范围是所有实数,而Y的取值范围只有两个,这里为了数学上的计算方便一点,把这两个定位1和0,也就是说在上面的式子中,令 y1=1,y0=0,此时LR的条件概率分布为:

{P(Y=1|X)=exp(h(x))1+exp(h(x)) P(Y=0|X)=11+exp(h(x))


LR和对数几率

我们既然知道了LR的条件概率分布,也就知道了对于一个给定的x,可以求出被分类成1和0的概率值,通过将x分类到概率值比较大的那一类就可以完成对于x的分类过程。

一件事件的几率(odds)是指该事件发生的概率与不发生的概率的比值。也就是说,如果一个事件发生的概率是p,那么不发生的概率自然是1-p,那么它的几率就是 p1p ,如果将几率对数化:logit(p)=log(p/1-p)

在LR中,如果只关注y=1的概率时,输出y=1的对数几率就是输入x的线性函数:

logP(Y=1|X)1P(Y=1|X)=wx


LR的参数估计

根据上面的推导,可以设:{P(Y=1|X)=h(x) P(Y=0|X)=1h(x)

我们可以用极大似然估计来求解模型的参数

*之前在最大熵模型的章节中就证明过

似然函数为:i=1N[h(xi)yi][1h(xi)1yi]

对数化后为:

i=1N[yilog h(xi)+(1yi)log(1h(xi))]

i=1N[yilogh(xi)1h(xi)+log(1h(xi))]

i=1N[yi(wxi)+log(1+exp(wxi))]

然后用梯度下降或者牛顿法来继续求解。

原创粉丝点击