最大熵模型
最大熵模型由最大熵原理推导而来。最大熵原理是概率模型的学习的一个准则,最大熵原理认为,学习概率模型时,在所有概率模型中,熵最大的模型时最好的模型,通常利用约束条件来确定概率模型的集合。所以,最大熵原理也可表述为在满足约束条件的模型集合中选取熵最大的模型。
最大熵原理
假设离散随机变量
X
的概率分布是
H(P)=−∑xP(x)logP(x)
且满足不等式:
0≤H(P)≤log|X|
,其中等号当且仅当随机变量服从随机分布时右边的等号成立。直观地将,最大熵原理认为要选择的概率模型首先必须满足已有的事实,即在约束条件下,没有更多的额外条件前,哪些不确定的部分是“等可能的”。最大熵原理是通过熵的最大化来表示等可能性。
最大熵模型
给定一个训练集
D={(x1,y1),(x2,y2),⋯,(xm.ym)}
,假设分类模型是一个概率分布
P(Y|X)
;
X
表示输入,属于输入空间;
假设数据集
D
的联合分布
P~(X=x,Y=y)=∑mi=1I{xi=x,yi=y}mP~(X=x)=∑mi=1I{xi=x}m
定义特征函数 f(x,y) 表征输入和输出之间的某种的关系:
f(x,y)={1,x,y满足某种关系0,x,y不满足某种关系
那么特征函数 f(x,y) 关于经验分布 P~(X,Y) 的期望 EP~(f) 为:
EP~(f)=∑x,yP~(x,y)f(x,y)
特征函数 f(x,y) 关于模型 P(Y∣X) 边缘经验分布 P~(X) 的期望 EP(f) 为:
EP(f) 为:
EP(f)=∑x,yP~(x)P(y∣x)f(x,y)
如果模型能够获取训练中的信息,那么就可以假设上述两个期望是相等的,即:
EP(f)=EP~(f)
这就是模型学习的约束条件。如果存在多个这样的特征函数,那么就能得到多个约束条件。
定义(最大熵模型) 假设满足所有条件的模型集合为:
C={P∈P∣EP(fi)=EP~(fi),i=1,2,⋯,n}
定义在条件概率 P(Y∣X) 的条件熵为:
H(P)=−∑x,yP~(x)P(x,y)logP(y∣x)
则模型集合
C
中条件熵
H(P)
最大的模型称为最大熵模型。
最大熵模型的学习策略
最大熵模型的求解问题可以转化为带约束的最优化问题,表述为:
maxH(P)=−∑x,yP~(x)P(x,y)logP(y∣x)⇒min−H(P)s.t.⎧⎩⎨⎪⎪EP(fi)=EP~(fi),i=1,2,⋯,n∑yP(y∣x)=1
对于带约束的最优化问题,最先想到Lagrange乘子法,构建拉格朗日函数.
L(P,w)=−H(P)+w0(1−∑yP(y∣x))+∑i=1nwi(EP~(fi)−EP(fi))=∑x,yP~(x)P(x,y)logP(y∣x)+w0(1−∑yP(y∣x))+∑i=1nwi(∑x,yP~(x,y)fi(x,y)−∑x,yP~(x)P(y∣x)fi(x,y))
最优化的原始问题可以写为:
minP∈CmaxwL(P,w)
其对偶问题为:
maxwminP∈CL(P,w)
因为优化问题的目标函数是凸的,所有原问题和对偶问题等价。对于对偶问题中的最小化问题,可以使拉格朗日函数 L 对
∂L(P,w)∂P(y∣x)=∑x,yP~(x)(logP(y∣x)+1)−∑yw0−∑i=1nwi(∑x,yP~(x)fi(x,y))=∑x,yP~(x)(logP(y∣x)+1)−∑x,yP~(x)w0−∑x,yP~(x)(∑i=1nwifi(x,y))=0
当 P~(x)>0 时,可得:
P(y∣x)=exp(∑i=1nwifi(x,y)+w0−1)=exp(∑ni=1wifi(x,y))exp(1−w0)=P(y∣x)1=P(y∣x)∑yP(y∣x)=exp(∑ni=1wifi(x,y))∑yexp(∑ni=1wifi(x,y))=exp(∑ni=1wifi(x,y))Zw(x)
那么将上式带入拉格朗日函数,可以将问题转化为:
maxwL(w)
上述中的 L(w)称为对偶函数, 对偶问题极大化问题等价于最大熵模型的极大似然估计 【可推导】
最大熵模型的最优化算法
改进的迭代尺度法
拟牛顿法
References:
[1]李航:《统计学习方法》