最大熵模型

最大熵理论及应用

1. 信息论预备知识

1. 信息熵

在物理界,是描述事物无序性的参数,熵越大则越混乱。类似的,在信息论中,熵表示随机变量的不确定程度。

给定随机变量 X X X ,其取值为 x 1 , x 2 , ⋯   , x m x_{1},x_{2},\cdots ,x_{m} x1,x2,,xm ,则信息熵为:
H ( X ) = ∑ i = 1 m p ( x i ) ⋅ log ⁡ 1 p ( x i ) = − ∑ i = 1 m p ( x i ) ⋅ log ⁡ p ( x i ) H(X)= \sum_{i=1}^{m} p(x_{i})\cdot\log \frac{1}{p(x_{i})}=-\sum_{i=1}^{m} p(x_{i})\cdot \log p(x_{i}) H(X)=i=1mp(xi)logp(xi)1=i=1mp(xi)logp(xi)

熵越大,事件越不确定。熵等于 0,事件是确定的。

例如:抛硬币
p ( h e a d ) = 0.5 , p ( t a i l ) = 0.5 p(head)=0.5,p(tail)=0.5 p(head)=0.5p(tail)=0.5
H ( p ) = − 0.5 ∗ log ⁡ 2 ( 0.5 ) + ( − 0.5 ∗ log ⁡ 2 ( 0.5 ) ) = 1 H(p)= -0.5*\log_2(0.5)+(-0.5*\log_2(0.5))=1 H(p)=0.5log2(0.5)+(0.5log2(0.5))=1
说明:熵值最大,正反面的概率相等,事件最不确定。


最大熵理论
在外力作用下,事物总是朝着最混乱的方向发展。事物是约束和自由的统一体。事物总是在约束下争取最大的自由权,这其实也是自然界的根本原则。在已知条件下,熵最大的事物,最可能接近它的真实状态。


2. 条件熵

X , Y X,Y X,Y 为两个随机变量, X X X 的取值为 x 1 , x 2 , ⋯   , x m x_{1},x_{2},\cdots ,x_{m} x1,x2,,xm Y Y Y 的取值为 y 1 , y 2 , ⋯   , y n y_{1},y_{2},\cdots ,y_{n} y1,y2,,yn ,则在已知的条件下 Y Y Y 的条件熵记作 H ( Y ∣ X ) H(Y|X) H(YX)
H ( Y ∣ X ) = ∑ i = 1 m p ( x i ) H ( Y ∣ X = x i ) = − ∑ i = 1 m p ( x i ) ∑ j = 1 n p ( y j ∣ x i ) log ⁡ p ( y j ∣ x i ) = − ∑ i = 1 m ∑ j = 1 n p ( y j , x i ) log ⁡ p ( y j ∣ x i ) = − ∑ x i , y j p ( x i , y j ) log ⁡ p ( y j ∣ x i ) H(Y|X)= \sum_{i=1}^{m} p(x_{i})H(Y|X=x_{i}) \\=- \sum_{i=1}^{m} p(x_{i}) \sum_{j=1}^{n} p(y_{j}|x_{i}) \log p(y_{j}|x_{i}) \\=- \sum_{i=1}^{m} \sum_{j=1}^{n} p(y_{j},x_{i})\log p(y_{j}|x_{i}) \\=- \sum_{x_{i},y_{j}} p(x_{i},y_{j})\log p(y_{j}|x_{i}) H(YX)=i=1mp(xi)H(YX=xi)=i=1mp(xi)j=1np(yjxi)logp(yjxi)=i=1mj=1np(yj,xi)logp(yjxi)=xi,yjp(xi,yj)logp(yjxi)

2. 最大熵模型( MaxEnt )

最大熵模型是概率模型学习中一个准则,其思想为:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型;若概率模型需要满足一些约束,则最大熵原理就是在满足已知约束的条件集合中选择熵最大模型。即:对一个随机事件的概率分布进行预测,预测应当满足全部已知的约束,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。

3. 最大熵模型的数学推导

3.1 特征函数

特征函数 f ( x , y ) f(x,y) f(x,y) 描述 x x x y y y 之间的某一事实,定义如下:
f ( x , y ) = { 1 ,  if x,y 满足某一事实  0 ,  else  f(x,y)=\begin{cases} 1, & \text{ if x,y 满足某一事实 } \\ 0, & \text{ else } \end{cases} f(x,y)={1,0, if x,y 满足某一事实  else 
f ( x , y ) f(x,y) f(x,y) 是一个二值函数。

3.2 约束条件

假设分类模型为条件概率分布 P ( y ∣ x ) P(y|x) P(yx) ,训练集为 T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) T={(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{n},y_{n})} T=(x1,y1),(x2,y2),...,(xn,yn) 。则联合分布 P ( x , y ) P(x,y) P(x,y) 的经验分布 P ~ ( X , Y ) \tilde{P}(X,Y) P~(X,Y) 与边缘分布 P ( x ) P(x) P(x) 的经验分布 P ~ ( X ) \tilde{P}(X) P~(X)
P ~ ( X = x , Y = y ) = c o u n t ( X = x , Y = y ) N P ~ ( X = x ) = c o u n t ( X = x ) N \tilde{P}(X=x,Y=y)=\frac{count(X=x,Y=y)}{N} \\ \tilde{P}(X=x)=\frac{count(X=x)}{N} P~(X=x,Y=y)=Ncount(X=x,Y=y)P~(X=x)=Ncount(X=x)
对于训练集特征 i i i 的函数 f i ( x , y ) f_{i}(x,y) fi(x,y) ,设:
E p ~ ( f ) E_{\tilde{p}}(f) Ep~(f) :表示特征函数 f f f在训练数据上关于 P ~ ( x , y ) \tilde{P}(x,y) P~(x,y) 的数学期望,计算公式为:
E p ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) = 1 N ∑ x , y f ( x , y ) E_{\tilde{p}}(f)=\sum_{x,y}\tilde{P}(x,y)f(x,y)=\frac{1}{N}\sum_{x,y}f(x,y) Ep~(f)=x,yP~(x,y)f(x,y)=N1x,yf(x,y)

E p ( f ) E_{p}(f) Ep(f) :表示特征函数 f f f 在模型上关于 P ( x , y ) P(x,y) P(x,y) 的数学期望,计算公式为:
E p ( f ) = ∑ x , y P ( x , y ) f ( x , y ) = ∑ x , y P ( x ) P ( y ∣ x ) f ( x , y ) E_{p}(f)=\sum_{x,y}P(x,y)f(x,y)=\sum_{x,y}P(x)P(y|x)f(x,y) Ep(f)=x,yP(x,y)f(x,y)=x,yP(x)P(yx)f(x,y)
由于 P ( x ) P(x) P(x) 是未知的,所以使用 P ~ ( x ) \tilde{P}(x) P~(x) 来近似表示,于是得:
E p ( f ) = ∑ x , y P ( x , y ) f ( x , y ) = ∑ x , y P ( x ) P ( y ∣ x ) f ( x , y ) ≈ ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) E_{p}(f)=\sum_{x,y}P(x,y)f(x,y)=\sum_{x,y}P(x)P(y|x)f(x,y) \approx \sum_{x,y}\tilde{P}(x)P(y|x)f(x,y) Ep(f)=x,yP(x,y)f(x,y)=x,yP(x)P(yx)f(x,y)x,yP~(x)P(yx)f(x,y)
最终我们需要求得的条件概率为: P ( y ∣ x ) P(y|x) P(yx)

为了让模型拟合训练数据,我们需要让模型 P ( y ∣ x ) P(y|x) P(yx) 关于函数 f f f 的期望等于经验分布 P ~ ( x , y ) \tilde{P}(x,y) P~(x,y) 关于 f f f 的期望(这里就是约束条件),即 E p ( f ) = E p ~ ( f ) E_{p}(f)=E_{\tilde{p}}(f) Ep(f)=Ep~(f)
∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) = ∑ x , y P ~ ( x , y ) f ( x , y ) \sum_{x,y}\tilde{P}(x)P(y|x)f(x,y)=\sum_{x,y}\tilde{P}(x,y)f(x,y) x,yP~(x)P(yx)f(x,y)=x,yP~(x,y)f(x,y)
给定 n n n 个特征函数 f i ( x , y ) f_{i}(x,y) fi(x,y) ,则有 n n n 个约束条件,用 C C C 表示满足约束的模型集合
C = { P ∣ E p ( f i ) = E p ~ ( f i ) , I = 1 , 2 , ⋯   , n } C=\left \{P|E_{p}(f_{i})=E_{\tilde{p}}(f_{i}),I=1,2,\cdots,n \right \} C={PEp(fi)=Ep~(fi),I=1,2,,n}
从满足约束模型集合 C C C 中找到使得 P ( y ∣ x ) P(y|x) P(yx) 的熵最大的即为 MaxEnt 模型了。

3.3 最大熵模型

关于分布 P ( y ∣ x ) P(y|x) P(yx) 的熵为:(这里公式可由条件熵的定义公式得到)
H ( P ) = − ∑ x , y P ( y , x ) log ⁡ P ( y ∣ x ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) H(P)=-\sum_{x,y}P(y,x)\log P(y|x)=-\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x) H(P)=x,yP(y,x)logP(yx)=x,yP~(x)P(yx)logP(yx)
首先满足约束条件,然后使得熵最大即可, MaxEnt 模型 P ∗ P^{*} P 为:
P ∗ = arg ⁡ max ⁡ P ∈ C H ( P ) 或 P ∗ = arg ⁡ min ⁡ P ∈ C − H ( P ) P^{*}=\arg \max_{P\in C} H(P) 或 P^{*}=\arg \min_{P\in C} -H(P) P=argPCmaxH(P)P=argPCminH(P)
综上:给出形式化的最大熵模型

给定数据集 { ( x i , y i ) } i = 1 n \left \{ (x_{i},y_{i})\right \}_{i=1}^{n} {(xi,yi)}i=1n ,特征函数 f i ( x , y ) , i = 1 , 2 , . . . , n f_{i}(x,y),i=1,2,...,n fi(x,y),i=1,2,...,n ,根据经验分布得到满足约束集的模型集合 C C C
min ⁡ P ∈ C ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) s . t . E p ( f i ) = E p ~ ( f i ) , ∀ f i ∑ y P ( y ∣ x ) = 1 , ∀ x \min_{P\in C}\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x)\\ s.t. E_{p}(f_{i})=E_{\tilde{p}}(f_{i}),\forall f_{i}\\ \sum_{y}P(y|x)=1,\forall x PCminx,yP~(x)P(yx)logP(yx)s.t.Ep(fi)=Ep~(fi)fiyP(yx)=1x

3.4 MaxEnt 模型的求解

MaxEnt 模型最后被形式化为带有约束条件的最优化问题,可以通过拉格朗日乘子法,将其转为无约束条件的最优化问题

引入拉格朗日乘子: w 0 , w 1 , . . . , w n w_{0},w_{1},...,w_{n} w0,w1,...,wn(其中 w 0 w_{0} w0 ( 1 − ∑ y P ( y ∣ x ) ) (1-\sum_{y}P(y|x)) (1yP(yx)) 这一项约束的系数),定义拉格朗日函数 L ( P , w ) L(P,w) L(P,w) :
L ( P , w ) = − H ( P ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( E p ~ ( f i ) − E p ( f i ) ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( ∑ x , y P ~ ( x , y ) f i ( x , y ) − ∑ x , y P ~ ( x ) p ( y ∣ x ) f i ( x , y ) ) L(P,w)=-H(P)+w_{0}\left (1-\sum_{y}P(y|x)\right )+\sum_{i=1}^{n}w_{i}\left (E_{\tilde{p}}(f_{i})-E_{p}(f_{i})\right )\\ =\sum_{x,y}\tilde{P}(x)P(y|x) \log P(y|x)+w_{0}\left (1-\sum_{y}P(y|x)\right )+\sum_{i=1}^{n}w_{i}\left (\sum_{x,y}\tilde{P}(x,y)f_{i}(x,y)-\sum_{x,y}\tilde{P}(x)p(y|x)f_{i}(x,y)\right ) L(P,w)=H(P)+w0(1yP(yx))+i=1nwi(Ep~(fi)Ep(fi))=x,yP~(x)P(yx)logP(yx)+w0(1yP(yx))+i=1nwi(x,yP~(x,y)fi(x,y)x,yP~(x)p(yx)fi(x,y))
现问题转化为: min ⁡ P ∈ C max ⁡ w L ( P , w ) \min_{P\in C}\max_{w}L(P,w) PCminwmaxL(P,w)
为方便计算,将最小最大化问题转化为它的对偶问题:最大最小化问题: min ⁡ P ∈ C max ⁡ w L ( P , w ) = max ⁡ w min ⁡ P ∈ C L ( P , w ) \min_{P\in C}\max_{w}L(P,w)=\max_{w}\min_{P\in C}L(P,w) PCminwmaxL(P,w)=wmaxPCminL(P,w)

(1)先考虑对 L L L 的最小化问题:
P ( y ∣ x ) P(y|x) P(yx) 求偏导:
∂ L ( P , w ) ∂ P ( y ∣ x ) = ∑ x , y P ~ ( x ) ( log ⁡ P ( y ∣ x ) + 1 ) − ∑ y w 0 − ∑ x , y ( P ~ ( x ) ∑ i = 1 n w i f i ( x , y ) ) = ∑ x , y P ~ ( x ) ( log ⁡ P ( y ∣ x ) + 1 − w 0 − ∑ i = 1 n w i f i ( x , y ) ) \frac{\partial L(P,w)}{\partial P(y|x)}=\sum_{x,y}\tilde{P}(x)\left (\log P(y|x)+1\right )-\sum_{y}w_{0}-\sum_{x,y}\left (\tilde{P}(x)\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right )\\ =\sum_{x,y}\tilde{P}(x)\left (\log P(y|x)+1-w_{0}-\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right ) P(yx)L(P,w)=x,yP~(x)(logP(yx)+1)yw0x,y(P~(x)i=1nwifi(x,y))=x,yP~(x)(logP(yx)+1w0i=1nwifi(x,y))

上式第一步推导到第二步中,根据 ∑ x P ~ ( x ) = 1 \sum_{x}\tilde{P}(x)=1 xP~(x)=1 ,得 ∑ y w 0 = ∑ x , y P ~ ( x ) w 0 \sum_{y}w_{0}=\sum_{x,y}\tilde{P}(x)w_{0} yw0=x,yP~(x)w0

∂ L ( P , w ) ∂ P ( y ∣ x ) = 0 \frac{\partial L(P,w)}{\partial P(y|x)}=0 P(yx)L(P,w)=0,得:
⇒ P ( y ∣ x ) = e x p ( ∑ i = 1 n w i f i ( x , y ) + w 0 − 1 ) = e x p ( ∑ i = 1 n w i f i ( x , y ) ) e x p ( 1 − w 0 ) \Rightarrow \\ P(y|x)=exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)+w_{0}-1\right )=\frac{exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right )}{exp(1-w_{0})} P(yx)=exp(i=1nwifi(x,y)+w01)=exp(1w0)exp(i=1nwifi(x,y))
记上述求得得最优解 P ( y ∣ x ) P(y|x) P(yx) P w ( y ∣ x ) P_{w}(y|x) Pw(yx) ,即:
P w ( y ∣ x ) = e x p ( ∑ i = 1 n w i f i ( x , y ) ) e x p ( 1 − w 0 ) ( 得 到 对 偶 问 题 的 极 小 解 ) P_{w}(y|x)=\frac{exp(\sum_{i=1}^{n}w_{i}f_{i}(x,y))}{exp(1-w_{0})}(得到对偶问题的极小解) Pw(yx)=exp(1w0)exp(i=1nwifi(x,y))
由之前的约束条件之一: ∑ y P w ( y ∣ x ) = 1 \sum_{y} P_{w}(y|x)=1 yPw(yx)=1
⇒ ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) e x p ( 1 − w 0 ) = 1 e x p ( 1 − w 0 ) ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) = 1 ⇒ e x p ( 1 − w 0 ) = ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) \Rightarrow \sum_{y}\frac{exp(\sum_{i=1}^{n}w_{i}f_{i}(x,y))}{exp(1-w_{0})}=\frac{1}{exp(1-w_{0})}\sum_{y}exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right )=1\\ \Rightarrow exp(1-w_{0})=\sum_{y}exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right ) yexp(1w0)exp(i=1nwifi(x,y))=exp(1w0)1yexp(i=1nwifi(x,y))=1exp(1w0)=yexp(i=1nwifi(x,y))
Z w ( x ) = e x p ( 1 − w 0 ) Z_{w}(x)=exp(1-w_{0}) Zw(x)=exp(1w0) Z w ( x ) Z_{w}(x) Zw(x) 称为规范化因子

得到MaxEnt模型
P w ( y ∣ x ) = 1 Z w ( x ) e x p ( ∑ i = 1 n w i f i ( x , y ) ) P_{w}(y|x)=\frac{1}{Z_{w}(x)}exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right ) Pw(yx)=Zw(x)1exp(i=1nwifi(x,y))
其 中 : Z w ( x ) = e x p ( 1 − w 0 ) = ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) 其中: Z_{w}(x)=exp(1-w_{0})=\sum_{y}exp\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right ) Zw(x)=exp(1w0)=yexp(i=1nwifi(x,y))
将该最优解代入拉格朗日函数 L ( P , w ) L(P,w) L(P,w) 得:
L ( P , w ) = ∑ x , y P ~ ( x ) P w ( y ∣ x ) log ⁡ P w ( y ∣ x ) + w 0 ( 1 − ∑ y P w ( y ∣ x ) ) + ∑ i = 1 n w i ( ∑ x , y P ~ ( x , y ) f i ( x , y ) − ∑ x , y P ~ ( x ) P w ( y ∣ x ) f i ( x , y ) ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) + ∑ x , y P ~ ( x ) P w ( y ∣ x ) ( log ⁡ P w ( y ∣ x ) − ∑ i = 1 n w i f i ( x , y ) ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ~ ( x ) P w ( y ∣ x ) log ⁡ Z w ( x ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log ⁡ Z w ( x ) ∑ y P w ( y ∣ x ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log ⁡ Z w ( x ) L(P,w) =\sum_{x,y}\tilde{P}(x)P_{w}(y|x)\log P_{w}(y|x)+w_{0}\left (1-\sum_{y}P_{w}(y|x)\right )+\sum_{i=1}^{n}w_{i}\left (\sum_{x,y}\tilde{P}(x,y)f_{i}(x,y)-\sum_{x,y}\tilde{P}(x)P_{w}(y|x)f_{i}(x,y)\right )\\ =\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)+\sum_{x,y}\tilde{P}(x)P_{w}(y|x)\left ( \log P_{w}(y|x)-\sum_{i=1}^{n}w_{i}f_{i}(x,y)\right )\\ =\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x,y}\tilde{P}(x)P_{w}(y|x)\log Z_{w}(x)\\ =\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x}\tilde{P}(x)\log Z_{w}(x)\sum_{y}P_{w}(y|x)\\ =\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x}\tilde{P}(x)\log Z_{w}(x) L(P,w)=x,yP~(x)Pw(yx)logPw(yx)+w0(1yPw(yx))+i=1nwi(x,yP~(x,y)fi(x,y)x,yP~(x)Pw(yx)fi(x,y))=x,yP~(x,y)i=1nwifi(x,y)+x,yP~(x)Pw(yx)(logPw(yx)i=1nwifi(x,y))=x,yP~(x,y)i=1nwifi(x,y)x,yP~(x)Pw(yx)logZw(x)=x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x)yPw(yx)=x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x)
其中,第二步推导到第三步,根据 P w ( y ∣ x ) = 1 Z w ( x ) e x p ( ∑ i = 1 n w i f i ( x , y ) ) P_{w}(y|x)=\frac{1}{Z_{w}(x)}exp(\sum_{i=1}^{n}w_{i}f_{i}(x,y)) Pw(yx)=Zw(x)1exp(i=1nwifi(x,y))
⇒ log ⁡ P w ( y ∣ x ) + log ⁡ Z w ( x ) = ∑ i = 1 n w i f i ( x , y ) ⇒ log ⁡ P w ( y ∣ x ) − ∑ i = 1 n w i f i ( x , y ) = − log ⁡ Z w ( x ) \Rightarrow \log P_{w}(y|x)+\log Z_{w}(x)=\sum_{i=1}^{n}w_{i}f_{i}(x,y)\\ \Rightarrow \log P_{w}(y|x)-\sum_{i=1}^{n}w_{i}f_{i}(x,y)=-\log Z_{w}(x) logPw(yx)+logZw(x)=i=1nwifi(x,y)logPw(yx)i=1nwifi(x,y)=logZw(x)
其中,最后一步,根据 ∑ y P w ( y ∣ x ) = 1 \sum_{y}P_{w}(y|x)=1 yPw(yx)=1 得到。

(2)现开始求对偶函数最大时参数的值:
min ⁡ P ∈ C L ( P , w ) \min_{P \in C}L(P,w) minPCL(P,w) 看成是关于 w w w 的函数,设:
Ψ ( w ) = min ⁡ P ∈ C L ( P , w ) = L ( P w , w ) ⇒ Ψ ( w ) = − ∑ x P ~ ( x ) log ⁡ Z w ( x ) + ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) \Psi(w)=\min_{P \in C}L(P,w)=L(P_{w},w)\\ \Rightarrow \Psi(w)=-\sum_{x}\tilde{P}(x)\log Z_{w}(x)+\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y) Ψ(w)=PCminL(P,w)=L(Pw,w)Ψ(w)=xP~(x)logZw(x)+x,yP~(x,y)i=1nwifi(x,y)
现需求: max ⁡ w Ψ ( w ) = max ⁡ w ( ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log ⁡ Z w ( x ) ) \max_{w}\Psi(w)\\ =\max_{w}\left (\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x}\tilde{P}(x)\log Z_{w}(x)\right ) wmaxΨ(w)=wmax(x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x)) (原问题转化至此)


上式属于对数线性模型,因为其包含指数函数,所以几乎不可能有解析解。因此需要借助于数值的方法,可以使用的方法有:
(1)通用迭代尺度法( GIS:Generalized Iterative Scaling );
(2)改进的迭代尺度法( IIS:Improved Iterative Scaling );
(3)梯度下降算法;
(4)拟牛顿法(牛顿法)。
其中(1)(2)为专为最大熵模型设计的,(3)(4)为通用算法。


3.5 极大似然估计

求上述结果的另外一种方法:极大似然估计法MLE
MLE 的一般公式表示为:
L P ~ = ∏ x p ( x ) p ~ ( x ) L_{\tilde{P}}=\prod _{x}p(x)^{\tilde{p}(x)} LP~=xp(x)p~(x)
其中, p ( x ) p(x) p(x) 是对模型进行估计的概率分布, p ~ ( x ) \tilde{p}(x) p~(x) 是实验结果得到的概率分布,进一步地:
待求解的概率模型 P ( Y ∣ X ) P(Y|X) P(YX) 的似然函数为:
L P ~ ( P w ) = log ⁡ ∏ x , y P ( x , y ) P ~ ( x , y ) = ∑ x , y P ~ ( x , y ) log ⁡ P ( x , y ) = ∑ x , y P ~ ( x , y ) log ⁡ ( P ~ ( x ) P ( y ∣ x ) ) = ∑ x , y P ~ ( x , y ) log ⁡ P ( y ∣ x ) + ∑ x , y P ~ ( x , y ) log ⁡ P ~ ( x ) L_{\tilde{P}}(P_{w})= \log \prod_{x,y}P(x,y)^{\tilde{P}(x,y)}=\sum_{x,y}\tilde{P}(x,y)\log P(x,y)\\ =\sum_{x,y}\tilde{P}(x,y)\log \left (\tilde{P}(x)P(y|x)\right )\\ =\sum_{x,y}\tilde{P}(x,y)\log P(y|x)+\sum_{x,y}\tilde{P}(x,y)\log \tilde{P}(x) LP~(Pw)=logx,yP(x,y)P~(x,y)=x,yP~(x,y)logP(x,y)=x,yP~(x,y)log(P~(x)P(yx))=x,yP~(x,y)logP(yx)+x,yP~(x,y)logP~(x)
上式的第二项为常数项,故:
L P ~ ( P w ) = ∑ x , y P ~ ( x , y ) log ⁡ P ( y ∣ x ) L_{\tilde{P}}(P_{w})= \sum_{x,y}\tilde{P}(x,y)\log P(y|x) LP~(Pw)=x,yP~(x,y)logP(yx)
P w ( y ∣ x ) P_{w}(y|x) Pw(yx) 代入上式中,得到:
L P ~ ( P w ) = ∑ x , y P ~ ( x , y ) log ⁡ P w ( y ∣ x ) = ∑ x , y P ~ ( x , y ) ( ∑ i = 1 n w i f i ( x , y ) − log ⁡ Z w ( x ) ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ~ ( x , y ) log ⁡ Z w ( x ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log ⁡ Z w ( x ) L_{\tilde{P}}(P_{w})=\sum_{x,y}\tilde{P}(x,y)\log P_{w}(y|x)\\ =\sum_{x,y}\tilde{P}(x,y)\left (\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\log Z_{w}(x)\right )\\ =\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x,y}\tilde{P}(x,y)\log Z_{w}(x)\\ =\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^{n}w_{i}f_{i}(x,y)-\sum_{x}\tilde{P}(x)\log Z_{w}(x) LP~(Pw)=x,yP~(x,y)logPw(yx)=x,yP~(x,y)(i=1nwifi(x,y)logZw(x))=x,yP~(x,y)i=1nwifi(x,y)x,yP~(x,y)logZw(x)=x,yP~(x,y)i=1nwifi(x,y)xP~(x)logZw(x)
这与上面用拉格朗日对偶方法求解得到的结果一样。

由此可见:拉格朗日对偶得到的结果与极大似然得到的结果是等价的,换言之,最大熵模型的对偶问题的极小化等价于最大熵模型的极大似然估计。

且根据 MLE 的正确性,可以断定:最大熵的解(无偏的对待不确定性,即争取最大的自由权)同时是最符合样本数据分布的解,进一步证明了最大熵模型的合理性。

两相对比:
熵:表示不确定性的度量;
似然:表示的是与知识的吻合程度;
最大熵模型:对不确定度的无偏分配;
最大似然估计:对知识的无偏理解。
知识 = 不确定度的补集


4. 最大熵模型的应用

最大熵模型已经成功应用于自然语言处理的许多领域,如:词性标注,短语识别,指代消解,语法分析,机器翻译,文本分类,问题回答,语言模型,…

MaxEnt模型的应用示例


补充:其他熵的定义及公式
3. 联合熵
(1)设 X , Y X,Y X,Y 为两个随机变量, X X X 的取值为 x 1 , x 2 , ⋯   , x m x_{1},x_{2},\cdots ,x_{m} x1,x2,,xm Y Y Y 的取值为 y 1 , y 2 , ⋯   , y n y_{1},y_{2},\cdots ,y_{n} y1,y2,,yn ,则其联合熵定义为 H ( X , Y ) H(X,Y) H(X,Y)
H ( X , Y ) = − ∑ i = 1 m ∑ j = 1 n p ( x i , y i ) log ⁡ p ( x i , y i ) H(X,Y)= \\- \sum_{i=1}^{m} \sum_{j=1}^{n} p(x_{i},y_{i})\log p(x_{i},y_{i}) H(X,Y)=i=1mj=1np(xi,yi)logp(xi,yi)
(2)熵、条件熵、联合熵可以在事件概率、条件概率、联合概率的基础上进行理解。
(3)联合熵与条件熵的关系:
H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) H(Y|X)=H(X,Y)-H(X)\\ H(X|Y)=H(X,Y)-H(Y)\\ H(YX)=H(X,Y)H(X)H(XY)=H(X,Y)H(Y)
即:
H ( X , Y ) = H ( X ) + H ( Y ∣ X ) = H ( Y ) + H ( X ∣ Y ) H(X,Y)=H(X)+H(Y|X)\\ =H(Y)+H(X|Y) H(X,Y)=H(X)+H(YX)=H(Y)+H(XY)
(4)联合熵满足的几个性质:
1) H ( X , Y ) ≥ max ⁡ ( H ( X ) , H ( Y ) H(X,Y)\geq\max (H(X),H(Y) H(X,Y)max(H(X),H(Y);
2) H ( X , Y ) ≤ H ( X ) + H ( Y ) H(X,Y)\leq H(X)+H(Y) H(X,Y)H(X)+H(Y);
3) H ( X , Y ) ≥ 0 H(X,Y)\geq 0 H(X,Y)0.
4. 相对熵 KL距离
(1)相对熵,又称为 KL 距离( Kullback-Leibler 散度)。主要用于衡量相同事件空间里的两个概率分布的差异,定义如下:
D ( P ∣ ∣ Q ) = ∑ x ∈ X P ( x ) ⋅ log ⁡ P ( x ) Q ( x ) D(P||Q)=\sum_{x\in X}P(x)\cdot \log \frac{P(x)}{Q(x)} D(PQ)=xXP(x)logQ(x)P(x)
(2)相对熵是用来描述概率分布 P P P Q Q Q 差异的一种方法,它不具有对称性,即: D ( P ∣ ∣ Q ) ≠ D ( Q ∣ ∣ P ) D(P||Q)\neq D(Q||P) D(PQ)̸=D(QP)
(3)对于两个完全相同的分布,他们的相对熵为0, D ( P ∣ ∣ Q ) D(P||Q) D(PQ) 与函数 P P P 和函数 Q Q Q 之间的相似度成反比,因此可以通过最小化相对熵来使函数 Q Q Q 逼近函数 P P P ,也就是使得估计的分布函数接近真实的分布。KL 可以用来做一些距离的度量工作,例如用来度量主题模型中得到的主题分布的相似性。
5. 互信息
(1)对于随机变量 X , Y X,Y X,Y ,其互信息定义为 M I ( X , Y ) MI(X,Y) MI(X,Y)
M I ( X , Y ) = − ∑ i = 1 m ∑ j = 1 n p ( x i , y i ) ⋅ log ⁡ 2 p ( x i , y i ) p ( x i ) p ( y i ) MI(X,Y)= - \sum_{i=1}^{m} \sum_{j=1}^{n} p(x_{i},y_{i})\cdot \log_{2}\frac{p(x_{i},y_{i})}{p(x_{i})p(y_{i})} MI(X,Y)=i=1mj=1np(xi,yi)log2p(xi)p(yi)p(xi,yi)
(2)互信息与联合熵的区别:
H ( X , Y ) = H ( X ) + H ( Y ∣ X ) = H ( Y ) + H ( X ∣ Y ) M I ( X , Y ) = H ( X ) − H ( Y ∣ X ) = H ( Y ) − H ( X ∣ Y ) H(X,Y)=H(X)+H(Y|X)=H(Y)+H(X|Y)\\ MI(X,Y)=H(X)-H(Y|X)=H(Y)-H(X|Y) H(X,Y)=H(X)+H(YX)=H(Y)+H(XY)MI(X,Y)=H(X)H(YX)=H(Y)H(XY)
6. 交叉熵
设随机变量 X X X 的真实分布为 p p p ,用 q q q 分布来近似 p p p ,则随机变量 X X X 的交叉熵定义为:
H ( p , q ) = E p [ − log ⁡ q ] = − ∑ i = 1 m p ( x i ) log ⁡ q ( x i ) H(p,q)=E_{p}[-\log q]=-\sum_{i=1}^{m}p(x_{i})\log q(x_{i}) H(p,q)=Ep[logq]=i=1mp(xi)logq(xi)
形式上可以理解为用 q q q 来代替 p p p 求信息熵了。交叉熵用作损失函数时, q q q 即为所求的模型,可以得到其与相对熵的关系:
H ( p , q ) = − ∑ x p ( x ) log ⁡ q ( x ) = − ∑ x p ( x ) log ⁡ q ( x ) p ( x ) p ( x ) = − ∑ x p ( x ) log ⁡ p ( x ) − ∑ x p ( x ) log ⁡ q ( x ) p ( x ) = H ( p ) + D ( p ∣ ∣ q ) H(p,q)=-\sum_{x}p(x)\log q(x)\\ =-\sum_{x}p(x)\log \frac{q(x)}{p(x)}p(x)\\ =-\sum_{x}p(x)\log p(x)-\sum_{x}p(x)\log \frac{q(x)}{p(x)}\\ =H(p)+D(p||q) H(p,q)=xp(x)logq(x)=xp(x)logp(x)q(x)p(x)=xp(x)logp(x)xp(x)logp(x)q(x)=H(p)+D(pq)
可见分布 p p p q q q 的交叉熵等于 p p p 的熵加上 p p p q q q K L KL KL 距离,所以交叉熵越小, D ( P ∣ ∣ Q ) D(P||Q) D(PQ) 越小,即:分布 p p p q q q 越接近,这也是相对熵的一个意义。
7. 信息增益
是一种衡量样本特征重要性的方法。特征 A A A 对训练数据集 D D D 的信息增益 g ( D , A ) g(D,A) g(D,A) ,定义为集合 D D D 的经验熵 H ( D ) H(D) H(D) 与特征 A A A 在给定条件下 D D D 的经验条件熵 H ( D ∣ A ) H(D|A) H(DA) 之差,即:
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)H(DA)
可见信息增益与互信息类似,然后是信息增益比
g R ( D , A ) = g ( D , A ) H ( D ) g_{R}(D,A)=\frac{g(D,A)}{H(D)} gR(D,A)=H(D)g(D,A)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最大模型(MaxEnt,Maximum Entropy Model)是一种用于分类和回归的统计模型。它的核心思想是,在给定一些已知约束条件下,选择一种概率分布,使得该分布在未知的部分尽可能的均匀。最大模型的名称来源于信息论中的的概念。 最大模型可以应用于多种领域,比如自然语言处理、文本分类、图像识别等。在自然语言处理中,最大模型可用于解决词性标注、命名实体识别和情感分析等问题。 最大模型主要有以下特点: 1. 非参数化模型:最大模型不对概率分布做出过多的假设,可以在给定约束条件下找到唯一的概率分布。 2. 最大化:在给定约束条件下,选择具备最大的概率分布。这是因为最大的分布是最均匀的,对未知的部分缺乏偏见。 3. 使用拉格朗日乘子法:通过引入拉格朗日乘子,将约束条件转化为优化问题,求解最大模型的参数。 根据最大原理,最大模型可以用来进行分类和回归任务。通过对已知数据进行特征提取和约束条件的定义,可以得到最大模型的参数。在预测阶段,根据数据的特征,计算出类别的概率,并选择概率最大的类别作为预测结果。 最大模型相对于其他分类模型,具备更好的泛化能力和适应能力。它可以灵活地兼容多种特征和约束条件,适用于不同的问题和数据。然而,最大模型的训练过程相对较复杂,需要根据具体问题选择合适的特征和约束条件,并进行参数优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值