上一节介绍了熵的基本概念以及最大熵思想,本节将介绍最大熵原理与指数族分布的关联关系。
最大熵思想本质上是探究概率分布的一种工具,基于一个概率模型 P ( x ∣ θ ) P(x \mid \theta) P(x∣θ),如果其概率分布未知(没有任何约束概率分布的条件)、仅通过最大熵思想探究概率分布,发现满足熵最大的概率分布是均匀分布;
虽然没有任何约束条件,但是‘概率分布自身定义’还是要遵守的。
∑ i = 1 k p ( x ( j ) = x i ) = 1 ( x ( j ) ∈ X ) \sum_{i=1}^k p(x^{(j)} = x_i) = 1(x^{(j)} \in \mathcal X) i=1∑kp(x(j)=xi)=1(x(j)∈X)
但实际情况可能是:概率分布依然是未知,但存在关于概率分布的约束条件。这意味着,不能使用最大熵思想对概率分布进行任意的摆布了。此时需要引入一个新的概念:最大熵原理。
最大熵原理主要针对有约束条件概率分布进行求解。具体表述:在概率分布存在约束条件的情况下,满足约束条件下熵最大的分布就是求解的概率分布。
观察上面表述,什么叫做 概率分布存在约束条件?换句话说,这个约束条件是从哪里体现出来的?
我们在极大似然估计与最大后验概率估计中介绍过: P ( X ∣ θ ) P(\mathcal X \mid \theta) P(X∣θ)既可以看作概率分布,也可以看作概率模型 P P P以模型参数 θ \theta θ生成了大量样本,从而产生数据集合 X \mathcal X X。
模糊‘概率分布’与‘概率模型’之间的界限;
因此,概率分布的约束条件,或者说概率分布约束条件的表现形式自然是 一个个具体的样本。假设一个数据集合 X \mathcal X X包含 N N N个样本:
X = { x ( 1 ) , x ( 2 ) , ⋯ , x ( N ) } \mathcal X = \{x^{(1)},x^{(2)},\cdots,x^{(N)}\} X={x(1),x(2),⋯,x(N)}
仅仅是有样本是不够的,如何将这些样本转换为约束概率分布的条件?引入一个概念:经验概率分布(Empirical probability distribution)。
经验概率分布是指特定事件发生的次数占总体实验样本的比率。经验概率分布的概率密度函数表示如下:
p ^ ( x ( j ) = x i ) = c o u n t ( x i ) N ( i = 1 , 2 , ⋯ , k ; x ( j ) ∈ X ) \hat p(x^{(j)} = x_i) = \frac{count(x_i)}{N}(i=1,2,\cdots,k;x^{(j)} \in \mathcal X) p^(x(j)=xi)=Ncount(xi)(i=1,2,⋯,k;x(j)∈X)
其中 x i x_i xi表示样本的第 i i i个值, c o u n t ( x i ) count(x_i) count(xi)表示统计样本第 i i i个值出现的次数。
示例:数据集合 X 0 \mathcal X_0 X0共包含6个样本:
X 0 = { 4 , 5 , 5 , 6 , 6 , 6 } \mathcal X_0 = \{4,5,5,6,6,6\} X0={4,5,5,6,6,6}
上述集合共包含3种值:
x 1 = 4 , x 2 = 5 , x 3 = 6 x_1 = 4,x_2 = 5,x_3 = 6 x1=4,x2=5,x3=6
则有如下的经验概率分布:
P ^ ( X 0 ) = ( p ^ ( x ( j ) = x 1 ) p ^ ( x ( j ) = x 2 ) p ^ ( x ( j ) = x 3 ) ) = ( 1 6 1 3 1 2 ) = ( 0.16 0.33 0.5 ) ( x ( j ) ∈ X 0 ) \hat P(\mathcal X_0) = \begin{pmatrix} \hat p(x^{(j)} = x_1) \\ \hat p(x^{(j)} = x_2) \\ \hat p(x^{(j)} = x_3) \end{pmatrix} = \begin{pmatrix} \frac{1}{6} \\ \frac{1}{3} \\ \frac{1}{2} \end{pmatrix}= \begin{pmatrix} 0.16 \\ 0.33 \\ 0.5 \end{pmatrix}(x^{(j)} \in \mathcal X_0) P^(X0)=⎝ ⎛p^(x(j)=x1)p^(x(j)=x2)p^(x(j)=x3)⎠ ⎞=⎝ ⎛613121⎠ ⎞=⎝ ⎛0.160.330.5⎠ ⎞(x(j)∈X0)
这种概率分布最显著的特点是 该分布是单纯通过实际实验归纳得到,不掺杂理论取样。即计算概率分布使用的样本,均为真实样本。
在真实环境中,绝大多数情况都是通过有限样本进行归纳(经验分布)去逼近理想状态下的真实分布,弊端是‘经验分布’和‘真实分布’之间总是存在差距;优势在于简化运算,概率分布结果只和有限样本相关。
引入经验概率分布的背后意义在于概率分布完全取决于数据集合 X \mathcal X X。
经验概率分布本质上依然是概率分布,通过该概率分布可以求解期望、方差等 数字特征。定义 p ^ ( x ( j ) = x i ) \hat p(x^{(j)}=x_i) p^(x(j)=xi)为某样本 x ( j ) x^{(j)} x(j)等于某具体数值 x i x_i xi的概率密度函数:
x ( j ) x^{(j)} x(j)表示为数据集合
X \mathcal X X内的任意一个样本;
E P ^ ( X ) [ X ] = ∑ x ( j ) ∈ X p ^ ( x ( j ) = x i ) ⋅ x ( j ) ( i = 1 , 2 , ⋯ , k ) V a r P ^ ( X ) [ X ] = E P ^ ( X ) [ X 2 ] − [ E P ^ ( X ) [ X ] ] 2 \begin{aligned} \mathbb E_{\hat P(\mathcal X)}[\mathcal X] & = \sum_{x^{(j)} \in \mathcal X} \hat p(x^{(j)} = x_i) \cdot x^{(j)}(i=1,2,\cdots,k) \\ Var_{\hat P(\mathcal X)}[\mathcal X] & = \mathbb E_{\hat P(\mathcal X)}[\mathcal X^2] - \left[\mathbb E_{\hat P(\mathcal X)}[\mathcal X]\right]^2 \end{aligned} EP^(X)[X]VarP^(X)[X]=x(j)∈X∑p^(x(j)=xi)⋅x(j)(i=1,2,⋯,k)=EP^(X)[X2]−[EP^(X)[X]]2
为了让数字特征更具备泛化性:
需要注意的点:它是函数向量维度,而不是样本维度;
由于 f ( x ) f(x) f(x)函数是自定义的,是已知的;概率分布 P ^ ( X ) \hat P(\mathcal X) P^(X)是通过样本计算得到,是已知的;因此, E P ^ ( X ) [ f ( X ) ] \mathbb E_{\hat P(\mathcal X)}[f(\mathcal X)] EP^(X)[f(X)]结果也是已知信息。假设该已知信息的结果为 Ω \Omega Ω,则有:
E P ^ ( X ) [ f ( X ) ] = Ω \mathbb E_{\hat P(\mathcal X)}[f(\mathcal X)] = \Omega EP^(X)[f(X)]=Ω
至此,我们根据约束条件——数据集合 X \mathcal X X借助经验概率分布 P ^ ( X ) \hat P(\mathcal X) P^(X)得到一个 带等号的约束条件。
和最大熵思想推导相似,该问题本质上也是一个优化问题:
假设 P ( X ) P(\mathcal X) P(X)是使用最大熵原理最终求解的概率分布; p ( x ( j ) ) p(x^{(j)}) p(x(j))表示 P ( X ) P(\mathcal X) P(X)分布下某样本 x ( j ) x^{(j)} x(j)的 概率密度函数。因此, P ( X ) P(\mathcal X) P(X)的熵表示如下:
H [ P ( X ) ] = − ∑ x ( j ) ∈ X p ( x ( j ) ) log p ( x ( j ) ) \mathcal H[P(\mathcal X)] = - \sum_{x^{(j)} \in \mathcal X} p(x^{(j)}) \log p(x^{(j)}) H[P(X)]=−x(j)∈X∑p(x(j))logp(x(j))
目标函数表示如下:
max − ∑ x ( j ) ∈ X p ( x ( j ) ) log p ( x ( j ) ) = min ∑ x ( j ) ∈ X p ( x ( j ) ) log p ( x ( j ) ) \max - \sum_{x^{(j)} \in \mathcal X} p(x^{(j)}) \log p(x^{(j)}) = \min \sum_{x^{(j)} \in \mathcal X} p(x^{(j)}) \log p(x^{(j)}) max−x(j)∈X∑p(x(j))logp(x(j))=minx(j)∈X∑p(x(j))logp(x(j))
约束条件表示如下:
在满足数据集合提供的约束条件时,也要满足概率自身的约束条件。
使用最大熵定理求解的概率分布
P ( X ) P(\mathcal X) P(X)是基于样本集合
X \mathcal X X得到的,因此约束条件中需要将
E P ( X ) [ f ( X ) ] = E P ^ ( X ) [ f ( X ) ] \mathbb E_{P(\mathcal X)}[f(\mathcal X)] = \mathbb E_{\hat P(\mathcal X)}[f(\mathcal X)] EP(X)[f(X)]=EP^(X)[f(X)]
s . t . { ∑ i = 1 k p ( x ( j ) = x i ) = 1 ( x ( j ) ∈ X ) E P ( X ) [ f ( X ) ] = E P ^ ( X ) [ f ( X ) ] = Ω s.t. \begin{cases} \sum_{i=1}^k p(x^{(j)}=x_i) = 1 \quad(x^{(j)} \in \mathcal X)\\ \mathbb E_{P(\mathcal X)}[f(\mathcal X)] = \mathbb E_{\hat P(\mathcal X)}[f(\mathcal X)] = \Omega \end{cases} s.t.{∑i=1kp(x(j)=xi)=1(x(j)∈X)EP(X)[f(X)]=EP^(X)[f(X)]=Ω
终上,我们得到 一个目标函数与两个带等号的约束条件。
使用拉格朗日乘数法构造拉格朗日函数:
由于
E P ^ ( X ) [ f ( X ) ] \mathbb E_{\hat P(\mathcal X)}[f(\mathcal X)] EP^(X)[f(X)]是一个
Q \mathcal Q Q维向量,因此
λ \lambda λ也是一个
Q \mathcal Q Q维向量。最终目的是‘线性相加’
→ λ T Ω \to \lambda^{T}\Omega →λTΩ
L ( p ( x ( j ) ) , λ 0 , λ ) = ∑ x ( j ) ∈ X p ( x ( j ) ) log p ( x ( j ) ) + λ 0 ( 1 − ∑ i = 1 k p ( x ( j ) = x i ) ) + λ T ( Ω − E P ( X ) [ f ( X ) ] ) = ∑ x ( j ) ∈ X p ( x ( j ) ) log p ( x ( j ) ) + λ 0 ( 1 − ∑ i = 1 k p ( x ( j ) = x i ) ) + λ T ( Ω − ∑ x ( j ) ∈ X p ( x ( j ) = x i ) f ( x ( j ) ) ) \begin{aligned} \mathcal L(p(x^{(j)}),\lambda_0,\lambda) & = \sum_{x^{(j)} \in \mathcal X} p(x^{(j)}) \log p(x^{(j)}) + \lambda_0 \left(1 - \sum_{i=1}^k p(x^{(j)} = x_i)\right) + \lambda^{T}(\Omega - \mathbb E_{P(\mathcal X)}[f(\mathcal X)]) \\ & = \sum_{x^{(j)} \in \mathcal X} p(x^{(j)}) \log p(x^{(j)}) + \lambda_0 \left(1 - \sum_{i=1}^k p(x^{(j)} = x_i)\right) + \lambda^{T}(\Omega - \sum_{x^{(j)} \in \mathcal X}p(x^{(j)}=x_i)f(x^{(j)})) \end{aligned} L(p(x(j)),λ0,λ)=x(j)∈X∑p(x(j))logp(x(j))+λ0(1−i=1∑kp(x(j)=xi))+λT(Ω−EP(X)[f(X)])=x(j)∈X∑p(x(j))logp(x(j))+λ0(1−i=1∑kp(x(j)=xi))+λT(Ω−x(j)∈X∑p(x(j)=xi)f(x(j)))
L ( p ( x ( j ) ) , λ 0 , λ ) \mathcal L(p(x^{(j)}),\lambda_0,\lambda) L(p(x(j)),λ0,λ)对 p ( x ( j ) ) p(x^{(j)}) p(x(j))求偏导:
需要注意的点:
1.
p ( x ( j ) ) p(x^{(j)}) p(x(j))与
p ( x ( j ) = x i ) p(x^{(j)} = x_i) p(x(j)=xi)表示的是同一个东西,它们都表示‘任意样本’
x ( j ) x^{(j)} x(j)选择第
i i i个值
x i x_i xi的概率密度函数;
2. 本文与
视频推导出现矛盾的位置,拉格朗日函数的第一个连加符号
∑ x ( j ) ∈ X \sum_{x^{(j)} \in \mathcal X} ∑x(j)∈X它的连加次数是
N N N(样本数量)次,而第二个连加符号
∑ i = 1 k \sum_{i=1}^k ∑i=1k它的连加次数是
k k k(样本选择数值的数量)次,两个连加符号不能合并,但是‘视频’中合并了。但是该问题不影响最终结果,只是最后表现形式有少许偏差。
∂ L ( p ( x ( j ) ) , λ 0 , λ ) ∂ p ( x ( j ) ) = ∑ x ( j ) ∈ X [ p ( x ( j ) ) ⋅ 1 p ( x ( j ) ) + log p ( x ( j ) ) ] + 0 − ∑ i = 1 k λ 0 + 0 − λ T ∑ x ( j ) ∈ X f ( x ( j ) ) = ∑ x ( j ) ∈ X [ 1 + log p ( x ( j ) ) ] − ∑ i = 1 k λ 0 − λ T ∑ x ( j ) ∈ X f ( x ( j ) ) = ∑ x ( j ) ∈ X [ 1 + log p ( x ( j ) ) − f ( x ( j ) ) ] − k ⋅ λ 0 \begin{aligned} \frac{\partial \mathcal L(p(x^{(j)}),\lambda_0,\lambda)}{\partial p(x^{(j)})} & = \sum_{x^{(j)} \in \mathcal X}\left[p(x^{(j)}) \cdot \frac{1}{p(x^{(j)})} +\log p(x^{(j)})\right] + 0 - \sum_{i=1}^k \lambda_0 + 0 - \lambda^{T} \sum_{x^{(j)} \in \mathcal X}f(x^{(j)}) \\ & = \sum_{x^{(j)} \in \mathcal X}\left[1 + \log p(x^{(j)})\right] - \sum_{i=1}^k \lambda_0 - \lambda^{T} \sum_{x^{(j)} \in \mathcal X}f(x^{(j)}) \\ & = \sum_{x^{(j)} \in \mathcal X}\left[1 + \log p(x^{(j)}) -f(x^{(j)})\right] - k \cdot \lambda_0 \end{aligned} ∂p(x(j))∂L(p(x(j)),λ0,λ)=x(j)∈X∑[p(x(j))⋅p(x(j))1+logp(x(j))]+0−i=1∑kλ0+0−λTx(j)∈X∑f(x(j))=x(j)∈X∑[1+logp(x(j))]−i=1∑kλ0−λTx(j)∈X∑f(x(j))=x(j)∈X∑[1+logp(x(j))−f(x(j))]−k⋅λ0
由于 k ⋅ λ 0 k\cdot \lambda_0 k⋅λ0是常数,可以将其进行变换:
k ⋅ λ 0 = N ⋅ k N ⋅ λ 0 = ∑ x ( j ) ∈ X k N ⋅ λ 0 \begin{aligned} k \cdot \lambda_0 & = N \cdot \frac{k}{N}\cdot \lambda_0 \\ & = \sum_{x^{(j)} \in \mathcal X}\frac{k}{N} \cdot \lambda_0 \end{aligned} k⋅λ0=N⋅Nk⋅λ0=x(j)∈X∑Nk⋅λ0
因此,将变换后的结果与原式合并:
∑ x ( j ) ∈ X [ 1 + log p ( x ( j ) ) − f ( x ( j ) ) − k N ⋅ λ 0 ] \sum_{x^{(j)} \in \mathcal X}\left[1 + \log p(x^{(j)}) -f(x^{(j)}) - \frac{k}{N} \cdot \lambda_0 \right] x(j)∈X∑[1+logp(x(j))−f(x(j))−Nk⋅λ0]
令 ∂ L ( p ( x ( j ) ) , λ 0 , λ ) ∂ p ( x ( j ) ) ≜ 0 \frac{\partial \mathcal L(p(x^{(j)}),\lambda_0,\lambda)}{\partial p(x^{(j)})} \triangleq 0 ∂p(x(j))∂L(p(x(j)),λ0,λ)≜0:
有:
1 + log p ( x ( j ) ) − f ( x ( j ) ) − k N ⋅ λ 0 = 0 → p ( x ( j ) ) = e λ T f ( x ( j ) ) − ( k N λ 0 + 1 ) ( x ( j ) ∈ X ) \begin{aligned} 1 + \log p(x^{(j)}) -f(x^{(j)}) - \frac{k}{N} \cdot \lambda_0 = 0 \\ \to p(x^{(j)}) = e^{\lambda^{T}f(x^{(j)}) - (\frac{k}{N}\lambda_0 + 1)} \quad(x^{(j)} \in \mathcal X) \end{aligned} 1+logp(x(j))−f(x(j))−Nk⋅λ0=0→p(x(j))=eλTf(x(j))−(Nkλ0+1)(x(j)∈X)
最终通式结果表示如下:
p ( x ) = e λ T f ( x ) − ( k N λ 0 + 1 ) p(x) = e^{\lambda^{T}f(x) - (\frac{k}{N}\lambda_0 + 1)} p(x)=eλTf(x)−(Nkλ0+1)
根据指数族分布介绍中的指数族分布定义式,发现:
至此,我们发现,在概率分布存在约束条件的情况下,满足约束条件下熵最大的分布就是指数族分布。
下一节将暂停一节指数族分布的介绍,将最大熵原理延伸至 s i g m o i d , s o f t m a x sigmoid,softmax sigmoid,softmax函数。
相关参考:
机器学习-白板推导系列(八)-指数族分布(Exponential Family Distribution)