最大熵理论及应用
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=1∑mp(xi)⋅logp(xi)1=−i=1∑mp(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.5,p(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.5∗log2(0.5)+(−0.5∗log2(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(Y∣X) :
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(Y∣X)=i=1∑mp(xi)H(Y∣X=xi)=−i=1∑mp(xi)j=1∑np(yj∣xi)logp(yj∣xi)=−i=1∑mj=1∑np(yj,xi)logp(yj∣xi)=−xi,yj∑p(xi,yj)logp(yj∣xi)
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(y∣x) ,训练集为
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,y∑P~(x,y)f(x,y)=N1x,y∑f(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,y∑P(x,y)f(x,y)=x,y∑P(x)P(y∣x)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,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)
最终我们需要求得的条件概率为:
P
(
y
∣
x
)
P(y|x)
P(y∣x)。
为了让模型拟合训练数据,我们需要让模型
P
(
y
∣
x
)
P(y|x)
P(y∣x) 关于函数
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,y∑P~(x)P(y∣x)f(x,y)=x,y∑P~(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={P∣Ep(fi)=Ep~(fi),I=1,2,⋯,n}
从满足约束模型集合
C
C
C 中找到使得
P
(
y
∣
x
)
P(y|x)
P(y∣x) 的熵最大的即为 MaxEnt 模型了。
3.3 最大熵模型
关于分布
P
(
y
∣
x
)
P(y|x)
P(y∣x) 的熵为:(这里公式可由条件熵的定义公式得到)
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,y∑P(y,x)logP(y∣x)=−x,y∑P~(x)P(y∣x)logP(y∣x)
首先满足约束条件,然后使得熵最大即可, 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∗=argP∈CmaxH(P)或P∗=argP∈Cmin−H(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 P∈Cminx,y∑P~(x)P(y∣x)logP(y∣x)s.t.Ep(fi)=Ep~(fi),∀fiy∑P(y∣x)=1,∀x
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))
(1−∑yP(y∣x)) 这一项约束的系数),定义拉格朗日函数
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(1−y∑P(y∣x))+i=1∑nwi(Ep~(fi)−Ep(fi))=x,y∑P~(x)P(y∣x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑nwi(x,y∑P~(x,y)fi(x,y)−x,y∑P~(x)p(y∣x)fi(x,y))
现问题转化为:
min
P
∈
C
max
w
L
(
P
,
w
)
\min_{P\in C}\max_{w}L(P,w)
P∈CminwmaxL(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)
P∈CminwmaxL(P,w)=wmaxP∈CminL(P,w)
(1)先考虑对
L
L
L 的最小化问题:
对
P
(
y
∣
x
)
P(y|x)
P(y∣x) 求偏导:
∂
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(y∣x)∂L(P,w)=x,y∑P~(x)(logP(y∣x)+1)−y∑w0−x,y∑(P~(x)i=1∑nwifi(x,y))=x,y∑P~(x)(logP(y∣x)+1−w0−i=1∑nwifi(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(y∣x)∂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(y∣x)=exp(i=1∑nwifi(x,y)+w0−1)=exp(1−w0)exp(∑i=1nwifi(x,y))
记上述求得得最优解
P
(
y
∣
x
)
P(y|x)
P(y∣x) 为
P
w
(
y
∣
x
)
P_{w}(y|x)
Pw(y∣x) ,即:
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(y∣x)=exp(1−w0)exp(∑i=1nwifi(x,y))(得到对偶问题的极小解)
由之前的约束条件之一:
∑
y
P
w
(
y
∣
x
)
=
1
\sum_{y} P_{w}(y|x)=1
∑yPw(y∣x)=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 )
⇒y∑exp(1−w0)exp(∑i=1nwifi(x,y))=exp(1−w0)1y∑exp(i=1∑nwifi(x,y))=1⇒exp(1−w0)=y∑exp(i=1∑nwifi(x,y))
令
Z
w
(
x
)
=
e
x
p
(
1
−
w
0
)
Z_{w}(x)=exp(1-w_{0})
Zw(x)=exp(1−w0) ,
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(y∣x)=Zw(x)1exp(i=1∑nwifi(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(1−w0)=y∑exp(i=1∑nwifi(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,y∑P~(x)Pw(y∣x)logPw(y∣x)+w0(1−y∑Pw(y∣x))+i=1∑nwi(x,y∑P~(x,y)fi(x,y)−x,y∑P~(x)Pw(y∣x)fi(x,y))=x,y∑P~(x,y)i=1∑nwifi(x,y)+x,y∑P~(x)Pw(y∣x)(logPw(y∣x)−i=1∑nwifi(x,y))=x,y∑P~(x,y)i=1∑nwifi(x,y)−x,y∑P~(x)Pw(y∣x)logZw(x)=x,y∑P~(x,y)i=1∑nwifi(x,y)−x∑P~(x)logZw(x)y∑Pw(y∣x)=x,y∑P~(x,y)i=1∑nwifi(x,y)−x∑P~(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(y∣x)=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(y∣x)+logZw(x)=i=1∑nwifi(x,y)⇒logPw(y∣x)−i=1∑nwifi(x,y)=−logZw(x)
其中,最后一步,根据
∑
y
P
w
(
y
∣
x
)
=
1
\sum_{y}P_{w}(y|x)=1
∑yPw(y∣x)=1 得到。
(2)现开始求对偶函数最大时参数的值:
将
min
P
∈
C
L
(
P
,
w
)
\min_{P \in C}L(P,w)
minP∈CL(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)=P∈CminL(P,w)=L(Pw,w)⇒Ψ(w)=−x∑P~(x)logZw(x)+x,y∑P~(x,y)i=1∑nwifi(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,y∑P~(x,y)i=1∑nwifi(x,y)−x∑P~(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~=x∏p(x)p~(x)
其中,
p
(
x
)
p(x)
p(x) 是对模型进行估计的概率分布,
p
~
(
x
)
\tilde{p}(x)
p~(x) 是实验结果得到的概率分布,进一步地:
待求解的概率模型
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X) 的似然函数为:
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,y∏P(x,y)P~(x,y)=x,y∑P~(x,y)logP(x,y)=x,y∑P~(x,y)log(P~(x)P(y∣x))=x,y∑P~(x,y)logP(y∣x)+x,y∑P~(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,y∑P~(x,y)logP(y∣x)
将
P
w
(
y
∣
x
)
P_{w}(y|x)
Pw(y∣x) 代入上式中,得到:
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,y∑P~(x,y)logPw(y∣x)=x,y∑P~(x,y)(i=1∑nwifi(x,y)−logZw(x))=x,y∑P~(x,y)i=1∑nwifi(x,y)−x,y∑P~(x,y)logZw(x)=x,y∑P~(x,y)i=1∑nwifi(x,y)−x∑P~(x)logZw(x)
这与上面用拉格朗日对偶方法求解得到的结果一样。
由此可见:拉格朗日对偶得到的结果与极大似然得到的结果是等价的,换言之,最大熵模型的对偶问题的极小化等价于最大熵模型的极大似然估计。
且根据 MLE 的正确性,可以断定:最大熵的解(无偏的对待不确定性,即争取最大的自由权)同时是最符合样本数据分布的解,进一步证明了最大熵模型的合理性。
两相对比:
熵:表示不确定性的度量;
似然:表示的是与知识的吻合程度;
最大熵模型:对不确定度的无偏分配;
最大似然估计:对知识的无偏理解。
知识 = 不确定度的补集
4. 最大熵模型的应用
最大熵模型已经成功应用于自然语言处理的许多领域,如:词性标注,短语识别,指代消解,语法分析,机器翻译,文本分类,问题回答,语言模型,…
补充:其他熵的定义及公式
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=1∑mj=1∑np(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(Y∣X)=H(X,Y)−H(X)H(X∣Y)=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(Y∣X)=H(Y)+H(X∣Y)
(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(P∣∣Q)=x∈X∑P(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(P∣∣Q)̸=D(Q∣∣P)。
(3)对于两个完全相同的分布,他们的相对熵为0, D ( P ∣ ∣ Q ) D(P||Q) D(P∣∣Q) 与函数 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=1∑mj=1∑np(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(Y∣X)=H(Y)+H(X∣Y)MI(X,Y)=H(X)−H(Y∣X)=H(Y)−H(X∣Y)
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=1∑mp(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(p∣∣q)
可见分布 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(P∣∣Q) 越小,即:分布 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(D∣A) 之差,即:
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)−H(D∣A)
可见信息增益与互信息类似,然后是信息增益比:
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)