文章目录
最大熵模型(Maximum Entropy Model, MEM)
最大熵思想
无更多信息的情况下,最随机的推断(概率分布的熵最大)是最合理的推断,即未知部分均匀分布时最合理,均匀分布的熵最大。若基于判别模型
P
(
y
∣
x
)
P(y|\boldsymbol x)
P(y∣x)预测实例类别,无先验知识下,实例
x
\boldsymbol x
x应等可能属于各类别,即
P
(
c
1
∣
x
)
=
P
(
c
2
∣
x
)
=
⋯
=
P
(
c
K
∣
x
)
=
1
/
K
P(c_1|\boldsymbol x)=P(c_2|\boldsymbol x)=\cdots=P(c_K|\boldsymbol x)=1/K
P(c1∣x)=P(c2∣x)=⋯=P(cK∣x)=1/K
对于带有约束的情况,如
X
X
X取值集合为
{
a
,
b
,
c
,
d
,
e
}
\{a, b, c, d, e\}
{a,b,c,d,e},约束
P
(
a
)
+
P
(
b
)
=
1
/
3
P(a)+P(b)=1/3
P(a)+P(b)=1/3,则
P
(
a
)
=
P
(
b
)
=
1
/
6
,
P
(
c
)
=
P
(
d
)
=
P
(
e
)
=
2
/
9
P(a)=P(b)=1/6,\quad P(c)=P(d)=P(e)=2/9
P(a)=P(b)=1/6,P(c)=P(d)=P(e)=2/9
时,概率分布的熵最大,最大熵模型的思想就是寻找满足约束且熵最大的模型。
最大熵模型表示
令
ν
(
x
,
y
)
\nu(\boldsymbol x, y)
ν(x,y)表示训练样本集中
(
x
,
y
)
(\boldsymbol x, y)
(x,y)出现的频数,以频数估计经验分布
P
^
(
x
,
y
)
=
ν
(
x
,
y
)
N
,
P
^
(
x
)
=
ν
(
x
)
N
(1)
\hat P(\boldsymbol x, y)=\frac{\nu(\boldsymbol x, y)}{N},\quad \hat P(\boldsymbol x)=\frac{\nu(\boldsymbol x)}{N} \tag{1}
P^(x,y)=Nν(x,y),P^(x)=Nν(x)(1)
定义二值特征函数
f
(
x
,
y
)
f(\boldsymbol x, y)
f(x,y),表示输入输出之间的事实关系,即
f
(
x
,
y
)
=
{
1
,
x
与
y
满
足
某
一
事
实
0
,
其
他
f(\boldsymbol x, y)=\begin{cases} 1, &\boldsymbol x与y满足某一事实\\[1ex] 0, &其他 \end{cases}
f(x,y)={1,0,x与y满足某一事实其他
理想的模型应能获取训练集中的约束信息,即特征函数在模型分布、经验分布熵的期望近似,即
E
P
^
(
f
)
≈
E
P
(
f
)
⟹
∑
x
,
y
P
^
(
x
,
y
)
f
(
x
,
y
)
≈
∑
x
,
y
P
(
x
,
y
)
f
(
x
,
y
)
\Bbb E_{\hat P}(f)\approx\Bbb E_P(f) \implies \sum_{\boldsymbol x, y}\hat P(\boldsymbol x, y)f(\boldsymbol x, y)\approx\sum_{\boldsymbol x,y}P(\boldsymbol x,y)f(\boldsymbol x,y)
EP^(f)≈EP(f)⟹x,y∑P^(x,y)f(x,y)≈x,y∑P(x,y)f(x,y)
最大熵模型的学习,等价于最大化带有约束的条件熵:
min
P
−
H
(
P
)
=
−
H
(
Y
∣
X
)
=
∑
x
,
y
P
(
x
,
y
)
log
P
(
y
∣
x
)
s.t.
E
p
^
(
f
i
)
=
E
p
(
f
i
)
,
i
=
1
,
⋯
,
k
∑
y
P
(
y
∣
x
)
=
1
\begin{aligned} \min_P &\quad-H(P)=-H(Y|X)=\sum_{\boldsymbol x, y}P(\boldsymbol x,y)\log P(y|\boldsymbol x) \\[2ex] \text{s.t.} &\quad E_{\hat p}(f_i) =E_{p}(f_i),\quad i=1, \cdots, k\\[2ex] &\quad \sum_{y}P(y|\boldsymbol x)=1 \end{aligned}
Pmins.t.−H(P)=−H(Y∣X)=x,y∑P(x,y)logP(y∣x)Ep^(fi)=Ep(fi),i=1,⋯,ky∑P(y∣x)=1
判别式模型无法得到 P ( x , y ) P(\boldsymbol x,y) P(x,y)的分布,使用近似 P ( x , y ) ≈ P ( y ∣ x ) P ^ ( x ) P(\boldsymbol x, y)\approx P(y|\boldsymbol x)\hat P(\boldsymbol x) P(x,y)≈P(y∣x)P^(x)。最大熵模型根据特征函数,将训练集划分成已知信息和未知信息两类,每一个特征函数对应一种二划分。
最大熵模型学习
构造拉格朗日函数,求解约束极值问题
L
(
P
,
w
)
=
∑
x
,
y
P
(
y
∣
x
)
P
^
(
x
)
log
P
(
y
∣
x
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
w
i
(
∑
x
,
y
P
^
(
x
,
y
)
f
i
(
x
,
y
)
−
∑
x
,
y
P
(
y
∣
x
)
P
^
(
x
)
f
i
(
x
,
y
)
)
L(P, \boldsymbol w)=\sum_{\boldsymbol x, y}P(y|\boldsymbol x)\hat P(\boldsymbol x)\log P(y|\boldsymbol x)+ w_0 \left(1- \sum_{y}P(y|\boldsymbol x)\right)+\sum_iw_i\left(\sum_{\boldsymbol x, y}\hat P(\boldsymbol x, y)f_i(\boldsymbol x, y) - \sum_{\boldsymbol x, y}P(y|\boldsymbol x)\hat P(\boldsymbol x)f_i(\boldsymbol x, y)\right)
L(P,w)=x,y∑P(y∣x)P^(x)logP(y∣x)+w0(1−y∑P(y∣x))+i∑wi(x,y∑P^(x,y)fi(x,y)−x,y∑P(y∣x)P^(x)fi(x,y))
由于
L
L
L是
P
P
P的凸函数,故原始问题的解与对偶问题的解等价:
min
P
max
w
L
(
P
,
w
)
⟺
max
w
min
P
L
(
P
,
w
)
\min_P\max_{\boldsymbol w}L(P, \boldsymbol w) \iff \max_{\boldsymbol w}\min_PL(P,\boldsymbol w)
PminwmaxL(P,w)⟺wmaxPminL(P,w)
I. 求内部极小(导出最大熵模型): 令
L
L
L对
P
(
x
∣
y
)
P(\boldsymbol x|y)
P(x∣y)的偏导为0,且假设
P
^
(
x
)
>
0
\hat P(\boldsymbol x)>0
P^(x)>0,则
∑
x
,
y
P
~
(
x
)
(
log
P
(
y
∣
x
)
+
1
−
w
0
−
∑
i
w
i
f
i
(
x
,
y
)
)
=
0
⟹
P
(
y
∣
x
)
=
exp
(
∑
i
w
i
f
i
(
x
,
y
)
)
exp
(
1
−
w
0
)
\sum_{\boldsymbol x, y}\tilde P(\boldsymbol x) \left(\log P(y|\boldsymbol x)+1-w_0-\sum_{i}w_if_i(\boldsymbol x, y)\right)=0\implies P(y|\boldsymbol x)= \frac{\exp\left(\sum_{i}w_if_i(\boldsymbol x, y)\right)}{\exp(1-w_0)}
x,y∑P~(x)(logP(y∣x)+1−w0−i∑wifi(x,y))=0⟹P(y∣x)=exp(1−w0)exp(∑iwifi(x,y))
根据约束条件知:
∑
y
P
(
y
∣
x
)
=
1
\sum_y P(y|x)=1
∑yP(y∣x)=1,执行归一化也可以进一步消去
w
0
w_0
w0,最终得最大熵模型
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
exp
(
∑
i
w
i
f
i
(
x
,
y
)
)
,
Z
w
(
x
)
=
∑
y
exp
(
∑
i
w
i
f
i
(
x
,
y
)
)
(2)
P_w(y|\boldsymbol x)=\frac{1}{Z_{\boldsymbol w}(\boldsymbol x)}\exp\left(\sum_{i}w_if_i(\boldsymbol x, y)\right), \quad Z_{\boldsymbol w}(\boldsymbol x)=\sum_{y}\exp\left(\sum_{i}w_if_i(\boldsymbol x, y)\right) \tag{2}
Pw(y∣x)=Zw(x)1exp(i∑wifi(x,y)),Zw(x)=y∑exp(i∑wifi(x,y))(2)
从最大熵模型的表达式可知,最大熵模型将复杂的联合分布分解为多个指数项/因子的乘积,得到给定
x
x
x下
y
y
y的条件概率分布。
II. 求外部极大(用于更新最大熵模型
P
w
P_w
Pw的参数): 将内部极小结果带入拉格朗日函数,得
φ
(
w
)
=
∑
x
,
y
P
^
(
x
,
y
)
∑
i
w
i
f
i
(
x
,
y
)
−
∑
x
P
^
(
x
)
log
Z
w
(
x
)
\varphi(\boldsymbol w)=\sum_{\boldsymbol x, y} \hat P(\boldsymbol x, y)\sum_iw_i f_i(\boldsymbol x, y) - \sum_{\boldsymbol x}\hat P(\boldsymbol x)\log Z_{\boldsymbol w}(\boldsymbol x)
φ(w)=x,y∑P^(x,y)i∑wifi(x,y)−x∑P^(x)logZw(x)
则 w ^ = arg max w φ ( w ) \hat{\boldsymbol w}=\arg\max_{\boldsymbol w} \varphi(\boldsymbol w) w^=argmaxwφ(w),参数学习使用改进的迭代尺度算法IIS求解。
最大熵模型求解过程举例
假设随机变量X有5个取值,约束 P(A)+P(B)=3/10,估计随机变量各个取值的概率。
该问题的最大熵模型的拉格朗日函数为
L
(
P
)
=
∑
i
=
1
5
P
(
y
i
)
log
P
(
y
i
)
+
w
i
(
P
(
y
i
)
+
P
(
y
2
)
−
3
10
)
+
w
0
(
∑
i
=
1
5
P
(
y
i
)
−
1
)
L(P)=\sum_{i=1}^5P(y_i)\log P(y_i)+w_i\left(P(y_i)+P(y_2)-\frac{3}{10}\right)+w_0\left(\sum_{i=1}^5P(y_i)-1\right)
L(P)=i=1∑5P(yi)logP(yi)+wi(P(yi)+P(y2)−103)+w0(i=1∑5P(yi)−1)
根据内部极小,得到
P
w
(
y
1
)
=
P
w
(
y
2
)
=
e
w
1
2
e
w
1
+
3
,
P
(
y
3
)
=
P
(
y
4
)
=
P
(
y
5
)
=
1
2
e
w
1
+
3
P_w(y_1)=P_w(y_2)=\frac{e^{w_1}}{2e^{w_1}+3},\quad P(y_3)=P(y_4)=P(y_5)=\frac{1}{2e^{w_1}+3}
Pw(y1)=Pw(y2)=2ew1+3ew1,P(y3)=P(y4)=P(y5)=2ew1+31
根据外部极大,得到
φ
(
w
)
=
3
10
w
1
−
log
(
2
e
w
1
+
3
)
\varphi(w)=\frac{3}{10}w_1-\log (2e^{w_1}+3)
φ(w)=103w1−log(2ew1+3)
对
φ
(
w
)
\varphi(w)
φ(w)求
w
w
w的偏导令其为0,得
e
w
1
=
9
14
⟹
P
(
y
1
)
=
P
(
y
2
)
=
3
20
,
P
(
y
3
)
=
P
(
y
4
)
=
P
(
y
5
)
=
7
30
e^{w_1}=\frac{9}{14} \implies P(y_1)=P(y_2)=\frac{3}{20},\ P(y_3)=P(y_4)=P(y_5)=\frac{7}{30}
ew1=149⟹P(y1)=P(y2)=203, P(y3)=P(y4)=P(y5)=307
李航《统计学习》上有未归一化内部极小得到的最大熵模型的解法。
最大熵模型与极大似然估计
判别模型的极大似然估计
L
(
w
)
=
∏
i
,
j
P
(
y
j
∣
x
i
,
w
)
P
^
(
x
i
)
=
∏
x
,
y
[
P
(
y
∣
x
,
w
)
P
^
(
x
)
]
ν
(
x
,
y
)
≃
∏
x
,
y
[
P
(
y
∣
x
,
w
)
P
^
(
x
)
]
ν
(
x
,
y
)
N
=
∏
x
,
y
[
P
(
y
∣
x
,
w
)
P
^
(
x
)
]
P
^
(
x
,
y
)
≃
∑
x
,
y
P
^
(
x
,
y
)
log
P
(
y
∣
x
,
w
)
+
P
^
(
x
,
y
)
log
P
^
(
x
)
≃
∑
x
,
y
P
^
(
x
,
y
)
log
P
(
y
∣
x
,
w
)
\begin{aligned} L(\boldsymbol w) &= \prod_{i,j} P(y_j|\boldsymbol x_i,\boldsymbol w)\hat P(\boldsymbol x_i)=\prod_{\boldsymbol x, y}[P(y|\boldsymbol x,\boldsymbol w)\hat P(\boldsymbol x)]^{\nu(\boldsymbol x, y)}\\ &\simeq\prod_{\boldsymbol x, y}[P(y|\boldsymbol x,\boldsymbol w)\hat P(\boldsymbol x)]^{\frac{\nu(\boldsymbol x, y)}{N}}=\prod_{\boldsymbol x,y}[P(y|\boldsymbol x,\boldsymbol w)\hat P(\boldsymbol x)]^{\hat P(\boldsymbol x,y)}\\ &\simeq\sum_{\boldsymbol x, y}\hat P(\boldsymbol x,y)\log P(y|\boldsymbol x,\boldsymbol w)+\hat P(\boldsymbol x,y)\log \hat P(\boldsymbol x)\\ &\simeq\sum_{\boldsymbol x, y}\hat P(\boldsymbol x,y)\log P(y|\boldsymbol x,\boldsymbol w) \end{aligned}
L(w)=i,j∏P(yj∣xi,w)P^(xi)=x,y∏[P(y∣x,w)P^(x)]ν(x,y)≃x,y∏[P(y∣x,w)P^(x)]Nν(x,y)=x,y∏[P(y∣x,w)P^(x)]P^(x,y)≃x,y∑P^(x,y)logP(y∣x,w)+P^(x,y)logP^(x)≃x,y∑P^(x,y)logP(y∣x,w)
其中 ν ( x , y ) \nu(\boldsymbol x, y) ν(x,y)表示样本 ( x , y ) (\boldsymbol x, y) (x,y)的频数, ∑ x , y \sum_{\boldsymbol x, y} ∑x,y是对样本集中不重复样本 ( x , y ) (\boldsymbol x, y) (x,y)求和。
从上式可得,极大对数似然估计与最大熵模型目标函数的区别在于log前是经验联合分布还是模型联合分布,由于最大熵模型使用约束“经验联合分布近似于模型联合分布”,因此极大似然估计与基于约束的最大熵模型描述的问题基本一致。
将公式(1)(2)带入上式,也可以得到两者的等价关系
L
(
w
)
=
∑
x
,
y
P
^
(
x
,
y
)
∑
i
w
i
f
i
(
x
,
y
)
−
∑
x
P
^
(
x
)
log
Z
w
(
x
)
=
φ
(
w
)
L(\boldsymbol w)=\sum_{\boldsymbol x, y} \hat P(\boldsymbol x, y)\sum_iw_i f_i(\boldsymbol x, y) - \sum_{\boldsymbol x}\hat P(\boldsymbol x)\log Z_{\boldsymbol w}(\boldsymbol x) =\varphi(\boldsymbol w)
L(w)=x,y∑P^(x,y)i∑wifi(x,y)−x∑P^(x)logZw(x)=φ(w)
即 最大熵对偶函数的极大化等价于最大熵模型的极大似然估计。
最大熵模型与逻辑回归
根据最大熵模型内部极小问题得到的条件概率分布,并定义特征函数,则
P
(
y
∣
x
,
w
)
=
exp
(
w
⋅
f
(
x
,
y
)
)
∑
y
exp
(
w
⋅
f
(
x
,
y
)
)
,
f
(
x
,
y
)
=
{
x
,
y
=
1
0
,
y
=
0
P(y|\boldsymbol x, \boldsymbol w)=\frac{\exp(\boldsymbol w\cdot f(\boldsymbol x,y))}{\sum_y\exp(\boldsymbol w\cdot f(\boldsymbol x,y))},\quad f(\boldsymbol x, y)=\begin{cases} \boldsymbol x, &y=1\\[1ex] 0, &y=0 \end{cases}
P(y∣x,w)=∑yexp(w⋅f(x,y))exp(w⋅f(x,y)),f(x,y)={x,0,y=1y=0
由最大熵模型可推出逻辑回归模型
P
(
y
=
1
∣
x
,
w
)
=
e
w
⋅
x
1
+
e
w
⋅
x
=
1
1
+
e
−
w
⋅
x
P(y=1|\boldsymbol x,\boldsymbol w)=\frac{e^{\boldsymbol w\cdot\boldsymbol x}}{1+e^{\boldsymbol w\cdot\boldsymbol x}} = \frac{1}{1+e^{-\boldsymbol w\cdot\boldsymbol x}}
P(y=1∣x,w)=1+ew⋅xew⋅x=1+e−w⋅x1
ME和LR模型类似,称之为对数线性模型
,模型学习就是在给定训练数据条件下进行极大似然估计。
模型学习之改进的迭代尺度法(Improved Iterative Scaling,IIS)
改进的迭代尺度法基本思想是,寻找新的参数向量 w + δ = ( w 1 + δ 1 , ⋯ , w n + δ n ) T \boldsymbol w + \boldsymbol \delta=(w_1 + \delta_1,\cdots,w_n + \delta_n)^T w+δ=(w1+δ1,⋯,wn+δn)T使得似然函数下界增大,从而提高似然函数的值,直至似然函数达到最大值.
当
a
>
0
a>0
a>0时,由
−
log
a
≥
1
−
a
-\log a \geq 1- a
−loga≥1−a,则模型参数从
w
\boldsymbol w
w变化为
w
+
δ
\boldsymbol w+\boldsymbol\delta
w+δ,似然函数变化
L
(
w
+
δ
)
−
L
(
w
)
=
∑
x
,
y
P
^
(
x
,
y
)
∑
i
δ
i
f
i
(
x
,
y
)
−
∑
x
P
^
(
x
)
log
Z
w
+
δ
(
x
)
Z
w
(
x
)
≥
∑
x
,
y
P
^
(
x
,
y
)
∑
i
δ
i
f
i
(
x
,
y
)
+
1
−
∑
x
P
^
(
x
)
Z
w
+
δ
(
x
)
Z
w
(
x
)
=
∑
x
,
y
P
^
(
x
,
y
)
∑
i
δ
i
f
i
(
x
,
y
)
+
1
−
∑
x
P
^
(
x
)
∑
y
P
w
(
y
∣
x
)
exp
∑
i
δ
i
f
i
(
x
,
y
)
\begin{aligned} L(\boldsymbol w + \boldsymbol\delta)-L(\boldsymbol w) &=\sum_{\boldsymbol x, y}\hat P(\boldsymbol x,y)\sum_i\delta_if_i(\boldsymbol x, y)-\sum_{\boldsymbol x}\hat P(\boldsymbol x)\log\frac{Z_{\boldsymbol w+\boldsymbol\delta}(\boldsymbol x)}{Z_{\boldsymbol w}(\boldsymbol x)}\\ &\geq\sum_{\boldsymbol x, y}\hat P(\boldsymbol x,y)\sum_i\delta_if_i(\boldsymbol x, y)+1-\sum_{\boldsymbol x}\hat P(\boldsymbol x)\frac{Z_{\boldsymbol w+\boldsymbol\delta}(\boldsymbol x)}{Z_{\boldsymbol w}(\boldsymbol x)}\\ &=\sum_{\boldsymbol x, y}\hat P(\boldsymbol x,y)\sum_i\delta_if_i(\boldsymbol x, y)+1-\sum_{\boldsymbol x}\hat P(\boldsymbol x)\sum_yP_{\boldsymbol w}(y|\boldsymbol x)\exp\sum_i\delta_if_i(\boldsymbol x,y)\\ \end{aligned}
L(w+δ)−L(w)=x,y∑P^(x,y)i∑δifi(x,y)−x∑P^(x)logZw(x)Zw+δ(x)≥x,y∑P^(x,y)i∑δifi(x,y)+1−x∑P^(x)Zw(x)Zw+δ(x)=x,y∑P^(x,y)i∑δifi(x,y)+1−x∑P^(x)y∑Pw(y∣x)expi∑δifi(x,y)
IIS算法试图每次只优化一个
δ
i
\delta_i
δi,固定其它
δ
j
\delta_j
δj. 引入变量
f
#
(
x
,
y
)
=
∑
k
f
k
(
x
,
y
)
f^{\#}(\boldsymbol x,y)=\sum_kf_k(\boldsymbol x,y)
f#(x,y)=∑kfk(x,y),由Jensen不等式知
exp
(
∑
i
δ
i
f
i
(
x
,
y
)
)
=
exp
(
∑
i
f
i
(
x
,
y
)
f
#
(
x
,
y
)
δ
i
f
#
(
x
,
y
)
)
≤
∑
i
f
i
(
x
,
y
)
f
#
(
x
,
y
)
exp
(
δ
i
f
#
(
x
,
y
)
)
\exp\left(\sum_i\delta_if_i(\boldsymbol x,y)\right)=\exp\left(\sum_i\frac{f_i(\boldsymbol x,y)}{f^{\#}(\boldsymbol x,y)}\delta_if^{\#}(\boldsymbol x,y)\right)\leq \sum_i\frac{f_i(\boldsymbol x,y)}{f^{\#}(\boldsymbol x,y)}\exp(\delta_if^{\#}(\boldsymbol x,y))
exp(i∑δifi(x,y))=exp(i∑f#(x,y)fi(x,y)δif#(x,y))≤i∑f#(x,y)fi(x,y)exp(δif#(x,y))
省略常数项,并记
P
w
(
x
,
y
)
=
P
^
(
x
)
P
x
(
y
∣
x
)
P_{\boldsymbol w}(\boldsymbol x,y)=\hat P(\boldsymbol x)P_{\boldsymbol x}(y|\boldsymbol x)
Pw(x,y)=P^(x)Px(y∣x),因此
L
(
w
+
δ
)
−
L
(
w
)
≥
∑
x
,
y
P
^
(
x
,
y
)
∑
i
δ
i
f
i
(
x
,
y
)
−
∑
x
,
y
P
w
(
x
,
y
)
exp
∑
i
δ
i
f
i
(
x
,
y
)
≥
∑
x
,
y
P
^
(
x
,
y
)
∑
i
δ
i
f
i
(
x
,
y
)
−
∑
x
,
y
P
w
(
x
,
y
)
∑
i
f
i
(
x
,
y
)
f
#
(
x
,
y
)
exp
(
δ
i
f
#
(
x
,
y
)
)
=
B
(
δ
∣
w
)
\begin{aligned} L(\boldsymbol w + \boldsymbol\delta)-L(\boldsymbol w) &\geq\sum_{\boldsymbol x, y}\hat P(\boldsymbol x,y)\sum_i\delta_if_i(\boldsymbol x, y)-\sum_{\boldsymbol x,y}P_{\boldsymbol w}(\boldsymbol x,y)\exp\sum_i\delta_if_i(\boldsymbol x,y)\\ &\geq\sum_{\boldsymbol x, y}\hat P(\boldsymbol x,y)\sum_i\delta_if_i(\boldsymbol x, y)-\sum_{\boldsymbol x,y}P_{\boldsymbol w}(\boldsymbol x,y)\sum_i\frac{f_i(\boldsymbol x,y)}{f^{\#}(\boldsymbol x,y)}\exp(\delta_if^{\#}(\boldsymbol x,y))=B(\boldsymbol\delta|\boldsymbol w) \end{aligned}
L(w+δ)−L(w)≥x,y∑P^(x,y)i∑δifi(x,y)−x,y∑Pw(x,y)expi∑δifi(x,y)≥x,y∑P^(x,y)i∑δifi(x,y)−x,y∑Pw(x,y)i∑f#(x,y)fi(x,y)exp(δif#(x,y))=B(δ∣w)
求
B
B
B对
δ
i
\delta_i
δi并令其为0,得
∑
x
,
y
P
w
(
x
,
y
)
f
i
(
x
,
y
)
exp
(
δ
i
f
#
(
x
,
y
)
)
=
∑
x
,
y
P
^
(
x
,
y
)
f
i
(
x
,
y
)
\sum_{\boldsymbol x,y}P_{\boldsymbol w}(\boldsymbol x,y)f_i(\boldsymbol x,y)\exp(\delta_if^{\#}(\boldsymbol x,y))=\sum_{\boldsymbol x,y}\hat P(\boldsymbol x,y)f_i(\boldsymbol x,y)
x,y∑Pw(x,y)fi(x,y)exp(δif#(x,y))=x,y∑P^(x,y)fi(x,y)
若对于任意
(
x
,
y
)
(\boldsymbol x,y)
(x,y),
f
#
(
x
,
y
)
f^{\#}(\boldsymbol x,y)
f#(x,y)为常数
M
M
M,则
δ
i
\delta_i
δi显式表示为
δ
i
=
1
M
log
E
P
^
(
f
i
)
E
P
(
f
i
)
\delta_i=\frac{1}{M}\log\frac{E_{\hat P}(f_i)}{E_P(f_i)}
δi=M1logEP(fi)EP^(fi)
否则,需通过牛顿法求解 δ i \delta_i δi。
ME总结
优点: 可通过灵活的约束条件,调节模型对未知数据的适应度和已知数据的拟合度;最大熵模型关于数据分布的熵极大,作为经典分类模型准确度较高。
缺点: 约束函数与样本数量相关,大样本下迭代计算量巨大,实际应用困难。
最大熵马尔可夫模型(Maximum Entropy Markov Model, MEMM)
MEMM的思想是找到一个 满足马尔可夫奇次性假设、观测不独立且熵最大 的模型解决序列标注问题,模型图结构如下:
MEMM对条件概率直接建模,模型表示为
P
(
s
∣
o
)
=
∏
t
P
(
s
t
∣
s
t
−
1
,
o
t
)
P(\boldsymbol s|\boldsymbol o)=\prod_{t}P(s_t|s_{t-1}, o_t)
P(s∣o)=t∏P(st∣st−1,ot)
相比HMM,MEMM没有观测独立性假设。若不考虑整个序列式,时刻
t
t
t的隐状态可看做一个分类问题,我们采用最大熵模型建模
P
(
s
t
=
i
∣
s
t
−
1
,
o
t
)
=
1
Z
(
o
t
,
s
t
−
1
)
exp
(
∑
k
λ
k
f
k
(
o
t
,
s
t
=
i
)
)
,
Z
(
o
t
,
s
t
−
1
)
=
∑
i
exp
(
∑
k
λ
k
f
k
(
o
t
,
s
t
=
i
)
)
P(s_t=i|s_{t-1}, o_t)=\frac{1}{Z(o_t, s_{t-1})}\exp\left(\sum_k\lambda_kf_k(o_t, s_t=i)\right) ,\quad Z(o_t,s_{t-1})=\sum_i\exp\left(\sum_k\lambda_kf_k(o_t,s_t=i)\right)
P(st=i∣st−1,ot)=Z(ot,st−1)1exp(k∑λkfk(ot,st=i)),Z(ot,st−1)=i∑exp(k∑λkfk(ot,st=i))
式中,
Z
(
o
t
,
s
t
−
1
)
Z(o_t, s_{t-1})
Z(ot,st−1)为局部归一化因子,对每时刻都需要做归一化;
f
k
(
o
t
,
s
t
)
f_k(o_t, s_t)
fk(ot,st)为人工定义的第
k
k
k个二值特征函数;
λ
k
\lambda_k
λk为特征函数
f
k
f_k
fk的权重,通过训练最终确定,也是模型训练学习的唯一参数向量。
MEMM标注偏置问题
MEMM对每个时刻都做归一化(局部归一化),因此有更少转移状态的状态,其各转移概率普遍更高,因此最大概率路径更易出现转移状态少的状态.
每个节点的转移状态(分支数)不同,每个节点的转移状态形成概率分布,导致概率分布不均衡,转移状态越少的状态,转移概率(边权值)就越大,因子最终概率最大路径中更可能出现转移状态较少的状态。