- 引言
- 回顾:最大熵思想示例
- 最大熵原理
- 约束条件与经验概率分布
- 最大熵原理推导过程
上一节介绍了熵的基本概念以及最大熵思想,本节将介绍最大熵原理与指数族分布之间的关联关系。
回顾:最大熵思想示例最大熵思想本质上是探究概率分布的一种工具,基于一个概率模型
P
(
x
∣
θ
)
\mathcal P(x \mid \theta)
P(x∣θ),如果其概率分布未知(没有任何约束概率分布的条件)、仅通过最大熵思想探究概率分布,发现满足熵最大的概率分布是均匀分布; 虽然没有任何约束条件,但是‘概率分布自身定义’还是要遵守的。
∑
i
=
1
k
P
(
x
(
j
)
=
x
i
)
=
1
x
(
j
)
∈
X
\sum_{i=1}^k \mathcal P \left(x^{(j)} = x_i \right) = 1 \quad x^{(j)} \in \mathcal X
i=1∑kP(x(j)=xi)=1x(j)∈X 但实际情况可能是:概率分布依然是未知,但存在关于概率分布的约束条件。这意味着:仅仅使用最大熵思想对概率分布进行表述是不完整的。此时需要引入一个新的概念:最大熵原理。
最大熵原理主要针对有约束条件的概率分布进行求解。具体表述:在概率分布存在约束条件的情况下,满足约束条件下熵最大的分布就是求解的概率分布。
约束条件与经验概率分布观察上面表述,什么叫做 概率分布存在约束条件?换句话说,这个约束条件是从哪里体现出来的?
我们在极大似然估计与最大后验概率估计中介绍过:
P
(
X
∣
θ
)
\mathcal P(\mathcal X \mid \theta)
P(X∣θ)既可以看作概率分布,也可以看作概率模型
P
\mathcal P
P以模型参数
θ
\theta
θ生成了大量样本,从而产生数据集合
X
\mathcal X
X。 模糊‘概率分布’与‘概率模型’之间的界限;
因此,概率分布的约束条件,或者说概率分布约束条件的表现形式自然是 一个个具体的样本。假设一个数据集合 X \mathcal X X包含 N N N个样本: X = { x ( 1 ) , x ( 2 ) , ⋯ , x ( N ) } \mathcal X = \left\{x^{(1)},x^{(2)},\cdots,x^{(N)} \right\} X={x(1),x(2),⋯,x(N)}
仅仅是有样本是不够的,如何将这些样本转换为约束概率分布的条件?引入一个概念:经验概率分布( Empirical Probability Distribution \text{Empirical Probability Distribution} Empirical Probability Distribution)。
经验概率分布是指特定事件发生的次数占总体实验样本的比例。经验概率分布的概率密度函数表示如下: P ^ ( x ( j ) = x i ) = count ( x i ) N i = 1 , 2 , ⋯ , k ; x ( j ) ∈ X \hat {\mathcal P}(x^{(j)} = x_i) = \frac{\text{count}(x_i)}{N}\quad 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个值,
count
(
x
i
)
\text{count}(x_i)
count(xi)表示统计样本第
i
i
i个值出现的次数。 需要注意的是:这里
x
i
x_i
xi是指随机变量,而不是具体样本。
示例:数据集合
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
)
)
=
(
0.16
0.33
0.5
)
x
(
j
)
∈
X
0
\hat {\mathcal P}(\mathcal X_0) = \begin{pmatrix} \hat {\mathcal P}(x^{(j)} = x_1) \\ \hat {\mathcal P}(x^{(j)} = x_2) \\ \hat {\mathcal P}(x^{(j)} = x_3) \end{pmatrix} = \begin{pmatrix} 0.16 \\ 0.33 \\ 0.5 \end{pmatrix} \quad x^{(j)} \in \mathcal X_0
P^(X0)=
P^(x(j)=x1)P^(x(j)=x2)P^(x(j)=x3)
=
0.160.330.5
x(j)∈X0
这种概率分布最显著的特点是 该分布是单纯通过实际实验归纳得到,不掺杂理论取样。即计算概率分布使用的样本,均为真实样本。 在真实环境中,绝大多数情况都是通过有限样本进行归纳(经验分布)去逼近理想状态下的真实分布,弊端是‘经验分布’和‘真实分布’之间总是存在差距;优势在于简化运算,概率分布结果只与有限样本相关。
引入经验概率分布的背后意义在于概率分布完全取决于数据集合 X \mathcal X X。
经验概率分布本质上依然是概率分布,通过该概率分布可以求解期望、方差等 数字特征。定义
P
^
(
x
(
j
)
=
x
i
)
\hat {\mathcal 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
]
\mathbb E_{\hat {\mathcal P}(\mathcal X)}[\mathcal X]
EP^(X)[X]是描述随机变量的期望信息。
E P ^ ( X ) [ X ] = ∑ x i ∈ X P ^ ( x ( j ) = x i ) ⋅ x i i = 1 , 2 , ⋯ , k Var P ^ ( X ) [ X ] = E P ^ ( X ) [ X 2 ] − [ E P ^ ( X ) [ X ] ] 2 \begin{aligned} \mathbb E_{\hat {\mathcal P}(\mathcal X)}[\mathcal X] & = \sum_{x_i \in \mathcal X} \hat {\mathcal P}(x^{(j)} = x_i) \cdot x_i \quad i=1,2,\cdots,k \\ \text{Var}_{\hat {\mathcal P}(\mathcal X)}[\mathcal X] & = \mathbb E_{\hat {\mathcal P}(\mathcal X)}[\mathcal X^2] - \left[\mathbb E_{\hat {\mathcal P}(\mathcal X)}[\mathcal X]\right]^2 \end{aligned} EP^(X)[X]VarP^(X)[X]=xi∈X∑P^(x(j)=xi)⋅xii=1,2,⋯,k=EP^(X)[X2]−[EP^(X)[X]]2
为了让数字特征更具备泛化性:
- 假设 f ( x ( j ) = x i ) f(x^{(j)}=x_i) f(x(j)=xi)是关于样本 x ( j ) x^{(j)} x(j)值的任意函数,上述数字特征改写为: E P ^ ( X ) [ f ( X ) ] = ∑ i = 1 k P ^ ( x ( j ) = x i ) ⋅ f ( x ( j ) = x i ) \begin{aligned} \mathbb E_{\hat {\mathcal P}(\mathcal X)}[f(\mathcal X)] & = \sum_{i=1}^k \hat {\mathcal P}(x^{(j)} = x_i) \cdot f(x^{(j)}= x_i) \end{aligned} EP^(X)[f(X)]=i=1∑kP^(x(j)=xi)⋅f(x(j)=xi)
- 对
f
(
x
(
j
)
=
x
i
)
f(x^{(j)}=x_i)
f(x(j)=xi)进行深层设定:将
f
(
x
(
j
)
=
x
i
)
f(x^{(j)}=x_i)
f(x(j)=xi)定义为关于
x
(
j
)
x^{(j)}
x(j)的一个
Q
\mathcal Q
Q维函数向量。因此,
f
(
x
(
j
)
=
x
i
)
f(x^{(j)}=x_i)
f(x(j)=xi)存在如下表达形式:
需要注意的点:它是函数向量维度,而不是样本维度;
f ( x ( j ) = x i ) = [ f 1 ( x ( j ) = x i ) f 2 ( x ( j ) = x i ) ⋮ f Q ( x ( j ) = x i ) ] f(x^{(j)}=x_i) = \begin{bmatrix} f_1(x^{(j)}=x_i) \\ f_2(x^{(j)}=x_i) \\ \vdots \\ f_{\mathcal Q}(x^{(j)}=x_i) \\ \end{bmatrix} f(x(j)=xi)= f1(x(j)=xi)f2(x(j)=xi)⋮fQ(x(j)=xi)
由于 f ( x ) f(x) f(x)函数是自定义的,是已知的;概率分布 P ^ ( X ) \hat {\mathcal P}(\mathcal X) P^(X)是通过样本计算得到,是已知的;因此, E P ^ ( X ) [ f ( X ) ] \mathbb E_{\hat {\mathcal 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 ) ] ) = ( ∑ i = 1 k P ^ ( x ( j ) = x i ) ⋅ f 1 ( x ( j ) = x i ) ∑ i = 1 k P ^ ( x ( j ) = x i ) ⋅ f 2 ( x ( j ) = x i ) ⋮ ∑ i = 1 k P ^ ( x ( j ) = x i ) ⋅ f Q ( x ( j ) = x i ) ) = ( Ω 1 Ω 2 ⋮ Ω Q ) \mathbb E_{\hat {\mathcal P}(\mathcal X)}[f(\mathcal X)] = \begin{pmatrix} \mathbb E_{\hat {\mathcal P}(\mathcal X)}[f_1(\mathcal X)] \\ \mathbb E_{\hat {\mathcal P}(\mathcal X)}[f_2(\mathcal X)] \\ \vdots \\ \mathbb E_{\hat {\mathcal P}(\mathcal X)}[f_{\mathcal Q}(\mathcal X)] \\ \end{pmatrix} = \begin{pmatrix} \sum_{i=1}^k \hat {\mathcal P}(x^{(j)} = x_i) \cdot f_1(x^{(j)}=x_i) \\ \sum_{i=1}^k \hat {\mathcal P}(x^{(j)} = x_i) \cdot f_2(x^{(j)}=x_i) \\ \vdots \\ \sum_{i=1}^k \hat {\mathcal P}(x^{(j)} = x_i) \cdot f_{\mathcal Q}(x^{(j)}=x_i) \\ \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)] = ∑i=1kP^(x(j)=xi)⋅f1(x(j)=xi)∑i=1kP^(x(j)=xi)⋅f2(x(j)=xi)⋮∑i=1kP^(x(j)=xi)⋅fQ(x(j)=xi) = Ω1Ω2⋮ΩQ
至此,我们根据约束条件——数据集合 X \mathcal X X借助经验概率分布 P ^ ( X ) \hat {\mathcal P}(\mathcal X) P^(X)得到一个 带等号的约束条件。
最大熵原理推导过程和最大熵思想推导相似,该问题本质上也是一个优化问题:
假设
P
(
X
)
\mathcal P(\mathcal X)
P(X)是使用最大熵原理最终求解的概率分布;
p
(
x
(
j
)
)
p(x^{(j)})
p(x(j))表示
P
(
X
)
\mathcal P(\mathcal X)
P(X)分布下某样本
x
(
j
)
x^{(j)}
x(j)的 概率密度函数。因此,
P
(
X
)
\mathcal 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)=1x(j)∈XEP(X)[f(X)]=EP^(X)[f(X)]=Ω
终上,我们得到 一个目标函数与两个带等号的约束条件。
-
使用拉格朗日乘数法构造拉格朗日函数:
由于
E P ^ ( X ) [ f ( X ) ] \mathbb E_{\hat {\mathcal 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}\left[\Omega - \mathbb E_{P(\mathcal X)}[f(\mathcal X)]\right] \\ & = \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} \left[\Omega - \sum_{x^{(j)} \in \mathcal X}p(x^{(j)}=x_i)f(x^{(j)}) \right] \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 \begin{aligned} \frac{\partial \mathcal L(p(x^{(j)}),\lambda_0,\lambda)}{\partial p(x^{(j)})} \triangleq 0 \end{aligned} ∂p(x(j))∂L(p(x(j)),λ0,λ)≜0,有: { 1 + log p ( x ( j ) ) − f ( x ( j ) ) − k N ⋅ λ 0 = 0 → p ( x ( j ) ) = exp { λ T f ( x ( j ) ) − ( k N λ 0 + 1 ) } ( x ( j ) ∈ X ) \begin{cases} \begin{aligned} & 1 + \log p(x^{(j)}) -f(x^{(j)}) - \frac{k}{N} \cdot \lambda_0 = 0 \\ & \to p(x^{(j)}) = \exp \left\{\lambda^{T}f(x^{(j)}) - (\frac{k}{N}\lambda_0 + 1) \right\} \quad(x^{(j)} \in \mathcal X) \end{aligned} \end{cases} ⎩ ⎨ ⎧1+logp(x(j))−f(x(j))−Nk⋅λ0=0→p(x(j))=exp{λTf(x(j))−(Nkλ0+1)}(x(j)∈X)
最终通式结果表示如下: p ( x ) = exp { λ T f ( x ) − ( k N λ 0 + 1 ) } p(x) = \exp \left\{\lambda^{T}f(x) - (\frac{k}{N}\lambda_0 + 1) \right\} p(x)=exp{λ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 \begin{aligned}A(\eta) = \frac{k}{N}\lambda_0 + 1\end{aligned} A(η)=Nkλ0+1;
至此,我们发现,在概率分布存在约束条件的情况下,满足约束条件下熵最大的分布就是指数族分布。
下一节将暂停一节指数族分布的介绍,将最大熵原理延伸至 sigmoid,softmax \text{sigmoid,softmax} sigmoid,softmax函数。
相关参考: 机器学习-白板推导系列(八)-指数族分布(Exponential Family Distribution)