一、最大熵原理
- 在满足约束条件的模型集合中选取熵最大的模型。最大熵原理通过熵的最大化来表示等可能性
二、最大熵模型
2.1 模型基础
- 给定一个训练数据集 T = { ( x 1 , y 1 ) , ⋯ , ( x N , y N ) } T=\{(x_1,y_1),\cdots,(x_N,y_N)\} T={(x1,y1),⋯,(xN,yN)}学习基于最大熵原理的最优分类模型
- 用 P ~ ( X , Y ) , P ~ ( X ) \tilde{P}(X,Y),\tilde{P}(X) P~(X,Y),P~(X)表示联合分布 P ( X , Y ) P(X,Y) P(X,Y)的经验分布和边缘分布 P ( X ) P(X) P(X)的经验分布
- 用特征函数 f ( x , y ) f(x,y) f(x,y)描述输入 x x x和输出 y y y之间的某一事实,即模型学习的约束条件
- 特征函数 f ( x , y ) f(x,y) f(x,y)关于经验分布 P ~ ( X , Y ) \tilde{P}(X,Y) P~(X,Y)的期望,用 E P ~ ( f ) E_{\tilde{P}}(f) EP~(f)表示;关于联合分布 P ( X , Y ) P(X,Y) P(X,Y)的期望,用 E P ( f ) E_{P}(f) EP(f)表示
2.2 模型的学习过程
- 如果模型能够获取训练数据中的信息,则两个期望相等,即 E P ( f i ) = E P ~ ( f i ) , i = 1 , ⋯ , n E_{P}(f_i)=E_{\tilde{P}}(f_i),i=1,\cdots,n EP(fi)=EP~(fi),i=1,⋯,n ∑ y P ( y ∣ x ) = 1 \sum_{y}P(y|x)=1 y∑P(y∣x)=1其中 C \mathcal{C} C为满足约束条件的模型的集合
- 约束条件(熵最大): m a x P ∈ C − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) \underset {P\in\mathcal{C}}{max}-\sum_{x,y}\tilde{P}(x)P(y|x)logP(y|x) P∈Cmax−x,y∑P~(x)P(y∣x)logP(y∣x)等价于 m i n P ∈ C ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) \underset{P\in\mathcal{C}}{min}\sum_{x,y}\tilde{P}(x)P(y|x)logP(y|x) P∈Cminx,y∑P~(x)P(y∣x)logP(y∣x)
原始问题的解等价于对偶问题的解,即 m i n P ∈ C m a x ω L ( P , ω ) 等 价 于 m a x ω m i n P ∈ C L ( P , ω ) \underset {P\in\mathcal{C}}{min}\underset {\omega}{max}L(P,\omega)等价于\underset {\omega}{max}\underset {P\in\mathcal{C}}{min}L(P,\omega) P∈CminωmaxL(P,ω)等价于ωmaxP∈CminL(P,ω)
- 引进拉格朗日乘子
ω
0
,
ω
1
,
⋯
,
ω
n
\omega_0,\omega_1,\cdots,\omega_n
ω0,ω1,⋯,ωn,定义拉格朗日函数
L ( P , ω ) = − H ( P ) + ω 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n ω i ( E P ~ ( f i ) ) − E P ( f i ) ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) + ω 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n ω i ( ∑ x , y P ~ ( x , y ) f i ( x , y ) − ∑ x , y P ~ ( x ) P ( y ∣ x ) f i ( x , y ) ) \begin{aligned} L(P,\omega) &=-H(P)+\omega_0(1-\sum_{y}P(y|x))+\sum_{i=1}^n\omega_i(E_{\tilde{P}}(f_i))-E_{P}(f_i)) \\ &=\sum_{x,y}\tilde{P}(x)P(y|x)logP(y|x)+\omega_0(1-\sum_{y}P(y|x))\\ &+\sum_{i=1}^n\omega_i(\sum_{x,y}\tilde{P}(x,y)f_i(x,y)-\sum_{x,y}\tilde{P}(x)P(y|x)f_i(x,y)) \end{aligned} L(P,ω)=−H(P)+ω0(1−y∑P(y∣x))+i=1∑nωi(EP~(fi))−EP(fi))=x,y∑P~(x)P(y∣x)logP(y∣x)+ω0(1−y∑P(y∣x))+i=1∑nωi(x,y∑P~(x,y)fi(x,y)−x,y∑P~(x)P(y∣x)fi(x,y))
2.2.1 求解对偶问题内部的极小化问题 m i n P ∈ C L ( P , ω ) \underset {P\in\mathcal{C}}{min}L(P,\omega) P∈CminL(P,ω)
- 记 ψ ( ω ) = m i n P ∈ C L ( P , ω ) = L ( P ω , ω ) \psi(\omega)=\underset {P\in\mathcal{C}}{min}L(P,\omega)=L(P_{\omega},\omega) ψ(ω)=P∈CminL(P,ω)=L(Pω,ω),将对应的解记为 P ω = P ω ( y ∣ x ) P_{\omega}=P_{\omega}(y|x) Pω=Pω(y∣x)
- 已知: P ~ ( x ) > 0 \tilde{P}(x)>0 P~(x)>0以及 ∑ y P ( y ∣ x ) = 1 \sum_{y}P(y|x)=1 ∑yP(y∣x)=1,再求 L ( P , ω ) L(P,\omega) L(P,ω)对 P ( y ∣ x ) P(y|x) P(y∣x)的偏导数,并令其等于0,可得: P ω ( y ∣ x ) = 1 Z ω ( x ) e x p ( ∑ i = 1 n ω i f i ( x , y ) ) P_{\omega}(y|x)=\frac{1}{Z_{\omega}(x)}exp(\sum_{i=1}^n\omega_if_i(x,y)) Pω(y∣x)=Zω(x)1exp(i=1∑nωifi(x,y))其中 Z ω ( x ) = ∑ y e x p ( ∑ i = 1 n ω i f i ( x , y ) ) Z_{\omega}(x)=\sum_{y}exp(\sum_{i=1}^n\omega_if_i(x,y)) Zω(x)=∑yexp(∑i=1nωifi(x,y)),被称为规范化因子
2.2.2 求解对偶问题外部的极大化问题 m a x ω ψ ( ω ) \underset {\omega}{max}\psi(\omega) ωmaxψ(ω)
对偶问题的极大化等价于最大熵模型的极大似然函数,即 ψ ( ω ) = L P ~ ( P ω ) \psi(\omega)=L_{\tilde{P}}(P_\omega) ψ(ω)=LP~(Pω)
- L P ~ ( P ω ) = l o g ∏ x , y P ( y ∣ x ) P ~ ( x , y ) = ∑ x , y P ~ ( x , y ) l o g ( x , y ) L_{\tilde{P}}(P_\omega)=log\prod_{x,y}P(y|x)^{{\tilde{P}}(x,y)}=\sum_{x,y}\tilde{P}(x,y)log(x,y) LP~(Pω)=log∏x,yP(y∣x)P~(x,y)=∑x,yP~(x,y)log(x,y)
-
ψ
(
ω
)
=
∑
x
,
y
P
~
(
x
)
P
ω
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
\psi(\omega)=\sum_{x,y}\tilde{P}(x)P_{\omega}(y|x)logP(y|x)
ψ(ω)=∑x,yP~(x)Pω(y∣x)logP(y∣x)
- 将两个约束条件 ∑ y P ( y ∣ x ) = 1 \sum_{y}P(y|x)=1 ∑yP(y∣x)=1以及 E P ( f i ) = E P ~ ( f i ) , i = 1 , ⋯ , n E_{P}(f_i)=E_{\tilde{P}}(f_i),i=1,\cdots,n EP(fi)=EP~(fi),i=1,⋯,n代入至 L ( P , ω ) L(P,\omega) L(P,ω)中,即可得到上式的 ψ ( ω ) \psi(\omega) ψ(ω)
因此,模型的学习就是给定条件下,模型进行极大似然估计
2.3 模型的最优化问题
- 改进的迭代尺度法
参考:《统计学习方法》李航著