逻辑回归
之前在线性回归的章节中,我们了解了线性回归的原理就是把点落在一条直线上,而在逻辑回归的部分则是希望能够把点落在一条曲线上,这是广义的线性回归,然后我们再用一个阈值来将那些点分开而达到分类的效果。
而在最大熵原理的指导下,我们知道了那条曲线应该是一个什么样子的。
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)=1−P(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,那么它的几率就是 p1−p ,如果将几率对数化:logit(p)=log(p/1-p)
在LR中,如果只关注y=1的概率时,输出y=1的对数几率就是输入x的线性函数:
logP(Y=1|X)1−P(Y=1|X)=wx
LR的参数估计
根据上面的推导,可以设: {P(Y=1|X)=h(x) P(Y=0|X)=1−h(x)
我们可以用极大似然估计来求解模型的参数
*之前在最大熵模型的章节中就证明过
似然函数为: ∏i=1N[h(xi)yi][1−h(xi)1−yi]
对数化后为:
∑i=1N[yilog h(xi)+(1−yi)log(1−h(xi))]
→
∑i=1N[yilogh(xi)1−h(xi)+log(1−h(xi))]
→
∑i=1N[yi(wxi)+log(1+exp(wxi))]
然后用梯度下降或者牛顿法来继续求解。