将最大信息熵这个概率论中的一般性原理应用于机器学习分类模型,我们可以得到基于最大信息熵原理的一般性模型,即最大信息熵模型。假设有条件概率分布为 P ( Y ∣ X ) P(Y|X) P(Y∣X) 的概率分类模型,该模型表示对于给定输入 X X X,模型以条件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X) 输出 Y Y Y。在给定训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } T = \{ (x_1, y_1), (x_2, y_2), \ldots, (x_N, y_N) \} T={(x1,y1),(x2,y2),…,(xN,yN)} 的情况下,学习的目标就是选择最大信息熵模型作为目标模型。
根据训练集 T T T,可以确定联合概率分布 P ( X , Y ) P(X,Y) P(X,Y) 的经验分布 P ~ ( X , Y ) \tilde{P}(X,Y) P~(X,Y) 和边缘概率分布 P ( X ) P(X) P(X) 的经验分布 P ~ ( X ) \tilde{P}(X) P~(X),其中:
P ~ ( X = x , Y = y ) = c ( X = x , Y = y ) N (20-3) \tilde{P}(X=x, Y=y) = \frac{c(X=x, Y=y)}{N} \tag{20-3} P~(X=x,Y=y)=Nc(X=x,Y=y)(20-3)
P ~ ( X = x ) = c ( X = x ) N (20-4) \tilde{P}(X=x) = \frac{c(X=x)}{N} \tag{20-4} P~(X=x)=Nc(X=x)(20-4)
c ( X = x , Y = y ) c(X=x, Y=y) c(X=x,Y=y) 和 c ( X = x ) c(X=x) c(X=x) 分别为训练集中样本 ( x , y ) (x,y) (x,y) 出现的频数和 x x x 出现的频数, N N N 为训练样本量。
为了得到最大信息熵模型,我们需要找到输入 x x x 和输出 y y y 满足的约束条件。假设 x x x 和 y y y 满足某一条件,我们可以用特征函数 f ( x , y ) f(x,y) f(x,y) 来描述:
f ( x , y ) = { 1 , x 与 y 满足某一条件 0 , 否则 (20-5) f(x,y) = \begin{cases} 1, & x与y满足某一条件 \\ 0, & 否则 \end{cases} \tag{20-5} f(x,y)={1,0,x与y满足某一条件否则(20-5)
即 x x x 与 y y y 满足某一条件时该函数取 1,否则为 0。
计算特征函数 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):
E p ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) (20-6) E_{\tilde{p}}(f) = \sum_{x,y} \tilde{P}(x,y) f(x,y) \tag{20-6} Ep~(f)=x,y∑P~(x,y)f(x,y)(20-6)
计算特征函数 f ( x , y ) f(x,y) f(x,y) 关于模型 P ( Y ∣ X ) P(Y|X) P(Y∣X) 与边缘经验分布 P ~ ( X ) \tilde{P}(X) P~(X) 的数学期望 E p ( f ) E_p(f) Ep(f):
E p ( f ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) (20-7) E_p(f) = \sum_{x,y} \tilde{P}(x) P(y|x) f(x,y) \tag{20-7} Ep(f)=x,y∑P~(x)P(y∣x)f(x,y)(20-7)
根据:
P ~ ( x , y ) = P ~ ( x ) P ( y ∣ x ) (20-8) \tilde{P}(x,y) = \tilde{P}(x) P(y|x) \tag{20-8} P~(x,y)=P~(x)P(y∣x)(20-8)
以及训练数据信息,可假设上述两个期望值相等,即:
E p ~ ( f ) = E p ( f ) (20-9) E_{\tilde{p}}(f) = E_p(f) \tag{20-9} Ep~(f)=Ep(f)(20-9)
展开有:
∑ x , y P ~ ( x , y ) f ( x , y ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) (20-10) \sum_{x,y} \tilde{P}(x,y) f(x,y) = \sum_{x,y} \tilde{P}(x) P(y|x) f(x,y) \tag{20-10} x,y∑P~(x,y)f(x,y)=x,y∑P~(x)P(y∣x)f(x,y)(20-10)
式(20-10)即可作为求解最大信息熵模型的约束条件,当有 n n n 个特征函数 f i ( x , y ) f_i(x,y) fi(x,y), i = 1 , 2 , … , n i=1,2,\ldots,n i=1,2,…,n 时,就有 n n n 个约束条件。
至此,我们就可以将最大信息熵模型的求解规约为如下约束优化问题:
max P H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) s.t. E P ~ ( f i ) = E P ( f i ) , i = 1 , 2 , … , n , ∑ y P ( y ∣ x ) = 1 (20-11) \begin{aligned} \max_{P} \quad & H(P) = -\sum_{x, y} \tilde{P}(x) P(y \mid x) \log P(y \mid x) \\ \text{s.t.} \quad & \mathbb{E}_{\tilde{P}}(f_i) = \mathbb{E}_{P}(f_i), \quad i = 1, 2, \dots, n, \\ & \sum_{y} P(y \mid x) = 1 \end{aligned} \tag{20-11} Pmaxs.t.H(P)=−x,y∑P~(x)P(y∣x)logP(y∣x)EP~(fi)=EP(fi),i=1,2,…,n,y∑P(y∣x)=1(20-11)
将式(20-11)的求极大化问题改写为等价的极小化问题:
min P − H ( P ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) s.t. E P ~ ( f i ) = E P ( f i ) , i = 1 , 2 , … , n , ∑ y P ( y ∣ x ) = 1 (20-12) \begin{aligned} \min_{P} \quad & -H(P) = \sum_{x, y} \tilde{P}(x) P(y \mid x) \log P(y \mid x) \\ \text{s.t.} \quad & \mathbb{E}_{\tilde{P}}(f_i) = \mathbb{E}_{P}(f_i), \quad i = 1, 2, \dots, n, \\ & \sum_{y} P(y \mid x) = 1 \end{aligned} \tag{20-12} Pmins.t.−H(P)=x,y∑P~(x)P(y∣x)logP(y∣x)EP~(fi)=EP(fi),i=1,2,…,n,y∑P(y∣x)=1(20-12)
根据拉格朗日乘子法,将式(20-12)的约束极小化原始问题改写为无约束最优化的对偶问题,通过求解对偶问题来求解原始问题。原始问题与对偶问题的转换见第9章。
引入拉格朗日乘子 w 0 , w 1 , … , w n w_0, w_1, \ldots, w_n w0,w1,…,wn,定义拉格朗日函数 L ( P , w ) L(P,w) L(P,w):
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 ) ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( ∑ x , y P ~ ( x , y ) f i ( x , y ) − ∑ x , y P ~ ( x ) P ( y ∣ x ) f i ( x , y ) ) (20-13) \begin{aligned} L(P, w) = & -H(P) + w_0 \left( 1 - \sum_{y} P(y \mid x) \right) +\sum_{i=1}^{n} w_i \left( \mathbb{E}_{\tilde{P}}(f_i) - \mathbb{E}_{P}(f_i) \right) \\ = & \sum_{x, y} \tilde{P}(x) P(y \mid x) \log P(y \mid x) +w_0 \left( 1 - \sum_{y} P(y \mid x) \right) \\ & + \sum_{i=1}^{n} w_i \left( \sum_{x, y} \tilde{P}(x, y) f_i(x, y) -\sum_{x, y} \tilde{P}(x) P(y \mid x) f_i(x, y) \right) \end{aligned} \tag{20-13} L(P,w)==−H(P)+w0(1−y∑P(y∣x))+i=1∑nwi(EP~(fi)−EP(fi))x,y∑P~(x)P(y∣x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑nwi(x,y∑P~(x,y)fi(x,y)−x,y∑P~(x)P(y∣x)fi(x,y))(20-13)
原始问题为:
min P max w L ( P , w ) (20-14) \min_P \max_w L(P,w) \tag{20-14} PminwmaxL(P,w)(20-14)
对偶问题为:
max w min P L ( P , w ) (20-15) \max_w \min_P L(P,w) \tag{20-15} wmaxPminL(P,w)(20-15)
根据拉格朗日对偶性的相关性质,可知原始问题式(20-14)与对偶问题式(20-15)有共同解,所以我们可以直接求解对偶问题式(20-15)得到原始问题式(20-14)的解。针对这类极大极小化问题,一般方法是先求解内部极小化问题 min P L ( P , w ) \min_P L(P,w) minPL(P,w),再求解外部极大化问题。
将内部极小化问题定义为 φ ( w ) \varphi(w) φ(w),即:
φ ( w ) = min P L ( P , w ) = L ( P w , w ) (20-16) \varphi(w) = \min_P L(P,w) = L(P_w,w) \tag{20-16} φ(w)=PminL(P,w)=L(Pw,w)(20-16)
同时令 P w P_w Pw 为 φ ( w ) \varphi(w) φ(w) 的解, P w P_w Pw 可记为:
P w = arg min P L ( P , w ) = P w ( y ∣ x ) (20-17) P_w = \arg \min_P L(P,w) = P_w(y|x) \tag{20-17} Pw=argPminL(P,w)=Pw(y∣x)(20-17)
下面求 L ( P , w ) L(P,w) L(P,w) 关于 P ( y ∣ x ) P(y|x) P(y∣x) 的偏导:
∂ L ( P , w ) ∂ P ( y ∣ x ) = ∑ x , y P ~ ( x ) ( log P ( y ∣ x ) + 1 ) − ∑ y w 0 − ∑ x , y ( P ~ ( x ) ∑ i = 1 n w i f i ( x , y ) ) (20-18) \frac{\partial L(P,w)}{\partial P(y|x)} = \sum_{x,y} \tilde{P}(x) (\log P(y|x) + 1) - \sum_y w_0 - \sum_{x,y} \left( \tilde{P}(x) \sum_{i=1}^n w_i f_i(x,y) \right) \tag{20-18} ∂P(y∣x)∂L(P,w)=x,y∑P~(x)(logP(y∣x)+1)−y∑w0−x,y∑(P~(x)i=1∑nwifi(x,y))(20-18)
= ∑ x , y P ~ ( x ) ( log P ( y ∣ x ) + 1 − w 0 − ∑ i = 1 n w i f i ( x , y ) ) (20-19) = \sum_{x,y} \tilde{P}(x) \left( \log P(y|x) + 1 - w_0 - \sum_{i=1}^n w_i f_i(x,y) \right) \tag{20-19} =x,y∑P~(x)(logP(y∣x)+1−w0−i=1∑nwifi(x,y))(20-19)
令 ∂ L ( P , w ) ∂ P ( y ∣ x ) = 0 \frac{\partial L(P,w)}{\partial P(y|x)} = 0 ∂P(y∣x)∂L(P,w)=0,可解得 P ( y ∣ x ) P(y|x) P(y∣x):
P ( y ∣ x ) = exp ( ∑ i = 1 n w i f i ( x , y ) + w 0 − 1 ) = exp ( ∑ i = 1 n w i f i ( x , y ) ) exp ( 1 − w 0 ) (20-20) P(y|x) = \exp \left( \sum_{i=1}^n w_i f_i(x,y) + w_0 - 1 \right) = \frac{\exp \left( \sum_{i=1}^n w_i f_i(x,y) \right)}{\exp(1-w_0)} \tag{20-20} P(y∣x)=exp(i=1∑nwifi(x,y)+w0−1)=exp(1−w0)exp(∑i=1nwifi(x,y))(20-20)
由 ∑ y P ( y ∣ x ) = 1 \sum_y P(y|x) = 1 ∑yP(y∣x)=1,式(20-20)可简化为:
P w ( y ∣ x ) = 1 Z w ( x ) exp ( ∑ i = 1 n w i f i ( x , y ) ) (20-21) P_w(y|x) = \frac{1}{Z_w(x)} \exp \left( \sum_{i=1}^n w_i f_i(x,y) \right) \tag{20-21} Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))(20-21)
其中 Z w ( x ) Z_w(x) Zw(x) 为规范化因子:
Z w ( x ) = ∑ y exp ( ∑ i = 1 n w i f i ( x , y ) ) (20-22) Z_w(x) = \sum_y \exp \left( \sum_{i=1}^n w_i f_i(x,y) \right) \tag{20-22} Zw(x)=y∑exp(i=1∑nwifi(x,y))(20-22)
求解完内部极小化问题之后,再求解外部极大化问题 max w φ ( w ) \max_w \varphi(w) maxwφ(w),最终的解即为 max w φ ( w ) \max_w \varphi(w) maxwφ(w) 的解。
式(20-21)和式(20-22)表示的模型即为最大信息熵模型。针对最大信息熵模型这样的凸函数,实际求解优化时可以使用梯度下降法、牛顿法或者改进的迭代尺度法等方法。限于篇幅本章不展开详细阐述。
以上部分公式的详解:
公式20-6 特征函数f(x,y) 在联合经验分布下的数学期望 公式解析
公式20-7 特征函数 f(x,y) 在模型分布下的数学期望 公式解析
公式20-8 联合经验分布通过边缘经验分布和条件概率分布表示 公式解析
公式20-9 经验分布下的特征函数期望值等于模型分布下的特征函数期望值 公式解析
公式20-10 特征函数f(x,y) 的数学期望在两种分布下的相等性 公式解析
公式20-11 最大信息熵模型的核心优化公式 公式解析
公式20-13 最大熵模型优化问题的拉格朗日函数 公式解析
公式20-18、20-19 拉格朗日函数L(P,w)对P(x,y)求导计算 公式解析
令偏导数=0化简得到最大信息熵模型公式