最大熵方法详解
最大熵原理是信息论和统计学习中的重要概念,它基于这样一个思想:在所有满足已知约束条件的概率分布中,熵最大的分布是最合理的选择。这一原理由E.T. Jaynes在20世纪50年代提出,作为概率分布推断的基础理论。
信息熵的基本概念
熵最早由物理学家Clausius在热力学中引入,后来Shannon将这一概念引入信息论,用来度量随机变量的不确定性。对于一个离散随机变量X,其概率分布为P(X),Shannon熵定义为:
H(X)=−∑x∈XP(x)logP(x)H(X) = -\sum_{x \in \mathcal{X}} P(x) \log P(x)H(X)=−x∈X∑P(x)logP(x)
其中,X\mathcal{X}X是X的取值空间,对数的底通常取2(信息量单位为比特)或e(信息量单位为奈特)。当P(x)=0P(x) = 0P(x)=0时,约定0log0=00 \log 0 = 00log0=0。
熵有几个重要的性质:
- 非负性:H(X)≥0H(X) \geq 0H(X)≥0,当且仅当X为确定性变量时,H(X)=0H(X) = 0H(X)=0。
- 上界性:对于取值空间大小为∣X∣|\mathcal{X}|∣X∣的离散随机变量,H(X)≤log∣X∣H(X) \leq \log |\mathcal{X}|H(X)≤log∣X∣,当且仅当X服从均匀分布时,等号成立。
- 连续性:熵是概率的连续函数。
- 凹性:熵函数H(P)H(P)H(P)关于概率分布PPP是凹函数,这保证了最大熵问题的凸优化性质。
对于连续随机变量,定义微分熵为:
h(X)=−∫−∞∞f(x)logf(x)dxh(X) = -\int_{-\infty}^{\infty} f(x) \log f(x) dxh(X)=−∫−∞∞f(x)logf(x)dx
其中f(x)f(x)f(x)是X的概率密度函数。需要注意的是,与离散熵不同,微分熵可以为负值。例如,均值为μ、方差为σ²的高斯分布的微分熵为h(X)=12log(2πeσ2)h(X) = \frac{1}{2}\log(2\pi e\sigma^2)h(X)=21log(2πeσ2)。
熵的条件扩展称为条件熵,定义为:
H(Y∣X)=−∑x∈XP(x)∑y∈YP(y∣x)logP(y∣x)=−∑x,yP(x,y)logP(y∣x)H(Y|X) = -\sum_{x \in \mathcal{X}} P(x) \sum_{y \in \mathcal{Y}} P(y|x) \log P(y|x) = -\sum_{x,y} P(x,y) \log P(y|x)H(Y∣X)=−x∈X∑P(x)y∈Y∑P(y∣x)logP(y∣x)=−x,y∑P(x,y)logP(y∣x)
条件熵度量了在已知X的条件下,Y的不确定性。
熵与条件熵的关系可用链式法则表示:
H(X,Y)=H(X)+H(Y∣X)H(X,Y) = H(X) + H(Y|X)H(X,Y)=H(X)+H(Y∣X)
其中H(X,Y)H(X,Y)H(X,Y)是联合熵:
H(X,Y)=−∑x,yP(x,y)logP(x,y)H(X,Y) = -\sum_{x,y} P(x,y) \log P(x,y)H(X,Y)=−x,y∑P(x,y)logP(x,y)
最大熵原理的哲学基础
最大熵原理的核心思想是"在所有满足已知条件的概率分布中,选择熵最大的那个"。这一原理基于以下哲学论点:熵代表了不确定性或信息量的缺乏,当我们对未知事物进行推断时,应该选择一个既符合已知事实,又不引入任何额外假设的分布,这正是熵最大的分布。用Jaynes的话说:"在已知部分信息的前提下进行推断时,我们应该选择一个能代表最大不确定性的概率分布;任何其他选择都意味着我们引入了额外的、无法从已知条件推导出的假设。"这一原理与奥卡姆剃刀原则相呼应:在众多可能的解释中,选择假设最少的那个。
最大熵问题的数学表述
形式上,最大熵问题可以表述为一个带约束的优化问题。假设我们有关于随机变量X的m个期望值约束:
EP[fi(X)]=∑x∈XP(x)fi(x)=bi,i=1,2,…,mE_{P}[f_i(X)] = \sum_{x \in \mathcal{X}} P(x)f_i(x) = b_i, \quad i = 1, 2, \ldots, mEP[fi(X)]=x∈X∑P(x)fi(x)=bi,i=1,2,…,m
其中fi(x)f_i(x)fi(x)是已知的特征函数,bib_ibi是已知的期望值。同时,P还需满足概率的基本约束:
∑x∈XP(x)=1,P(x)≥0,∀x∈X\sum_{x \in \mathcal{X}} P(x) = 1, \quad P(x) \geq 0, \forall x \in \mathcal{X}x∈X∑P(x)=1,P(x)≥0,∀x∈X
最大熵问题就是在这些约束下,寻找熵最大的概率分布:
maxPH(X)=−∑x∈XP(x)logP(x)\max_{P} H(X) = -\sum_{x \in \mathcal{X}} P(x) \log P(x)PmaxH(X)=−x∈X∑P(x)logP(x)
s.t. EP[fi(X)]=bi,i=1,2,…,m\text{s.t. } E_{P}[f_i(X)] = b_i, i = 1, 2, \ldots, ms.t. EP[fi(X)]=bi,i=1,2,…,m
∑x∈XP(x)=1,P(x)≥0,∀x∈X\sum_{x \in \mathcal{X}} P(x) = 1, P(x) \geq 0, \forall x \in \mathcal{X}x∈X∑P(x)=1,P(x)≥0,∀x∈X
这是一个凸优化问题,因为目标函数(熵)是凹函数,而约束是线性的。
使用拉格朗日乘子法求解最大熵问题
最大熵问题可以使用拉格朗日乘子法求解。拉格朗日函数为:
L(P,λ,λ0)=−∑xP(x)logP(x)−λ0(∑xP(x)−1)−∑i=1mλi(∑xP(x)fi(x)−bi)L(P, \lambda, \lambda_0) = -\sum_{x} P(x) \log P(x) - \lambda_0 \left(\sum_{x} P(x) - 1\right) - \sum_{i=1}^m \lambda_i \left(\sum_{x} P(x)f_i(x) - b_i\right)L(P,λ,λ0)=−x∑P(x)logP(x)−λ0(x∑P(x)−1)−i=1∑mλi(x∑P(x)fi(x)−bi)
其中λ0\lambda_0λ0和λi\lambda_iλi是拉格朗日乘子。对P(x)求偏导并令其为0:
∂L∂P(x)=−logP(x)−1−λ0−∑i=1mλifi(x)=0\frac{\partial L}{\partial P(x)} = -\log P(x) - 1 - \lambda_0 - \sum_{i=1}^m \lambda_i f_i(x) = 0∂P(x)∂L=−logP(x)−1−λ0−i=1∑mλifi(x)=0
解得:
P(x)=exp(−1−λ0−∑i=1mλifi(x))P(x) = \exp\left(-1 - \lambda_0 - \sum_{i=1}^m \lambda_i f_i(x)\right)P(x)=exp(−1−λ0−i=1∑mλifi(x))
结合概率归一化条件:
∑xP(x)=∑xexp(−1−λ0−∑i=1mλifi(x))=1\sum_{x} P(x) = \sum_{x} \exp\left(-1 - \lambda_0 - \sum_{i=1}^m \lambda_i f_i(x)\right) = 1x∑P(x)=x∑exp(−1−λ0−i=1∑mλifi(x))=1
可以确定λ0\lambda_0λ0的值:
λ0=−1−log∑xexp(−∑i=1mλifi(x))\lambda_0 = -1 - \log \sum_{x} \exp\left(- \sum_{i=1}^m \lambda_i f_i(x)\right)λ0=−1−logx∑exp(−i=1∑mλifi(x))
代入P(x)的表达式,得到最大熵分布的一般形式:
P(x)=1Z(λ)exp(−∑i=1mλifi(x))P(x) = \frac{1}{Z(\lambda)} \exp\left(-\sum_{i=1}^m \lambda_i f_i(x)\right)P(x)=Z(λ)1exp(−i=1∑mλifi(x))
其中Z(λ)=∑xexp(−∑i=1mλifi(x))Z(\lambda) = \sum_{x} \exp\left(-\sum_{i=1}^m \lambda_i f_i(x)\right)Z(λ)=∑xexp(−∑i=1mλifi(x))是归一化因子,也称为配分函数。
对偶问题与参数估计
求解最大熵模型的参数λ\lambdaλ通常采用对偶方法。最大熵问题的对偶函数为:
Ψ(λ)=logZ(λ)+∑i=1mλibi\Psi(\lambda) = \log Z(\lambda) + \sum_{i=1}^m \lambda_i b_iΨ(λ)=logZ(λ)+i=1∑mλibi
对偶问题是:
minλΨ(λ)\min_{\lambda} \Psi(\lambda)λminΨ(λ)
这是一个无约束的凸优化问题。对偶函数关于λi\lambda_iλi的梯度是:
∂Ψ∂λi=∂logZ(λ)∂λi+bi\frac{\partial \Psi}{\partial \lambda_i} = \frac{\partial \log Z(\lambda)}{\partial \lambda_i} + b_i∂λi∂Ψ=∂λi∂logZ(λ)+bi
=1Z(λ)∂Z(λ)∂λi+bi= \frac{1}{Z(\lambda)} \frac{\partial Z(\lambda)}{\partial \lambda_i} + b_i=Z(λ)1∂λi∂Z(λ)+bi
=1Z(λ)∑x∂exp(−∑j=1mλjfj(x))∂λi+bi= \frac{1}{Z(\lambda)} \sum_{x} \frac{\partial \exp\left(-\sum_{j=1}^m \lambda_j f_j(x)\right)}{\partial \lambda_i} + b_i=Z(λ)1x∑∂λi∂exp(−∑j=1mλjfj(x))+bi
=1Z(λ)∑xexp(−∑j=1mλjfj(x))⋅(−fi(x))+bi= \frac{1}{Z(\lambda)} \sum_{x} \exp\left(-\sum_{j=1}^m \lambda_j f_j(x)\right) \cdot (-f_i(x)) + b_i=Z(λ)1x∑exp(−j=1∑mλjfj(x))⋅(−fi(x))+bi
=−∑xexp(−∑j=1mλjfj(x))Z(λ)fi(x)+bi= -\sum_{x} \frac{\exp\left(-\sum_{j=1}^m \lambda_j f_j(x)\right)}{Z(\lambda)} f_i(x) + b_i=−x∑Z(λ)exp(−∑j=1mλjfj(x))fi(x)+bi
=−∑xPλ(x)fi(x)+bi=−EPλ[fi(X)]+bi= -\sum_{x} P_{\lambda}(x)f_i(x) + b_i = -E_{P_{\lambda}}[f_i(X)] + b_i=−x∑Pλ(x)fi(x)+bi=−EPλ[fi(X)]+bi
其中PλP_{\lambda}Pλ是由参数λ\lambdaλ确定的最大熵分布。梯度等于零时,我们有:
EPλ[fi(X)]=bi,i=1,2,…,mE_{P_{\lambda}}[f_i(X)] = b_i, \quad i = 1, 2, \ldots, mEPλ[fi(X)]=bi,i=1,2,…,m
这表明最优解应满足约束条件,即模型预测的特征期望等于给定的目标值。
对偶函数的Hessian矩阵为:
∂2Ψ∂λi∂λj=∂∂λj(−EPλ[fi(X)]+bi)=−∂EPλ[fi(X)]∂λj\frac{\partial^2 \Psi}{\partial \lambda_i \partial \lambda_j} = \frac{\partial}{\partial \lambda_j}\left(-E_{P_{\lambda}}[f_i(X)] + b_i\right) = -\frac{\partial E_{P_{\lambda}}[f_i(X)]}{\partial \lambda_j}∂λi∂λj∂2Ψ=∂λj∂(−EPλ[fi(X)]+bi)=−∂λj∂EPλ[fi(X)]
可以证明:
∂EPλ[fi(X)]∂λj=−∑xPλ(x)fi(x)fj(x)+∑xPλ(x)fi(x)∑x′Pλ(x′)fj(x′)\frac{\partial E_{P_{\lambda}}[f_i(X)]}{\partial \lambda_j} = -\sum_{x} P_{\lambda}(x) f_i(x) f_j(x) + \sum_{x} P_{\lambda}(x) f_i(x) \sum_{x'} P_{\lambda}(x') f_j(x')∂λj∂EPλ[fi(X)]=−x∑Pλ(x)fi(x)fj(x)+x∑Pλ(x)fi(x)x′∑Pλ(x′)fj(x′)
=−∑xPλ(x)fi(x)fj(x)+EPλ[fi(X)]⋅EPλ[fj(X)]= -\sum_{x} P_{\lambda}(x) f_i(x) f_j(x) + E_{P_{\lambda}}[f_i(X)] \cdot E_{P_{\lambda}}[f_j(X)]=−x∑Pλ(x)fi(x)fj(x)+EPλ[fi(X)]⋅EPλ[fj(X)]
=−(EPλ[fi(X)fj(X)]−EPλ[fi(X)]⋅EPλ[fj(X)])= -\left(E_{P_{\lambda}}[f_i(X) f_j(X)] - E_{P_{\lambda}}[f_i(X)] \cdot E_{P_{\lambda}}[f_j(X)]\right)=−(EPλ[fi(X)fj(X)]−EPλ[fi(X)]⋅EPλ[fj(X)])
=−CovPλ(fi(X),fj(X))= -Cov_{P_{\lambda}}(f_i(X), f_j(X))=−CovPλ(fi(X),fj(X))
因此,Hessian矩阵是特征函数的协方差矩阵的负值:
∂2Ψ∂λi∂λj=−CovPλ(fi(X),fj(X))\frac{\partial^2 \Psi}{\partial \lambda_i \partial \lambda_j} = -Cov_{P_{\lambda}}(f_i(X), f_j(X))∂λi∂λj∂2Ψ=−CovPλ(fi(X),fj(X))
协方差矩阵是半正定的,所以Hessian矩阵是半负定的,这表明对偶函数是凸函数。如果特征函数线性无关,则协方差矩阵是正定的,对偶函数是严格凸函数,优化问题有唯一解。
求解最大熵模型的数值方法
最大熵模型的参数求解通常需要数值方法。这里详细介绍几种重要的算法。
改进的迭代尺度法(IIS)
IIS算法是一种迭代算法,每次更新一个参数。定义辅助函数:
g(λ′,λ)=∑xP~(x)∑yPλ(y∣x)exp(∑i(λi′−λi)fi(x,y))g(\lambda', \lambda) = \sum_{x} \tilde{P}(x) \sum_{y} P_{\lambda}(y|x) \exp\left(\sum_{i} (\lambda'_i - \lambda_i) f_i(x, y)\right)g(λ′,λ)=x∑P~(x)y∑Pλ(y∣x)exp(i∑(λi′−λi)fi(x,y))
其中P~(x)\tilde{P}(x)P~(x)是经验分布。可以证明g(λ′,λ)≥1g(\lambda', \lambda) \geq 1g(λ′,λ)≥1,且当且仅当λ′=λ\lambda' = \lambdaλ′=λ时等号成立。
定义Δλi=λi′−λi\Delta \lambda_i = \lambda'_i - \lambda_iΔλi=λi′−λi,IIS算法的更新规则为:
Δλi=1MlogbiE~Pλ[fi(X,Y)]\Delta \lambda_i = \frac{1}{M} \log \frac{b_i}{\tilde{E}_{P_{\lambda}}[f_i(X,Y)]}Δλi=M1logE~Pλ[fi(X,Y)]bi
其中MMM是一个常数,满足∑ifi(x,y)≤M\sum_i f_i(x,y) \leq M∑ifi(x,y)≤M,E~Pλ[fi(X,Y)]\tilde{E}_{P_{\lambda}}[f_i(X,Y)]E~Pλ[fi(X,Y)]是模型预测的期望值:
E~Pλ[fi(X,Y)]=∑xP~(x)∑yPλ(y∣x)fi(x,y)\tilde{E}_{P_{\lambda}}[f_i(X,Y)] = \sum_{x} \tilde{P}(x) \sum_{y} P_{\lambda}(y|x) f_i(x,y)E~Pλ[fi(X,Y)]=x∑P~(x)y∑Pλ(y∣x)fi(x,y)
IIS算法的收敛性可以通过辅助函数的性质证明。
广义迭代尺度法(GIS)
GIS是IIS的推广,适用于更一般的情况。GIS引入辅助函数f#(x,y)=∑ifi(x,y)f^{\#}(x,y) = \sum_i f_i(x,y)f#(x,y)=∑ifi(x,y),定义:
Δλi=1fmax#logbiE~Pλ[fi(X,Y)]\Delta \lambda_i = \frac{1}{f^{\#}_{max}} \log \frac{b_i}{\tilde{E}_{P_{\lambda}}[f_i(X,Y)]}Δλi=fmax#1logE~Pλ[fi(X,Y)]bi
其中fmax#=maxx,yf#(x,y)f^{\#}_{max} = \max_{x,y} f^{\#}(x,y)fmax#=maxx,yf#(x,y)。
GIS算法的每次迭代包括两个步骤:
- 计算当前模型下的特征期望值E~Pλ[fi(X,Y)]\tilde{E}_{P_{\lambda}}[f_i(X,Y)]E~Pλ[fi(X,Y)]。
- 根据上述公式更新参数。
梯度下降法与共轭梯度法
直接使用梯度下降法优化对偶问题:
λi(t+1)=λi(t)−ηt∂Ψ∂λi(λ(t))\lambda_i^{(t+1)} = \lambda_i^{(t)} - \eta_t \frac{\partial \Psi}{\partial \lambda_i}(\lambda^{(t)})λi(t+1)=λi(t)−ηt∂λi∂Ψ(λ(t))
=λi(t)−ηt(−E~Pλ(t)[fi(X,Y)]+bi)= \lambda_i^{(t)} - \eta_t(-\tilde{E}_{P_{\lambda^{(t)}}}[f_i(X,Y)] + b_i)=λi(t)−ηt(−E~Pλ(t)[fi(X,Y)]+bi)
=λi(t)+ηt(E~Pλ(t)[fi(X,Y)]−bi)= \lambda_i^{(t)} + \eta_t(\tilde{E}_{P_{\lambda^{(t)}}}[f_i(X,Y)] - b_i)=λi(t)+ηt(E~Pλ(t)[fi(X,Y)]−bi)
其中ηt\eta_tηt是学习率,可以使用线搜索或自适应方法确定。
共轭梯度法是梯度下降的改进,能更快地收敛到最优解。其更新方向是当前梯度方向与前一次更新方向的线性组合:
d(0)=−∇Ψ(λ(0))d^{(0)} = -\nabla \Psi(\lambda^{(0)})d(0)=−∇Ψ(λ(0))
d(t)=−∇Ψ(λ(t))+βtd(t−1)d^{(t)} = -\nabla \Psi(\lambda^{(t)}) + \beta_t d^{(t-1)}d(t)=−∇Ψ(λ(t))+βtd(t−1)
其中βt\beta_tβt的常用选择是Fletcher-Reeves公式:
βt=∥∇Ψ(λ(t))∥2∥∇Ψ(λ(t−1))∥2\beta_t = \frac{\|\nabla \Psi(\lambda^{(t)})\|^2}{\|\nabla \Psi(\lambda^{(t-1)})\|^2}βt=∥∇Ψ(λ(t−1))∥2∥∇Ψ(λ(t))∥2
更新规则为:
λ(t+1)=λ(t)+αtd(t)\lambda^{(t+1)} = \lambda^{(t)} + \alpha_t d^{(t)}λ(t+1)=λ(t)+αtd(t)
其中αt\alpha_tαt通过线搜索确定。
拟牛顿法
拟牛顿法是最常用的方法之一,特别是L-BFGS(Limited-memory Broyden–Fletcher–Goldfarb–Shanno)算法。牛顿法使用Hessian矩阵的逆来更新参数:
λ(t+1)=λ(t)−[H(t)]−1∇Ψ(λ(t))\lambda^{(t+1)} = \lambda^{(t)} - [H^{(t)}]^{-1} \nabla \Psi(\lambda^{(t)})λ(t+1)=λ(t)−[H(t)]−1∇Ψ(λ(t))
其中H(t)H^{(t)}H(t)是Ψ\PsiΨ在λ(t)\lambda^{(t)}λ(t)处的Hessian矩阵。
由于计算和存储Hessian矩阵可能很昂贵,拟牛顿法使用梯度信息来构建Hessian矩阵的近似。L-BFGS算法存储最近的m次迭代的梯度差和参数差,用来构建Hessian矩阵的近似。
定义:
s(t)=λ(t+1)−λ(t)s^{(t)} = \lambda^{(t+1)} - \lambda^{(t)}s(t)=λ(t+1)−λ(t)
y(t)=∇Ψ(λ(t+1))−∇Ψ(λ(t))y^{(t)} = \nabla \Psi(\lambda^{(t+1)}) - \nabla \Psi(\lambda^{(t)})y(t)=∇Ψ(λ(t+1))−∇Ψ(λ(t))
L-BFGS算法使用这些向量对来近似计算[H(t)]−1∇Ψ(λ(t))[H^{(t)}]^{-1}\nabla \Psi(\lambda^{(t)})[H(t)]−1∇Ψ(λ(t)),而无需显式构建和存储完整的Hessian矩阵。
最大熵模型的理论性质
最大熵模型具有许多重要的理论性质,这些性质揭示了其在统计推断中的基础地位。
唯一性定理
如果约束条件的解空间非空,则最大熵分布是唯一的。
证明思路:假设存在两个不同的最大熵分布P1P_1P1和P2P_2P2,则它们的混合分布Pmix=12P1+12P2P_{mix} = \frac{1}{2}P_1 + \frac{1}{2}P_2Pmix=21P1+21P2也满足约束条件。由熵的严格凹性,有H(Pmix)>12H(P1)+12H(P2)=H(P1)=H(P2)H(P_{mix}) > \frac{1}{2}H(P_1) + \frac{1}{2}H(P_2) = H(P_1) = H(P_2)H(Pmix)>21H(P1)+21H(P2)=H(P1)=H(P2),这与P1P_1P1和P2P_2P2是最大熵分布矛盾。因此最大熵分布是唯一的。
指数族形式定理
满足线性约束条件的最大熵分布必定属于指数族分布,即:
P(x)=1Z(λ)exp(−∑i=1mλifi(x))P(x) = \frac{1}{Z(\lambda)} \exp\left(-\sum_{i=1}^m \lambda_i f_i(x)\right)P(x)=Z(λ)1exp(−i=1∑mλifi(x))
这一结果已在前面使用拉格朗日乘子法推导得到。指数族形式使得最大熵分布与许多经典概率分布建立了联系。
对偶函数的性质
最大熵问题的对偶函数Ψ(λ)\Psi(\lambda)Ψ(λ)具有以下性质:
- Ψ(λ)\Psi(\lambda)Ψ(λ)是凸函数,如果特征函数线性无关,则是严格凸函数。
- ∇Ψ(λ)=−EPλ[f(X)]+b\nabla \Psi(\lambda) = -E_{P_{\lambda}}[f(X)] + b∇Ψ(λ)=−EPλ[f(X)]+b,其中f(X)=(f1(X),f2(X),…,fm(X))Tf(X) = (f_1(X), f_2(X), \ldots, f_m(X))^Tf(X)=(f1(X),f2(X),…,fm(X))T,b=(b1,b2,…,bm)Tb = (b_1, b_2, \ldots, b_m)^Tb=(b1,b2,…,bm)T。
- ∇2Ψ(λ)=−CovPλ(f(X))\nabla^2 \Psi(\lambda) = -Cov_{P_{\lambda}}(f(X))∇2Ψ(λ)=−CovPλ(f(X)),即Hessian矩阵是特征函数协方差矩阵的负值。
- Ψ(λ)\Psi(\lambda)Ψ(λ)的最小值点λ∗\lambda^*λ∗对应于原始最大熵问题的最优解Pλ∗P_{\lambda^*}Pλ∗。
熵和似然函数的关系
对于给定的数据集{x(1),x(2),…,x(N)}\{x^{(1)}, x^{(2)}, \ldots, x^{(N)}\}{x(1),x(2),…,x(N)},如果我们定义经验分布:
P~(x)=1N∑j=1Nδ(x,x(j))\tilde{P}(x) = \frac{1}{N} \sum_{j=1}^N \delta(x, x^{(j)})P~(x)=N1j=1∑Nδ(x,x(j))
其中δ(x,x′)\delta(x, x')δ(x,x′)是克罗内克函数,则对数似然函数可以表示为:
logL(λ)=∑j=1NlogPλ(x(j))=N∑xP~(x)logPλ(x)\log L(\lambda) = \sum_{j=1}^N \log P_{\lambda}(x^{(j)}) = N \sum_{x} \tilde{P}(x) \log P_{\lambda}(x)logL(λ)=j=1∑NlogPλ(x(j))=Nx∑P~(x)logPλ(x)
=N(−DKL(P~∣∣Pλ)−H(P~))= N(-D_{KL}(\tilde{P}||P_{\lambda}) - H(\tilde{P}))=N(−DKL(P~∣∣Pλ)−H(P~))
其中DKL(P~∣∣Pλ)D_{KL}(\tilde{P}||P_{\lambda})DKL(P~∣∣Pλ)是从经验分布P~\tilde{P}P~到模型分布PλP_{\lambda}Pλ的KL散度,H(P~)H(\tilde{P})H(P~)是经验分布的熵。
最大似然估计等价于最小化DKL(P~∣∣Pλ)D_{KL}(\tilde{P}||P_{\lambda})DKL(P~∣∣Pλ)。当我们用经验分布中的期望值作为约束条件时,最大熵分布恰好是最大似然估计。
最大熵模型的推广与变体
最大熵原理可以推广到多种变体,以适应不同的问题设置。
条件最大熵模型
条件最大熵模型关注条件概率分布P(Y∣X)P(Y|X)P(Y∣X),最大化条件熵:
H(Y∣X)=−∑x,yP(x,y)logP(y∣x)H(Y|X) = -\sum_{x,y} P(x,y) \log P(y|x)H(Y∣X)=−x,y∑P(x,y)logP(y∣x)
在约束条件下:
EP[fi(X,Y)]=∑x,yP~(x)P(y∣x)fi(x,y)=bi,i=1,2,…,mE_{P}[f_i(X,Y)] = \sum_{x,y} \tilde{P}(x)P(y|x)f_i(x,y) = b_i, \quad i = 1, 2, \ldots, mEP[fi(X,Y)]=x,y∑P~(x)P(y∣x)fi(x,y)=bi,i=1,2,…,m
解得的条件概率分布形式为:
P(y∣x)=1Z(x)exp(∑i=1mλifi(x,y))P(y|x) = \frac{1}{Z(x)} \exp\left(\sum_{i=1}^m \lambda_i f_i(x,y)\right)P(y∣x)=Z(x)1exp(i=1∑mλifi(x,y))
其中Z(x)=∑yexp(∑i=1mλifi(x,y))Z(x) = \sum_y \exp\left(\sum_{i=1}^m \lambda_i f_i(x,y)\right)Z(x)=∑yexp(∑i=1mλifi(x,y))是归一化因子。条件最大熵模型可以看作是对数线性模型的一种推导方式。
最大熵马尔可夫模型(MEMM)
最大熵马尔可夫模型将条件最大熵模型应用于序列标注问题,对每个状态都使用条件最大熵模型:
P(yt∣yt−1,x1:T)=1Z(yt−1,x1:T)exp(∑i=1mλifi(yt−1,yt,x1:T,t))P(y_t|y_{t-1},x_{1:T}) = \frac{1}{Z(y_{t-1},x_{1:T})} \exp\left(\sum_{i=1}^m \lambda_i f_i(y_{t-1}, y_t, x_{1:T}, t)\right)P(yt∣yt−1,x1:T)=Z(yt−1,x1:T)1exp(i=1∑mλifi(yt−1,yt,x1:T,t))
MEMM存在"标记偏置问题",即倾向于选择拥有较少可能转移状态的标记。
最小相对熵原理
最小相对熵原理(也称为最小交叉熵原理)是最大熵原理的扩展。当我们已有先验分布QQQ时,应该选择在满足约束条件的同时,与先验分布QQQ的KL散度最小的分布:
P∗=argminP∈PDKL(P∣∣Q)P* = \arg\min_{P \in \mathcal{P}} D_{KL}(P||Q)P∗=argP∈PminDKL(P∣∣Q)
其中P\mathcal{P}P是满足约束条件的所有概率分布的集合。
最小相对熵分布的形式为:
P(x)=1Z(λ)Q(x)exp(−∑i=1mλifi(x))P(x) = \frac{1}{Z(\lambda)} Q(x) \exp\left(-\sum_{i=1}^m \lambda_i f_i(x)\right)P(x)=Z(λ)1Q(x)exp(−i=1∑mλifi(x))
当先验分布为均匀分布时,最小相对熵原理退化为最大熵原理。
最大熵与信息几何的深度联系
信息几何学提供了理解最大熵原理的几何视角,将概率分布空间视为一个黎曼流形,KL散度可以看作是一种度量。
m连接与e连接
在概率分布空间中,可以定义两种不同的几何连接:
- m连接(混合连接):Pα=(1−α)P1+αP2P_{\alpha} = (1-\alpha)P_1 + \alpha P_2Pα=(1−α)P1+αP2,对应于概率分布的线性插值。
- e连接(指数连接):logPα=(1−α)logP1+αlogP2−logZα\log P_{\alpha} = (1-\alpha)\log P_1 + \alpha \log P_2 - \log Z_{\alpha}logPα=(1−α)logP1+αlogP2−logZα,对应于对数概率的线性插值。
这两种连接导致了概率分布空间的双重结构。
最大熵分布的几何解释
在信息几何框架下,最大熵问题可以解释为:在满足约束条件的m平坦子流形上,寻找与均匀分布的e投影(即最小化KL散度DKL(P∣∣U)D_{KL}(P||U)DKL(P∣∣U))。同样,最小相对熵问题可以解释为:在满足约束条件的m平坦子流形上,寻找与先验分布Q的e投影。
Fisher信息度量与自然参数空间
在指数族分布的自然参数空间中,可以定义Fisher信息度量:
gij(θ)=EPθ[∂logPθ(X)∂θi∂logPθ(X)∂θj]g_{ij}(\theta) = E_{P_{\theta}}\left[\frac{\partial \log P_{\theta}(X)}{\partial \theta_i} \frac{\partial \log P_{\theta}(X)}{\partial \theta_j}\right]gij(θ)=EPθ[∂θi∂logPθ(X)∂θj∂logPθ(X)]
Fisher信息度量可以看作是参数空间中的黎曼度量,度量参数变化对分布的影响。在这种度量下,两个接近的分布之间的KL散度近似为:
DKL(Pθ∣∣Pθ+dθ)≈12dθTg(θ)dθD_{KL}(P_{\theta}||P_{\theta+d\theta}) \approx \frac{1}{2}d\theta^T g(\theta) d\thetaDKL(Pθ∣∣Pθ+dθ)≈21dθTg(θ)dθ
最大熵优化算法可以解释为在Fisher信息度量下的自然梯度下降。