机器学习笔记之指数族分布——最大熵角度观察指数族分布(二)最大熵定理与指数族分布的关系

机器学习笔记之指数族分布——最大熵原理与指数族分布的关系

  • 引言
    • 回顾:最大熵思想示例
    • 最大熵原理
      • 约束条件与经验概率分布
      • 最大熵原理推导过程

引言

上一节介绍了熵的基本概念以及最大熵思想,本节将介绍最大熵原理与指数族分布的关联关系。

回顾:最大熵思想示例

最大熵思想本质上是探究概率分布的一种工具,基于一个概率模型 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=1kp(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)Xp^(x(j)=xi)x(j)(i=1,2,,k)=EP^(X)[X2][EP^(X)[X]]2

为了让数字特征更具备泛化性:

  • 假设 f ( x ( j ) ) f(x^{(j)}) f(x(j))是关于样本 x ( j ) x^{(j)} x(j)的任意函数,上述数字特征改写为:
    E p ^ ( X ) [ f ( X ) ] = ∑ x ( j ) ∈ X p ^ ( x ( j ) = x i ) ⋅ f ( x ( j ) ) = ∑ j = 1 N p ^ ( x ( j ) = x i ) ⋅ f ( x ( j ) ) \begin{aligned} \mathbb E_{\hat p(\mathcal X)}[f(\mathcal X)] & = \sum_{x^{(j)} \in \mathcal X}\hat p(x^{(j)} = x_i) \cdot f(x^{(j)}) \\ & = \sum_{j=1}^N \hat p(x^{(j)} = x_i) \cdot f(x^{(j)}) \end{aligned} Ep^(X)[f(X)]=x(j)Xp^(x(j)=xi)f(x(j))=j=1Np^(x(j)=xi)f(x(j))
  • f ( x ( j ) ) f(x^{(j)}) f(x(j))进行深层设定:将 f ( x ( j ) ) f(x^{(j)}) f(x(j))定义为关于 x ( j ) x^{(j)} x(j)一个 Q \mathcal Q Q维函数向量。因此, f ( x ( j ) ) f(x^{(j)}) f(x(j))存在如下表达形式:
    需要注意的点:它是函数向量维度,而不是样本维度;
    f ( x ( j ) ) = ( f 1 ( x ( j ) ) f 2 ( x ( j ) ) ⋮ f Q ( x ( j ) ) ) f(x^{(j)}) = \begin{pmatrix} f_1(x^{(j)}) \\ f_2(x^{(j)}) \\ \vdots \\ f_{\mathcal Q}(x^{(j)}) \\ \end{pmatrix} f(x(j))= f1(x(j))f2(x(j))fQ(x(j))

由于 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)]=Ω

  • 由于 f ( x ( j ) ) f(x^{(j)}) f(x(j))定义为 Q \mathcal Q Q维向量。因此, E P ^ ( X ) [ f ( X ) ] \mathbb E_{\hat P(\mathcal X)}[f(\mathcal X)] EP^(X)[f(X)]可以进行如下表示:
    E P ^ ( X ) [ f ( X ) ] = ( E P ^ ( X ) [ f 1 ( X ) ] E P ^ ( X ) [ f 2 ( X ) ] ⋮ E P ^ ( X ) [ f Q ( X ) ] ) = ( ∑ j = 1 N p ^ ( x ( j ) = x i ) ⋅ f 1 ( x ( j ) ) ∑ j = 1 N p ^ ( x ( j ) = x i ) ⋅ f 2 ( x ( j ) ) ⋮ ∑ j = 1 N p ^ ( x ( j ) = x i ) ⋅ f Q ( x ( j ) ) ) = ( Ω 1 Ω 2 ⋮ Ω Q ) \mathbb E_{\hat P(\mathcal X)}[f(\mathcal X)] = \begin{pmatrix} \mathbb E_{\hat P(\mathcal X)}[f_1(\mathcal X)] \\ \mathbb E_{\hat P(\mathcal X)}[f_2(\mathcal X)] \\ \vdots \\ \mathbb E_{\hat P(\mathcal X)}[f_{\mathcal Q}(\mathcal X)] \\ \end{pmatrix} = \begin{pmatrix} \sum_{j=1}^N \hat p(x^{(j)} = x_i) \cdot f_1(x^{(j)}) \\ \sum_{j=1}^N \hat p(x^{(j)} = x_i) \cdot f_2(x^{(j)}) \\ \vdots \\ \sum_{j=1}^N \hat p(x^{(j)} = x_i) \cdot f_{\mathcal Q}(x^{(j)}) \\ \end{pmatrix} = \begin{pmatrix} \Omega_1 \\ \Omega_2 \\ \vdots \\ \Omega_{\mathcal Q} \\ \end{pmatrix} EP^(X)[f(X)]= EP^(X)[f1(X)]EP^(X)[f2(X)]EP^(X)[fQ(X)] = j=1Np^(x(j)=xi)f1(x(j))j=1Np^(x(j)=xi)f2(x(j))j=1Np^(x(j)=xi)fQ(x(j)) = Ω1Ω2ΩQ

至此,我们根据约束条件——数据集合 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)Xp(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)}) maxx(j)Xp(x(j))logp(x(j))=minx(j)Xp(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)Xp(x(j))logp(x(j))+λ0(1i=1kp(x(j)=xi))+λT(ΩEP(X)[f(X)])=x(j)Xp(x(j))logp(x(j))+λ0(1i=1kp(x(j)=xi))+λT(Ωx(j)Xp(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))]+0i=1kλ0+0λTx(j)Xf(x(j))=x(j)X[1+logp(x(j))]i=1kλ0λTx(j)Xf(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=NNkλ0=x(j)XNkλ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=0p(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)

根据指数族分布介绍中的指数族分布定义式,发现:

  • h ( x ) = 1 h(x) = 1 h(x)=1
  • η T = λ T \eta^T = \lambda^{T} ηT=λT
  • ϕ ( x ) = f ( x ) \phi(x) = f(x) ϕ(x)=f(x)
  • A ( η ) = k N λ 0 + 1 A(\eta) = \frac{k}{N}\lambda_0 + 1 A(η)=Nkλ0+1

至此,我们发现,在概率分布存在约束条件的情况下,满足约束条件下熵最大的分布就是指数族分布

下一节将暂停一节指数族分布的介绍,将最大熵原理延伸至 s i g m o i d , s o f t m a x sigmoid,softmax sigmoid,softmax函数。

相关参考:
机器学习-白板推导系列(八)-指数族分布(Exponential Family Distribution)

你可能感兴趣的:(机器学习,最大熵定理,指数族分布,拉格朗日乘数法,经验分布,概率模型与概率分布)