逻辑斯谛回归与最大熵模型logistic regression/maximum entropy model

本文是《统计学习方法》李航著学习笔记。
为了叙述方便,将logistic regression mode简称LR,maximum entropy mode简称ME。LR和ME都是判别模型,即将预测实例点分配到“条件概率分布”最大的类中。下述讨论会着重于LR模型和ME模型的学习过程。
逻辑斯谛函数

l(x)=11+e(xμ)/γμγ>0

逻辑斯谛分布
X是连续型随机变量,如XF(x),其中F(x)是形如上述l(x)的逻辑斯谛函数,则称X服从逻辑斯谛分布,此时,随机变量X
F(x)=P(Xx)=11+e(xμ)/γ

f(x)=F(x)=e(xμ)/γγ(1+e(xμ)/γ)2

逻辑斯谛回归与最大熵模型logistic regression/maximum entropy model
将上述分布函数变形,并记1γ=w^μγ=b,则得类似于二类分类问题的logistic模型函数:
F(x)=P(Xx)=e1γxμγ1+e1γxμγ=exp(w^x+b)1+exp(w^x+b)

极大似然估计
参考http://blog.csdn.net/cymy001/article/details/78016109

LR模型:

二项LR模型的条件概率分布:

P(Y=1|x)=exp(w^x+b)1+exp(w^x+b)P(Y=0|x)=11+exp(w^x+b)

上述x=(x(1),x(2),,x(n))TRn为训练数据的输入,Y{0,1}为训练数据的输出,w^RnbR是需要用训练数据集学习的模型参数。
w=(w^T,b)Tx=(x(1),x(2),,x(n),1),二项LR模型的条件概率分布进一步化简:
P(Y=1|x)=exp(wx)1+exp(wx)P(Y=0|x)=11+exp(wx)

则对于给定的训练数据集T=(x1,y1),(x2,y2),,(xN,yN),其中xiRn,yi{0,1},每个样本点(xi,yi)的概率分布为
P(Y=1|xi)yiP(Y=0|xi)1yi

训练数据集T中的样本点联合概率分布为
i=1NP(Y=1|xi)yiP(Y=0|xi)1yi

上式也就是LR模型参数的似然函数,取对数得对数似然函数
L(w)=i=1N[yilogP(Y=1|xi)+(1yi)logP(Y=0|xi)]=i=1N[yi(wxi)log(1+exp(wxi))]

采用极大似然估计求LR模型参数w,就是对L(w)求极大值,即无约束最优化问题。可以通过梯度下降法、牛顿法等求w=argmaxwL(w),将w带回P(Y=1|x),P(Y=0|x)即是训练数据集T学习到的LR模型。

事件的几率

==1

=log()

对于二项LR模型,“输出Y=1”这一事件发生的对数几率
log(P(Y=1|x)1P(Y=1|x))=wx

是关于输入x的线性函数,这也是LR回归模型的名字由来。

多项LR模型
输出随机变量Y的取值范围是{1,2,,K},对应的LR模型是

P(Y=k|x)=exp(wkx)1+k=1K1exp(wkx),k=1,2,,K1

P(Y=K|x)=11+k=1K1exp(wkx)

其中xwkRn+1

—————————————————————————

最大熵原理
学习概率模型时,在所有可能的概率分布模型中,熵最大的模型是最好的。在满足约束条件的模型集合中,选择熵最大的模型。熵的最大化表示等可能性。

模型获取训练数据集信息
1.)给定训练数据集T,联合分布P(X,Y)的经验分布P˜(X,Y),边缘分布P(X)的经验分布P˜(X)依次为:

P˜(X=x,Y=y)=ν(X=x,Y=y)|T|,P˜(X=x)=ν(X=x)|T|

其中ν(X=x,Y=y)表示训练数据集中样本(x,y)出现的频数,ν(X=x)表示训练数据集中样本输入x出现的频次,|T|表示训练数据集样本容量。
2.)定义特征函数f(x,y)满足:
f(x,y)={1,0,xy

soso,若“特征函数f(x,y)关于经验分布P˜(X,Y)的期望”:

EP˜(f)=x,yP˜(x,y)f(x,y)

与“特征函数f(x,y)关于学习到的条件概率分布模型P(Y|X)和经验分布P˜(X)的期望”:
EP(f)=x,yP˜(x)P(y|x)f(x,y)

相等,则表示“模型能够获取训练数据集的信息”,即EP˜(f)=EP(f)

ME模型:

ME模型就是“满足EP˜(f)=EP(f)条件,并且使条件熵

H(P)=x,yP˜(x)P(y|x)logP(y|x)

最大的条件概率分布P(Y|X)模型”。如下优化问题:
maxPCH(P)=x,yP˜(x)P(y|x)logP(y|x)s.t.EP(fi)=EP˜(f),yP(y|x)=1i=1,2,,n.

将上述优化问题转化成极小化minPCH(P),再有Lagrange乘子法,可得Lagrange函数L(P,w)
L(P,w)=H(P)+w0(1yP(y|x))+i=1n(EP˜(f)EP(fi))

则上述优化问题可转化为无约束优化问题:
minPCmaxwL(P,w)

由于L(P,w)P的凸函数,进一步,优化问题可以转化成对偶问题:
maxwminPCL(P,w)

a.)先求minPCL(P,w)得关于w的条件概率分布Pw(y|x)
L(P,w)P(y|x)=0P˜(x)=0yP(y|x)=1Pw(y|x)=1Zw(x)exp(i=1nwifi(x,y))Zw(x)=yexp(i=1nwifi(x,y))

上式Pw(y|x)即为最大熵模型,记
Φ(w)=minPCL(P,w)=L(Pw,w)=x,yP˜(x,y)i=1nwifi(x,y)xP˜(x)logZw(x)

Φ(w)为“对偶函数”,此时优化目标可转化为
maxwΦ(w)

b.)到此为止,就可以采用改进的迭代尺度法或者拟牛顿法求解“Φ(w)关于w的极大值问题”了。
改进的迭代尺度法:
假设最大熵模型的当前参数向量w=(w1,w2,,wn)T,希望找到一个新的参数向量w+δ=(w1+δ1,w2+δ2,,wn+δn),使模型的对偶函数值Φ(w+δ)>Φ(w)
Φ(w+δ)Φ(w)=x,yP˜(x,y)i=1nδifi(x,y)xP˜(x)logZw+δ(x)Zw(x)x,yP˜(x,y)i=1nδifi(x,y)+1xP˜(x)yPw(y|x)exp(i=1nδifi(x,y))A(δ|w)

由于指数项exp(ni=1δifi(x,y))关于δi求导时无法分离δj,ji,所以利用Jensen不等式进一步降低下限,记f(x,y)=ifi(x,y)为所有特征在(x,y)出现的次数,于是有:
A(δ|w)=x,yP˜(x,y)i=1nδifi(x,y)+1xP˜(x)yPw(y|x)exp(f(x,y)i=1nδifi(x,y)f(x,y))x,yP˜(x,y)i=1nδifi(x,y)+1xP˜(x)yPw(y|x)i=1nfi(x,y)f(x,y)exp(δif(x,y))B(δ|w)

由上式可见B(δ|w)关于δi求导可分离其余δj,ji,则由B(δ|w)δi=0得:
x,yP˜(x,y)fi(x,y)=x,yP˜(x)Pw(y|x)fi(x,y)exp(δif(x,y))

由此式求解δi即可,这是一个一元函数求零点问题,当解析解不易求解时,可通过牛顿法、二分法等求解。

拟牛顿法BFGS算法:

minwRnΦ(w)=maxwRnΦ(w)

不同于改进的迭代尺度法,拟牛顿法直接处理的是多元函数的优化问题,记g(w)=Φ(w),则由拟牛顿条件Bkpk=gk更新参数wk每一步的迭代方向;由一维精确或不精确线性搜索方法进行步长搜索更新f(w(k)+λkpk)=minλ0f(w(k)+λkpk);由BFGS公式对类Hessian矩阵进行更新。

ME模型生成算法的问题转化

(1.)学习概率模型时,在满足已有事实条件下,不确定部分按照“等可能”处理,转化成“最大熵原理”
(2.)“最大熵模型”也就是“在满足约束的条件下,使条件熵最大的条件概率分布模型”,这是一个含等式约束的优化问题,通过Lagrange乘子法求解,进而转化成“对偶问题”,可以先求出“含参数的最大熵条件概率分布模型”
(3.)对“含参数的最大熵条件概率分布模型”确定的“对偶函数”关于参数求极大值。A.)一种方法,可以通过“改进的迭代尺度法”求迭代参数序列,使“对偶函数”递增。以降低“对偶函数”增加幅度为代价,将“多变量参数优化”通过Jensen不等式转化成“单变量参数优化”问题。B.)另一种方法,可以直接利用拟牛顿法的BFGS等算法对“对偶函数”关于参数求极值

最后,由于“最大熵模型P(y|x)关于训练数据集T的联合概率分布的对数似然函数” “对偶函数”,所以“对偶函数的极大化”“最大熵模型的极大似然估计”: