目标:在数据为$D=(X,Y) $的情况下,最大熵模型希望建立一个分类模型,该分类模型的独特之处在于其希望在满足数据的先验知识的情况下,模型的熵尽量大(满足数据的条件下,不确定程度最大)
熵用于衡量不确定性,一个随机变量 X X XX XX的熵的定义为
H ( X ) = − ∑ x p ( x ) l o g p ( x ) H(X)=-\sum_{x}p(x)logp(x) H(X)=−x∑p(x)logp(x)
分类模型是条件概率模型,最大熵模型也是在输入数据的条件下力求熵最大,即条件熵最大。条件熵 H ( Y ∣ X ) H(Y|X) H(Y∣X)表示在随机变量 X X X的条件下随机变量Y的不确定性,定义为 X X X给定条件下, Y Y Y的条件概率分布的熵的期望,计算方式如下
H ( Y ∣ X ) = ∑ X = x p ( x ) ( H ( Y ∣ X = x ) ) = ∑ X = x p ( x ) ( − ∑ Y = y p ( y ∣ X = x ) log p ( y ∣ X = x ) ) = − ∑ X = x ∑ Y = y p ( x ) p ( y ∣ X = x ) log p ( y ∣ X = x ) = − ∑ x ∑ y p ( x ) p ( y ∣ x ) l o g p ( y ∣ x ) \begin{aligned} H(Y \mid X)&=\sum_{X=x} p(x)(H(Y \mid X=x)) \\ &=\sum_{X=x} p(x)\left(-\sum_{Y=y} p(y \mid X=x) \log p(y \mid X=x)\right) \\ &=-\sum_{X=x} \sum_{Y=y} p(x) p(y \mid X=x) \log p(y \mid X=x)\\ &=-\sum_{x} \sum_{y} p(x) p(y\mid x)logp(y\mid x) \end{aligned} H(Y∣X)=X=x∑p(x)(H(Y∣X=x))=X=x∑p(x)⎝⎛−Y=y∑p(y∣X=x)logp(y∣X=x)⎠⎞=−X=x∑Y=y∑p(x)p(y∣X=x)logp(y∣X=x)=−x∑y∑p(x)p(y∣x)logp(y∣x)
根据现有数据,可以计算 ( X , Y ) (X,Y) (X,Y)的经验分布 P ^ ( x , y ) \hat{P}(x,y) P^(x,y)和 X X X的经验分布 P ^ ( x ) \hat{P}(x) P^(x),另外定义一个特征函数(用于说明数据集的事实情况)
f ( x , y ) = { 1 , if 事 实 ( x , y ) 满 足 数 据 D 0 , else f(x, y)=\left\{\begin{array}{l} 1, \text { if } 事实(x,y)满足数据D \\ 0, \text { else } \end{array}\right. f(x,y)={1, if 事实(x,y)满足数据D0, else
则该特征函数关于 P ^ ( x , y ) \hat{P}(x,y) P^(x,y)的期望代表在当前数据下 ( x , y ) (x,y) (x,y)事实发生的期望,该值计算方式为
∑ x , y P ^ ( x , y ) f ( x , y ) \sum_{x,y}\hat{P}(x,y)f(x,y) x,y∑P^(x,y)f(x,y)
上式根据贝叶斯公式又可以被改写为
∑ x , y P ^ ( x ) P ( y ∣ x ) f ( x , y ) \sum_{x,y}\hat{P}(x)P(y\mid x)f(x,y) x,y∑P^(x)P(y∣x)f(x,y)
(4)式和(5)式分别使用了 P ^ ( x , y ) \hat{P}(x,y) P^(x,y)和 P ^ ( x ) \hat{P}(x) P^(x)来计算 ( x , y ) (x,y) (x,y)事实发生的期望,则理论上二者的值应该相等,即
∑ x , y P ^ ( x , y ) f ( x , y ) = ∑ x , y P ^ ( x ) P ( y ∣ x ) f ( x , y ) \sum_{x,y}\hat{P}(x,y)f(x,y) =\sum_{x,y}\hat{P}(x)P(y\mid x)f(x,y) x,y∑P^(x,y)f(x,y)=x,y∑P^(x)P(y∣x)f(x,y)
至此,最大熵模型的优化目标为(2)式,约束条件为(7)式。
剩下的为数学优化问题。