最大熵模型(ME)和最大熵马尔可夫模型(MEMM)



最大熵模型(Maximum Entropy Model, MEM)

最大熵思想

无更多信息的情况下,最随机的推断(概率分布的熵最大)是最合理的推断,即未知部分均匀分布时最合理,均匀分布的熵最大。若基于判别模型 P ( y x ) P(y|\boldsymbol x) 预测实例类别,无先验知识下,实例 x \boldsymbol 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
对于带有约束的情况,如 X X 取值集合为 { 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 / 6 , P ( c ) = P ( d ) = P ( e ) = 2 / 9 P(a)=P(b)=1/6,\quad P(c)=P(d)=P(e)=2/9

时,概率分布的熵最大,最大熵模型的思想就是寻找满足约束且熵最大的模型。


最大熵模型表示

ν ( x , y ) \nu(\boldsymbol x, y) 表示训练样本集中 ( x , y ) (\boldsymbol 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}

定义二值特征函数 f ( x , y ) f(\boldsymbol x, y) ,表示输入输出之间的事实关系,即
f ( x , y ) = { 1 , x y 0 , f(\boldsymbol x, y)=\begin{cases} 1, &\boldsymbol x与y满足某一事实\\[1ex] 0, &其他 \end{cases}
理想的模型应能获取训练集中的约束信息,即特征函数在模型分布、经验分布熵的期望近似,即
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)
最大熵模型的学习,等价于最大化带有约束的条件熵
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}

判别式模型无法得到 P ( x , y ) P(\boldsymbol x,y) 的分布,使用近似 P ( x , y ) P ( y x ) P ^ ( x ) P(\boldsymbol x, y)\approx P(y|\boldsymbol x)\hat P(\boldsymbol 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 L 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)


I. 求内部极小(导出最大熵模型): L L P ( x y ) P(\boldsymbol x|y) 的偏导为0,且假设 P ^ ( x ) > 0 \hat P(\boldsymbol 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)}
根据约束条件知: y P ( y x ) = 1 \sum_y P(y|x)=1 ,执行归一化也可以进一步消去 w 0 w_0 ,最终得最大熵模型
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}
从最大熵模型的表达式可知,最大熵模型将复杂的联合分布分解为多个指数项/因子的乘积,得到给定 x x y y 的条件概率分布。


II. 求外部极大(用于更新最大熵模型 P w P_w 的参数): 将内部极小结果带入拉格朗日函数,得
φ ( 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 ^ = arg max w φ ( w ) \hat{\boldsymbol w}=\arg\max_{\boldsymbol w} \varphi(\boldsymbol 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)

根据内部极小,得到
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}

根据外部极大,得到
φ ( w ) = 3 10 w 1 log ( 2 e w 1 + 3 ) \varphi(w)=\frac{3}{10}w_1-\log (2e^{w_1}+3)

φ ( w ) \varphi(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}
李航《统计学习》上有未归一化内部极小得到的最大熵模型的解法。


最大熵模型与极大似然估计

判别模型的极大似然估计
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}

其中 ν ( x , y ) \nu(\boldsymbol x, y) 表示样本 ( x , y ) (\boldsymbol x, y) 的频数, x , y \sum_{\boldsymbol x, y} 是对样本集中不重复样本 ( x , y ) (\boldsymbol 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)

最大熵对偶函数的极大化等价于最大熵模型的极大似然估计


最大熵模型与逻辑回归

根据最大熵模型内部极小问题得到的条件概率分布,并定义特征函数,则
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 = 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}}
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 使得似然函数下界增大,从而提高似然函数的值,直至似然函数达到最大值.

a > 0 a>0 时,由 log a 1 a -\log a \geq 1- a ,则模型参数从 w \boldsymbol w 变化为 w + δ \boldsymbol w+\boldsymbol\delta ,似然函数变化
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}

IIS算法试图每次只优化一个 δ i \delta_i ,固定其它 δ j \delta_j . 引入变量 f # ( x , y ) = k f k ( x , y ) f^{\#}(\boldsymbol x,y)=\sum_kf_k(\boldsymbol 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))

省略常数项,并记 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) ,因此
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}

B B δ i \delta_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 ) (\boldsymbol x,y) f # ( x , y ) f^{\#}(\boldsymbol x,y) 为常数 M M ,则 δ i \delta_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 \delta_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)
相比HMM,MEMM没有观测独立性假设。若不考虑整个序列式,时刻 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)
式中, Z ( o t , s t 1 ) Z(o_t, s_{t-1}) 为局部归一化因子,对每时刻都需要做归一化; f k ( o t , s t ) f_k(o_t, s_t) 为人工定义的第 k k 个二值特征函数; λ k \lambda_k 为特征函数 f k f_k 的权重,通过训练最终确定,也是模型训练学习的唯一参数向量。


MEMM标注偏置问题

MEMM对每个时刻都做归一化(局部归一化),因此有更少转移状态的状态,其各转移概率普遍更高,因此最大概率路径更易出现转移状态少的状态.

每个节点的转移状态(分支数)不同,每个节点的转移状态形成概率分布,导致概率分布不均衡,转移状态越少的状态,转移概率(边权值)就越大,因子最终概率最大路径中更可能出现转移状态较少的状态。

猜你喜欢

转载自blog.csdn.net/sinat_34072381/article/details/107279644
今日推荐