Logistic回归与最大熵模型

Logistic回归

Logistic回归经常与最大熵模型联系在一起。
我们先从较为简单的二项Logitc回归
定义P(Y=1|x)=p为事件发生的概率
P(Y=0|x)=1-p为不发生的概率
一个事件的几率为该事件发生的概率与不发生的概率的比值,即 11p ,其对数几率为log p1p
我们假设有k个影响p的因素  x1,x2...xk
而p的对数几率是输入x的线性函数,即

logit(p)=wx=w0+w1x1+...+wkxk......(1)
这里 w0 可以看作是偏置
w 为回归参数,表示相应变量的重要性,所以我们可以用p的对数几率来表示p,即

p=p1p1+p1p=exp(wx1+exp(wx)......(2)

下面就是对模型参数的估计了,应用极大似然估计对参数模型进行估计,即使其成为概率最大模型
设对于输入输出 P(Y=1|x)=π(x),P(Y=0|x)=1π(x)
可得其对数似然函数为

L(w)=i=1N[yilogπ(xi)+(1yi)log(1π(xi))]

=Ni=1[yi(wxi)log(1+exp(wxi))].....(3)

对L(w)求极大值得到w的估计值,这样问题就转变成了以对数似然函数为目标的最优化问题。而多项Logistic回归就是Y可以等于1到k

pk=pk1pk1+K1k=1pk1pk=exp(wkx)1+K1k=1exp(wkx)..(4)

最大熵模型

最大熵模型是概率模型学习的一个准则,可以表述为,在满足约束条件的模型集合中选取熵最大的模型,即已有的约束条件下给出的是一个模型的集合,该集合中有很多满足条件的模型,利用最大熵模型从中选取最好的。
而最大熵原理就是“保留全部的不确定性,讲风险降到最小”,“预测应满足全部已知条件,而对未知情况不做任何主管假设”,并且“对于任何一组不自相矛盾的信息,这个最大熵模型不仅存在,而且唯一”。(引自《数学之美》)

对于最大熵模型,设x为输入,y为输出,设其特征函数 f(x,y) 描述x 与y之间的某种关系。并且,给定数据集我们可以得到“观测值” P^(X,Y)andP^(X)
Ep^(f)=x,yP^(x,y)f(x,y) 为特征函数 f(x,y) 关于经验分布 P^(X,Y) 的期望值
Ep(f)=x,yP^(x)P(y|x)f(x,y) 为特征函数 f(x,y) 关于 模型 P(Y|X) 与经验分布 P^(x) 的期望值。
如果模型能够获取训练数据中的信息,即能找到x 与 y的关系,那么可以假设

Ep^(f)=Ep(f).......(5)

由该条件我们可以获得 一个关于P的模型集合,所以我们可以得到在这个集合上的条件分布 P(Y|X) 的条件熵:
H(P)=x,yP^(x)P(y|x)logP(y|x).....(6)

因此,我们现在所要做的是,求条件约束下H(P)的极大值,即
minPCH(P)=x,yP^(x)P(y|x)logP(y|x)...(7)
s.t.Ep^(f)Ep(f)=0
yP(y|x)=1

yP(y|x)=P(y1|x)+P(y2|x)+...+P(yk|x)

比如,就两项时 p1+p2=1 其中 p2=1p1 ,其中 p1=P(y=1|x),p2=P(y=0|x)

到这里,就可以用拉格朗日乘子转换为无约束最优化的对偶问题,具体原理可参见博客里《拉格朗日乘子法》,这里的约束条件都是等式,所以相对没那么麻烦。

引进拉格朗日乘子 w0,w1...wn ,得到拉格朗日函数为 L(P,w)

L(P,w)=x,yP^(x)P(y|x)logP(y|x)+wo(1yP(y|x))+i=1nwi(x,yP^(x,y)f(x,y)x,yP^(x)P(y|x)f(x,y))....(8)

原始极小极大化问题为 minPcmaxwL(P,w)
其对偶问题极大极小化问题为 maxwminPCL(P,w)
首先解决极小化问题,即 Ω(w)=minPCL(P,w)=L(Pw,w) ,其为 w 函数
Pw=argminPCL(P,w)=Pw(y|x)
对其求 P(y|x) 的偏导

L(P,w)P(y|x)=x,yP^(x)(logP(y|x)+1w0i=1nfi(x,y)........(9)

领偏导数为0,则在 P^(x)>0 的情况下
P(y|x)=exp(sumni=1wifi(x,y)+wo1)=exp(ni=1wifi(x,y))exp(1w0)..(10)
因为
yP(y|x)=yexp(ni=1wifi(x,y))exp(1w0)=1.....(11)

所以
exp(1w0)=yexp(i=1nwifi(x,y))=Zw(x)..(12)

得到最大熵模型为

Pw(y|x)=1Zw(x)exp(i=1nwifi(x,y))........(13)

得到带参数 w 的最大熵模型后,需要求救极大化问题,即

w=argmaxPw(y|x)

而最大熵模型与Logistic模型具有类似的形式
比较公式(4)和公式(13)

pk=pk1pk1+K1k=1pk1pk=exp(wkx)1+K1k=1exp(wkx)..(4)

=exp(Kk=1wKxk)Kk=1exp(Kk=1wKxk)

因此对于最大熵模型与Logistic模型可以使用同样的方法来优化。

至于优化方法,有GIS(Generalized Iterative Scaling)、IIS(Improved Iterative Scaling)、拟牛顿法等方法。恩..这些方法都比较复杂,在我看来=。=如果之后看懂了一下我还会记录下来,以防看了又忘。
哈哈 还有就是,以前一直以为这个编辑器有多难,其实还是蛮好用的。

你可能感兴趣的:(算法)