最大熵的思想认为,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型(对未知的事实视为等概率发生,不添加任何主观先验知识)。
我们通常用约束条件来确定概率模型的集合,所以也可认为是在满足约束条件的模型中选出熵最大的模型。
最大熵模型给出的是 最优模型选择的一个准则。
例:
X = {A, B, C ,D, E},要估计 P(A),…,P(E) 的概率,要满足条件:
① P(A) + P(B) = 3/10;
② P(A) + … + P(E) = 1
此时满足条件的概率组合有无穷多个,而根据最大熵原理,我们视等概率的组合为最优。
则:
P ( A ) = P ( B ) = 1 2 ⋅ 3 10 = 3 20 P(A) = P(B) = \frac{1}{2} · \frac{3}{10} = \frac{3}{20} P(A)=P(B)=21⋅103=203
P ( C ) + P ( D ) + P ( E ) = 1 − 3 10 = 7 10 → P ( C ) = P ( D ) = P ( E ) = 1 3 ⋅ 7 10 = 7 30 P(C) + P(D) + P(E) = 1 - \frac{3}{10} = \frac{7}{10} \rightarrow P(C) = P(D) = P(E) = \frac{1}{3} · \frac{7}{10} = \frac{7}{30} P(C)+P(D)+P(E)=1−103=107→P(C)=P(D)=P(E)=31⋅107=307
最大熵一般需要满足一定的约束条件,在此情况下寻找熵最大的模型。即相当于在满足已知条件的情况下,不加入任何先验知识,寻找最优模型。
例如,决策树在生成过程中,其分类结点的熵是不断减小的,但最终熵越小,过拟合程度越高,所以需要剪枝。
剪枝过程就是在保持预测误差基本不变的情况下,使结点分类的熵最大,使得过拟合程度降低(应用最大熵原理)。
假设分类模型是一个 条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X),此模型表示的是:对于给定输入 X X X,以条件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X) 输出 Y Y Y.
P ~ ( X = x , Y = y ) = V ( X = x , Y = y ) N \widetilde{P} (X=x,Y=y)= \frac{V(X=x,Y=y)}{N} P (X=x,Y=y)=NV(X=x,Y=y)
P ~ ( X = x ) = V ( X = x ) N \widetilde{P} (X=x) = \frac{V(X=x)}{N} P (X=x)=NV(X=x)
其中,
" ~ " 表示经验,是从数据中获得的, P ~ \widetilde{P} P 即经验概率, E P ~ E_{\widetilde{P}} EP 即经验期望。
V ( X = x , Y = y ) V(X=x,Y=y) V(X=x,Y=y) 表示在训练样本中 ( x , y ) (x,y) (x,y) 同时出现的样本数;
V ( X = x ) V(X=x) V(X=x) 表示训练样本中 x x x 出现的的样本数。
用特征函数 f ( x , y ) f(x,y) f(x,y) 描述 x x x 与 y y y 之间的事实: f ( x , y ) = { 1 , x 与 y 满 足 某 事 实 0 , o t h e r w i s e f(x,y)=\begin{cases}1,x 与 y 满足某事实\\0,otherwise\\\end{cases} f(x,y)={1,x与y满足某事实0,otherwise
特征函数 f ( x , y ) f(x,y) f(x,y) 关于 P ~ ( x , y ) \widetilde{P} (x,y) P (x,y) 期望值: E P ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) E_{\widetilde{P}}(f)=\sum_{x,y}\widetilde{P} (x,y)f(x,y) EP (f)=∑x,yP (x,y)f(x,y)
特征函数 f ( x , y ) f(x,y) f(x,y) 关于模型 P ( Y ∣ X ) P(Y|X) P(Y∣X) 以及 P ~ ( x ) \widetilde{P}(x) P (x) 的期望值: E P ~ ( f ) = ∑ x , y P ~ ( x ) p ( y ∣ x ) f ( x , y ) E_{\widetilde{P}}(f)=\sum_{x,y}\widetilde{P} (x)p(y|x)f(x,y) EP (f)=∑x,yP (x)p(y∣x)f(x,y)
如果模型能够学习到训练数据中的信息,则可假设 E P ( f ) = E P ~ ( f ) E_P(f)=E_{\widetilde{P}}(f) EP(f)=EP (f) (可类比于之前《损失函数》中提到的“经验损失”与“期望损失”)
即,
∑ x , y P ~ ( x , y ) f ( x , y ) = ∑ x , y P ~ ( x ) p ( y ∣ x ) f ( x , y ) \sum_{x,y}\widetilde{P} (x,y)f(x,y) =\sum_{x,y}\widetilde{P} (x)p(y|x)f(x,y) ∑x,yP (x,y)f(x,y)=∑x,yP (x)p(y∣x)f(x,y)
并以此作为约束条件。
则最大熵模型可作如下定义:
假设满足所有约束条件的 模型集合 为: C ≡ { p ∈ P ∣ E p ( f i ) = E p ~ ( f i ) , i = 1 , 2 , … , n } C \equiv \{ p∈P|E_p(f_i) = E_{\widetilde{p}}(f_i),i=1,2,…,n \} C≡{p∈P∣Ep(fi)=Ep (fi),i=1,2,…,n}
定义在条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X) 上的条件熵为 H ( p ) = − ∑ x , y P ~ ( x ) p ( y ∣ x ) log p ( y ∣ x ) H(p) = -\sum_{x,y}\widetilde{P}(x)p(y|x)\log{p(y|x)} H(p)=−∑x,yP (x)p(y∣x)logp(y∣x)
则模型集合 C C C 中条件熵 H ( p ) H(p) H(p) 最大的模型称为 最大熵模型。
∙ \bullet ∙ 学习问题可形式化为约束优化问题,等价于:
max p ∈ C H ( p ) = − ∑ x , y P ~ ( x ) p ( y ∣ x ) log p ( y ∣ x ) \max_{p∈C} H(p)=-\sum_{x,y}\widetilde{P}(x)p(y|x)\log{p(y|x)} maxp∈CH(p)=−∑x,yP (x)p(y∣x)logp(y∣x)
s . t s.t s.t E p ( f i ) ) = E p ~ ( f i ) ) , i = 1 , 2 , … , n E_p(f_i))=E_{\widetilde{p}}(f_i)),i=1,2,…,n Ep(fi))=Ep (fi)),i=1,2,…,n
∑ y p ( y ∣ x ) = 1 \sum_yp(y|x)=1 ∑yp(y∣x)=1
∙ \bullet ∙ 最小化 → 最大化
min p ∈ C − H ( p ) = ∑ x , y P ~ ( x ) p ( y ∣ x ) log p ( y ∣ x ) \min_{p∈C} -H(p)=\sum_{x,y}\widetilde{P}(x)p(y|x)\log{p(y|x)} minp∈C−H(p)=∑x,yP (x)p(y∣x)logp(y∣x)
s . t s.t s.t E p ( f i ) ) = E p ~ ( f i ) ) , i = 1 , 2 , … , n E_p(f_i))=E_{\widetilde{p}}(f_i)),i=1,2,…,n Ep(fi))=Ep (fi)),i=1,2,…,n
∑ y p ( y ∣ x ) = 1 \sum_yp(y|x)=1 ∑yp(y∣x)=1
∙ \bullet ∙ 引入拉格朗日乘子
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 ) ) L(p,w)\equiv -H(p) + w_0(1-\sum_yp(y|x)) + \sum_{i=1}^{n} w_i(E_{\widetilde{p}}(f_i)-E_p(f_i)) L(p,w)≡−H(p)+w0(1−∑yp(y∣x))+∑i=1nwi(Ep (fi)−Ep(fi))
max w L ( p , w ) = − H ( p ) \max_{w}L(p,w) = -H(p) maxwL(p,w)=−H(p)
∙ \bullet ∙ 最小化 − H ( p ) -H(p) −H(p)
min p ∈ C max w L ( p , w ) = min p ∈ C − H ( p ) \min_{p∈C} \max_{w}L(p,w) = \min_{p∈C}-H(p) minp∈CmaxwL(p,w)=minp∈C−H(p)
∙ \bullet ∙ 对偶问题
max w min p ∈ C L ( p , w ) \max_{w} \min_{p∈C}L(p,w) maxwminp∈CL(p,w)
由于 L ( p , w ) L(p,w) L(p,w) 是凸函数,所以原始问题于对偶问题等价。
∙ \bullet ∙ 计算
对 p p p 求偏导,且令导数为 0:
∂ L ( p , w ) ∂ p ( y i ∣ x i ) = 0 , i = 1 , 2 , … , n \frac{\partial L(p,w)}{\partial p(y_i|x_i)}=0,i=1,2,…,n ∂p(yi∣xi)∂L(p,w)=0,i=1,2,…,n
代回原式子,再对 w 0 , w 1 w_0,w_1 w0,w1 分别求偏导,且令导数为 0 :
求解后代回,计算 p ( y i ∣ x i ) , i = 1 , 2 , … , n p(y_i|x_i),i=1,2,…,n p(yi∣xi),i=1,2,…,n
∙ \bullet ∙ 最终模型表示为:
p w ( y ∣ x ) = 1 z w ( x ) e ∑ i = 1 n w i f i ( x , y ) p_w(y|x)=\frac{1}{z_w(x)}e^{\sum_{i=1}^{n}w_if_i(x,y)} pw(y∣x)=zw(x)1e∑i=1nwifi(x,y)
其中, z w ( x ) = ∑ y e ∑ i = 1 n w i f i ( x , y ) z_w(x)=\sum_ye^{\sum_{i=1}^{n}w_if_i(x,y)} zw(x)=∑ye∑i=1nwifi(x,y) 可视为为归一化因子。
已知训练数据的经验概率分布 p ~ ( x , y ) \widetilde p(x,y) p (x,y),
条件概率分布为 p ( Y ∣ X ) p(Y|X) p(Y∣X) 的对数似然函数表示为:
L p ~ ( p w ) = log ∏ x , y p ( y ∣ x ) p ~ ( x , y ) = ∑ x , y p ~ ( x , y ) log p ( y ∣ x ) L_{\widetilde p}(p_w) = \log \prod_{x,y}p(y|x)^{\widetilde p(x,y)} = \sum_{x,y} \widetilde p(x,y) \log p(y|x) Lp (pw)=log∏x,yp(y∣x)p (x,y)=∑x,yp (x,y)logp(y∣x)
当条件概率分布 p ( y , x ) p(y,x) p(y,x) 是最大熵模型时:
L p ~ ( p w ) = ∑ x , y p ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y p ~ ( x , y ) log z w ( x ) L_{\widetilde p}(p_w) = \sum_{x,y} \widetilde p(x,y) \sum_{i=1}^{n}w_if_i(x,y) - \sum_{x,y} \widetilde p(x,y) \log z_w(x) Lp (pw)=∑x,yp (x,y)∑i=1nwifi(x,y)−∑x,yp (x,y)logzw(x)
= ∑ x , y p ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x p ~ ( x ) log z w ( x ) = \sum_{x,y} \widetilde p(x,y) \sum_{i=1}^{n}w_if_i(x,y) - \sum_{x} \widetilde p(x) \log z_w(x) =∑x,yp (x,y)∑i=1nwifi(x,y)−∑xp (x)logzw(x)