8 深入了解:指数族分布
1 背景
机器学习经常要做这样一件事:给定一组训练数据 D,我们希望通过 D 得到我们研究的空间的概率分布。但是在没有任何假设的情况下,直接学习概率分布是不现实的。直接学习概率分布最简单的方法,就是把空间分成很多很多小的单元,然后统计样本落在每个单元的频率,作为每个单元的概率分布。但是这种方法会面临着数据不足、有噪音、存储能力受限等问题。
所以在大多数情况下,我们都会人为指定某种概率分布的形式(例如指定为高斯分布或伯努利分布等)。当然,由于人为限定了概率分布形式,我们就需要根据不同的问题选择不同的分布,就像对不同问题选择不同的机器学习模型一样。
指数族是一类分布,包括高斯分布、伯努利分布、二项分布、泊松分布、Beta 分布、Dirichlet 分布、Gamma 分布等一系列分布。指数族分布可以写为统一的形式: p ( x ∣ η ) = h ( x ) exp ( η T ϕ ( x ) − A ( η ) ) = 1 exp ( A ( η ) ) h ( x ) exp ( η T ϕ ( x ) ) p(x|\eta)=h(x)\exp(\eta^T\phi(x)-A(\eta))=\frac{1}{\exp(A(\eta))}h(x)\exp(\eta^T\phi(x)) p(x∣η)=h(x)exp(ηTϕ(x)−A(η))=exp(A(η))1h(x)exp(ηTϕ(x)) 其中, η \eta η 是参数向量, A ( η ) A(\eta) A(η) 是对数配分函数(归一化因子)。
1.1 三大性质
- 充分统计量
在上面的式子中, ϕ ( x ) \phi(x) ϕ(x) 叫做充分统计量,包含样本集合所有的信息,例如高斯分布中的均值和方差。充分统计量在在线学习中有应用,对于一个数据集,只需要记录样本的充分统计量即可。
例如 , 对 p ( x ) p(x) p(x) 的估计: p ( x ∣ θ ) = 1 z p ^ ( x ∣ θ ) p(x|\theta)=\frac{1}{z}\hat{p}(x|\theta) p(x∣θ)=z1p^(x∣θ)
其中, z z z 是归一化因子,也叫配分函数。我们知道, p ( x ∣ θ ) p(x|\theta) p(x∣θ) 是概率分布,对 x x x 进行积分为 1,此时 z z z 相当于常数,于是可得下式:
1 = ∫ x p ( x ∣ θ ) d x = 1 z ∫ P ^ ( x ∣ θ ) d x = 1 z ∫ p ^ ( x ∣ θ ) d x \begin{aligned} 1=\int_{x} p(x | \theta) d x &=\frac{1}{z} \int \hat{P}(x | \theta) d x \\ &=\frac{1}{z} \int \hat{p}(x | \theta) d x \end{aligned} 1=∫xp(x∣θ)dx=z1∫P^(x∣θ)dx=z1∫p^(x∣θ)dx
此时,将指数族分布进行整理:
p ( x ∣ η ) = h ( x ) exp ( η T ϕ ( x ) − A ( η ) ) = 1 exp ( A ( η ) ) h ( x ) exp ( η T ϕ ( x ) ) = 1 z p ^ ( x ∣ θ ) \begin{aligned} p(x|\eta) &=h(x)\exp(\eta^T\phi(x)-A(\eta)) \\ &=\frac{1}{\exp(A(\eta))}h(x)\exp(\eta^T\phi(x)) \\ &=\frac{1}{z}\hat{p}(x|\theta) \end{aligned} p(x∣η)=h(x)exp(ηTϕ(x)−A(η))=exp(A(η))1h(x)exp(ηTϕ(x))=z1p^(x∣θ)
可得: e x p ( A ( η ) ) = z , A ( η ) = l o g z exp(A(\eta))=z,A(\eta)=logz exp(A(η))=z,A(η)=logz,所以 A ( η ) A(\eta) A(η) 叫做配分函数。
进一步,以高斯分布为例,令: ϕ ( x ) = ( ∑ i = 1 N x i ∑ i = 1 N x i 2 ) \phi(x)=\left(\begin{array}{l} \sum_{i=1}^{N} x_{i} \\ \sum_{i=1}^{N} x_{i}^{2} \end{array}\right) ϕ(x)=(∑i=1Nxi∑i=1Nxi2)
”统计“:即表示对样本的统计值
”充分“:通过上面两个统计值,可以求得均值和方差,进而可以获得高斯分布表达式。
充分统计量在在线学习中有应用,对于一个数据集,只需要记录样本的充分统计量即可。 - 共轭先验
P ( z ∣ x ) = P ( x ∣ z ) p ( z ) ∫ z P ( x ∣ z ) P ( z ) d z P(z | x)=\frac{P(x | z) p(z)}{\int_{z} P(x | z) P(z) d z} P(z∣x)=∫zP(x∣z)P(z)dzP(x∣z)p(z)
我们知道,上式中分母积分十分难计算,为了解决积分难计算的问题,一个思路是能否绕过积分呢?我们知道存在如下关系 P ( z ∣ x ) ∝ p ( x ∣ z ) p ( z ) P(z | x) \propto p(x | z) p(z) P(z∣x)∝p(x∣z)p(z),其中 P ( z ∣ x ) P(z|x) P(z∣x) 是后验分布, p ( x ∣ z ) p(x|z) p(x∣z) 是似然, p ( z ) p(z) p(z) 是先验。
在已知似然函数的情况下,选取什么样的先验分布能够使得后验分布与先验分布具有相同的数学形式呢?
如果存在这样的⼀个先验分布,那么上⼀时刻的输出可以作为下⼀时刻计算的先验分布,那么这样整个计算就可以形成闭环。也就是说如果后验分布和先验分布是同分布,此时我们称先验分布和后验分布是共轭分布,且称先
验分布是似然函数的共轭先验。⽐如⾼斯分布家族在⾼斯似然函数下与其⾃身共轭,也叫⾃共轭。
共轭先验的好处主要在于代数上的⽅便性,可以直接给出后验分布的封闭形式,否则的话只能做数值计算。共轭先验也有助于活的关于似然函数如何更新先验分布的直观印象。
对于一个模型分布假设(似然),那么我们在求解中,常常需要寻找一个共轭先验,使得先验与后验的形式相同,例如选取似然是二项分布,可取先验是 Beta 分布,那么后验也是 Beta 分布。指数族分布常常具有共轭的性质,于是我们在模型选择以及推断具有很大的便利。
- 最大熵(无信息先验)
⽆信息先验是指先验分布尽可能对后验分布产⽣⼩的影响,即尽可能的随机性,其实就是最⼤熵原理。
1.2 三大重要应用
- 广义线性模型
数族分布在此模型中占据重要地位:
广义线性模型主要是为了解决回归和分类问题,在线性模型的基础上进行扩展,有如下:
- 线性组合
- link function (激活函数的反函数)
- 指数族分布 y ∣ x y|x y∣x 满足指数族分布
线性回归中: [公式]
分类: [公式]
特殊情况: [公式]
- 概率图模型
无向图:RBM(限制玻尔兹曼机) - 变分推断
指数族分布占据重要地位
若其中的分布满足指数族分布,则会使变分推断大大简化。
观察到指数族分布的表达式类似线性模型,事实上,指数族分布很自然地导出广义线性模型: y = f ( w T x ) y ∣ x ∼ E x p F a m i l y y=f(w^Tx)\\ \\y|x\sim Exp Family y=f(wTx)y∣x∼ExpFamily 在更复杂的概率图模型中,例如在无向图模型中如受限玻尔兹曼机中,指数族分布也扮演着重要作用。
在推断的算法中,例如变分推断中,指数族分布也会大大简化计算。
2 高斯分布的指数形式
一维高斯分布可以写成:
p
(
x
∣
θ
)
=
1
2
π
σ
exp
(
−
(
x
−
μ
)
2
2
σ
2
)
p(x|\theta)=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(x-\mu)^2}{2\sigma^2})
p(x∣θ)=2πσ1exp(−2σ2(x−μ)2)
其中,
θ
=
(
μ
,
σ
2
)
\theta=(\mu,\sigma^2)
θ=(μ,σ2),对上式进行改写:
P
(
x
∣
θ
)
=
1
2
π
σ
exp
(
−
(
x
−
μ
)
2
2
σ
2
)
=
1
2
π
σ
exp
(
−
1
2
σ
2
(
x
2
−
2
x
μ
+
μ
2
)
)
=
exp
log
(
2
x
σ
2
)
−
1
2
⋅
exp
{
−
1
2
σ
2
(
x
2
−
2
μ
x
)
−
u
2
2
σ
2
}
=
exp
log
(
2
x
σ
2
)
−
1
2
⋅
exp
(
−
1
2
σ
2
(
−
2
μ
1
)
(
x
x
2
)
−
μ
2
2
σ
2
)
=
exp
{
(
μ
σ
2
−
1
2
σ
2
)
(
x
x
2
)
−
(
u
2
2
σ
2
+
1
2
log
(
2
π
σ
2
)
)
}
\begin{aligned} P(x | \theta) &=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^{2}}{2 \sigma^{2}}\right) \\ &=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{1}{2 \sigma^{2}}\left(x^{2}-2 x \mu+\mu^{2}\right)\right) \\ &=\exp \log \left(2 x \sigma^{2}\right)^{-\frac{1}{2}} \cdot \exp \left\{-\frac{1}{2 \sigma^{2}}\left(x^{2}-2 \mu x\right)-\frac{u^{2}}{2 \sigma^{2}}\right\} \\ &=\exp \log \left(2 x \sigma^{2}\right)^{-\frac{1}{2}} \cdot \exp \left(-\frac{1}{2 \sigma^{2}}(-2 \mu \quad 1)\left(\begin{array}{c}x \\ x^2\end{array}\right)-\frac{\mu^{2}}{2 \sigma^{2}}\right) \\ &=\exp \left\{\left(\frac{\mu}{\sigma^{2}} \quad-\frac{1}{2 \sigma^{2}}\right)\left(\begin{array}{c}x \\ x^2\end{array}\right)-\left(\frac{u^{2}}{2 \sigma^{2}}+\frac{1}{2} \log \left(2 \pi \sigma^{2}\right)\right)\right\} \end{aligned}
P(x∣θ)=2πσ1exp(−2σ2(x−μ)2)=2πσ1exp(−2σ21(x2−2xμ+μ2))=explog(2xσ2)−21⋅exp{−2σ21(x2−2μx)−2σ2u2}=explog(2xσ2)−21⋅exp(−2σ21(−2μ1)(xx2)−2σ2μ2)=exp{(σ2μ−2σ21)(xx2)−(2σ2u2+21log(2πσ2))}
将上式与指数族分布进行对应,可得,
⇒ η = ( η 1 η 2 ) = ( μ σ 2 − 1 2 σ 2 ) ⇒ { μ = − η 1 2 η 2 σ 2 = − 1 2 η 2 ϕ ( x ) = ( x x 2 ) A ( η ) = u 2 2 σ 2 + 1 2 log ( 2 π σ 2 ) = η 1 2 4 η 2 + 1 2 log ( − π 2 η 2 ) ⇒ P ( x ∣ θ ) = 1 ⋅ exp { η ⊤ ϕ ( x ) − A ( η ) } \begin{array}{l} \Rightarrow \eta=\left(\begin{array}{l} \eta_{1} \\ \eta_{2} \end{array}\right)=\left(\begin{array}{c} \frac{\mu}{ \sigma^{2}} \\ -\frac{1}{2 \sigma^{2}} \end{array}\right) \Rightarrow\left\{\begin{array}{l} \mu=-\frac{\eta_{1}}{2 \eta_{2}} \\ \sigma^{2}=-\frac{1}{2 \eta_{2}} \end{array}\right. \\ \\\begin{aligned} \phi(x)=\left(\begin{array}{l} x \\ x^{2} \end{array}\right) \\ \\ A(\eta)=\frac{u^{2}}{2 \sigma^{2}}+\frac{1}{2} \log \left(2\pi \sigma^{2}\right) \\ \\ =\frac{\eta_{1}^{2}}{4 \eta_{2}}+\frac{1}{2} \log \left(-\frac{\pi}{2 \eta_{2}}\right) \end{aligned} \\ \\ \Rightarrow P(x | \theta)=1 \cdot \exp \left\{\eta^{\top} \phi(x)-A(\eta)\right\} \end{array} ⇒η=(η1η2)=(σ2μ−2σ21)⇒{μ=−2η2η1σ2=−2η21ϕ(x)=(xx2)A(η)=2σ2u2+21log(2πσ2)=4η2η12+21log(−2η2π)⇒P(x∣θ)=1⋅exp{η⊤ϕ(x)−A(η)}
3 对数配分函数 A ( η ) A(\eta) A(η) 和充分统计量 ϕ ( x ) \phi(x) ϕ(x) 的关系
对概率密度函数
p
(
x
∣
η
)
=
h
(
x
)
exp
(
η
T
ϕ
(
x
)
−
A
(
η
)
)
=
1
exp
(
A
(
η
)
)
h
(
x
)
exp
(
η
T
ϕ
(
x
)
)
p(x|\eta)=h(x)\exp(\eta^T\phi(x)-A(\eta))=\frac{1}{\exp(A(\eta))}h(x)\exp(\eta^T\phi(x))
p(x∣η)=h(x)exp(ηTϕ(x)−A(η))=exp(A(η))1h(x)exp(ηTϕ(x)) 求积分,积分值为 1,将
1
exp
(
A
(
η
)
)
\frac{1}{\exp(A(\eta))}
exp(A(η))1看作常数,那么可得下式:
exp
(
A
(
η
)
)
=
∫
h
(
x
)
exp
(
η
T
ϕ
(
x
)
)
d
x
\exp(A(\eta))=\int h(x)\exp(\eta^T\phi(x))dx
exp(A(η))=∫h(x)exp(ηTϕ(x))dx
两边对参数求导:
exp
(
A
(
η
)
)
A
′
(
η
)
=
∫
h
(
x
)
exp
(
η
T
ϕ
(
x
)
)
ϕ
(
x
)
d
x
\exp(A(\eta))A'(\eta)=\int h(x)\exp(\eta^T\phi(x))\phi(x)dx
exp(A(η))A′(η)=∫h(x)exp(ηTϕ(x))ϕ(x)dx
A
′
(
η
)
=
∫
h
(
x
)
exp
(
η
⊤
ϕ
(
x
)
)
⋅
ϕ
(
x
)
⋅
d
x
exp
(
A
(
η
)
)
=
∫
h
(
x
)
exp
(
η
⊤
ϕ
(
x
)
−
A
(
η
)
)
⋅
ϕ
(
x
)
d
x
=
∫
p
(
x
∣
η
)
⋅
ϕ
(
x
)
d
x
=
E
p
(
x
∣
η
)
[
ϕ
(
x
)
]
\begin{aligned} A^{\prime}(\eta) &=\frac{\int h(x) \exp \left(\eta^{\top} \phi(x)\right) \cdot \phi(x) \cdot d x}{\exp (A(\eta))} \\ &=\int {h(x) \exp \left(\eta^{\top} \phi(x)-A(\eta)\right) \cdot \phi(x)}dx \\ &=\int p(x | \eta) \cdot \phi(x) d x \\ &=\mathbb{E}_{p(x | \eta)}[\phi(x)] \end{aligned}
A′(η)=exp(A(η))∫h(x)exp(η⊤ϕ(x))⋅ϕ(x)⋅dx=∫h(x)exp(η⊤ϕ(x)−A(η))⋅ϕ(x)dx=∫p(x∣η)⋅ϕ(x)dx=Ep(x∣η)[ϕ(x)]
类似的:
A
′
′
(
η
)
=
V
a
r
p
(
x
∣
η
)
[
ϕ
(
x
)
]
A''(\eta)=Var_{p(x|\eta)}[\phi(x)]
A′′(η)=Varp(x∣η)[ϕ(x)] 由于方差为正,于是
A
(
η
)
A(\eta)
A(η) 一定是凸函数。
方差为正,一定是凸函数?
我们可以将上述结果带到高斯分布进行检验:
在上一节知道
η
=
(
η
1
η
2
)
=
(
μ
σ
2
−
1
2
σ
2
)
⇒
{
μ
=
−
η
1
2
η
2
σ
2
=
−
1
2
η
2
ϕ
(
x
)
=
(
x
x
2
)
A
(
η
)
=
u
2
2
σ
2
+
1
2
log
(
2
π
σ
2
)
=
η
1
2
4
η
2
+
1
2
log
(
−
π
2
η
2
)
⇒
P
(
x
∣
θ
)
=
1
⋅
exp
{
η
⊤
ϕ
(
x
)
−
A
(
η
)
}
\begin{array}{l} \eta=\left(\begin{array}{l} \eta_{1} \\ \eta_{2} \end{array}\right)=\left(\begin{array}{c} \frac{\mu}{ \sigma^{2}} \\ -\frac{1}{2 \sigma^{2}} \end{array}\right) \Rightarrow\left\{\begin{array}{l} \mu=-\frac{\eta_{1}}{2 \eta_{2}} \\ \sigma^{2}=-\frac{1}{2 \eta_{2}} \end{array}\right. \\ \\\begin{aligned} \phi(x)=\left(\begin{array}{l} x \\ x^{2} \end{array}\right) \\ \\ A(\eta)=\frac{u^{2}}{2 \sigma^{2}}+\frac{1}{2} \log \left(2\pi \sigma^{2}\right) \\ \\ =\frac{\eta_{1}^{2}}{4 \eta_{2}}+\frac{1}{2} \log \left(-\frac{\pi}{2 \eta_{2}}\right) \end{aligned} \\ \\ \Rightarrow P(x | \theta)=1 \cdot \exp \left\{\eta^{\top} \phi(x)-A(\eta)\right\} \end{array}
η=(η1η2)=(σ2μ−2σ21)⇒{μ=−2η2η1σ2=−2η21ϕ(x)=(xx2)A(η)=2σ2u2+21log(2πσ2)=4η2η12+21log(−2η2π)⇒P(x∣θ)=1⋅exp{η⊤ϕ(x)−A(η)}
那么,
E
[
ϕ
(
x
)
]
=
[
E
(
x
)
E
(
x
2
)
]
E[\phi(x)]=\left[\begin{array}{l} E(x) \\ E\left(x^{2}\right) \end{array}\right]
E[ϕ(x)]=[E(x)E(x2)]易知,
E
(
x
)
=
μ
E(x)=\mu
E(x)=μ,对应的是
∂
A
(
η
)
d
η
1
=
2
η
1
4
η
2
=
−
2
⋅
μ
/
σ
2
4
⋅
(
−
1
2
σ
2
)
=
μ
\frac{\partial A(\eta)}{d \eta_{1}}=\frac{2\eta_{1}}{4\eta_{2}}=\frac{-2 \cdot \mu / \sigma^{2}}{4 \cdot\left(-\frac{1}{2 \sigma^{2}}\right)}=\mu
dη1∂A(η)=4η22η1=4⋅(−2σ21)−2⋅μ/σ2=μ
E
(
x
2
)
=
(
E
x
)
2
+
V
a
r
(
x
)
=
μ
2
+
σ
2
E(x^2)=(Ex)^2+Var(x)=\mu^2+\sigma^2
E(x2)=(Ex)2+Var(x)=μ2+σ2
∂
A
(
η
)
d
η
2
=
η
1
2
4
η
2
2
−
1
2
η
2
=
(
μ
/
σ
2
)
2
4
(
−
1
2
σ
2
)
2
−
1
2
⋅
(
−
1
2
σ
2
)
=
u
2
+
σ
2
\begin{aligned} \frac{\partial A(\eta)}{d \eta_{2}}=\frac{\eta_{1}^{2}}{4 \eta_{2}^{2}}-\frac{1}{2 \eta_{2}} &=\frac{\left(\mu / \sigma^{2}\right)^2}{4\left(-\frac{1}{2\sigma^2}\right)^{2}}-\frac{1}{2 \cdot\left(-\frac{1}{2\sigma^{2}}\right)} \\ &=u^{2}+\sigma^{2} \end{aligned}
dη2∂A(η)=4η22η12−2η21=4(−2σ21)2(μ/σ2)2−2⋅(−2σ21)1=u2+σ2
也就是本节的结论。
4 极大似然估计和充分统计量 ϕ ( x ) \phi(x) ϕ(x)
前面的结论: p ( x ∣ η ) = h ( x ) exp ( η T ϕ ( x ) − A ( η ) ) = 1 exp ( A ( η ) ) h ( x ) exp ( η T ϕ ( x ) ) p(x|\eta)=h(x)\exp(\eta^T\phi(x)-A(\eta))=\frac{1}{\exp(A(\eta))}h(x)\exp(\eta^T\phi(x)) p(x∣η)=h(x)exp(ηTϕ(x)−A(η))=exp(A(η))1h(x)exp(ηTϕ(x))
- η \eta η 是参数向量
- A ( η ) A(\eta) A(η) 是对数配分函数(归一化因子)
- ϕ ( x ) \phi(x) ϕ(x) 叫做充分统计量
- 其中 A ′ ( η ) = E p ( x ∣ η ) [ ϕ ( x ) ] A'(\eta)=\mathbb{E} p(x | \eta)[\phi(x)] A′(η)=Ep(x∣η)[ϕ(x)] A ′ ′ ( η ) = V a r [ ϕ ( x ) ] A''(\eta)=Var[\phi(x)] A′′(η)=Var[ϕ(x)]
对于独立全同采样得到的数据集 D = x 1 , x 2 , ⋯ , x N \mathcal{D}={x_1,x_2,\cdots,x_N} D=x1,x2,⋯,xN,由极大似然估计可得
η
m
l
e
=
arg
max
η
log
P
(
D
∣
η
)
=
arg
max
η
log
∏
i
=
1
N
P
(
x
i
∣
η
)
=
arg
max
η
∑
i
=
1
N
log
P
(
x
i
∣
η
)
=
arg
max
η
∑
i
=
1
N
log
[
h
(
x
)
exp
{
η
⊤
ϕ
(
x
i
)
−
A
(
η
)
}
=
arg
max
η
∑
i
=
1
N
[
log
h
i
(
x
)
+
η
⊤
ϕ
(
x
i
)
−
A
(
η
)
}
=
arg
max
η
∑
i
=
1
N
[
η
⊤
ϕ
(
x
i
)
−
A
(
η
)
]
\begin{aligned} &\begin{aligned} \eta_{mle} &=\arg \max _{\eta} \log P(D | \eta) \\ &=\arg \max _{\eta} \log \prod_{i=1}^{N} P\left(x_{i} | \eta\right) \\ &=\arg \max _{\eta} \sum_{i=1}^{N} \log P\left(x_{i} | \eta\right) \end{aligned}\\ & =\arg \max _{\eta} \sum_{i=1}^{N} \log \left[\operatorname{h}(x) \exp \left\{\eta^{\top} \phi(x_{i})-A(\eta)\right\}\right.\\ &=\arg \max _{\eta} \sum_{i=1}^{N}\left[\log h_{i}(x)+\eta^{\top} \phi(x_{i})-A(\eta)\right\}\\ &=\arg \max _{\eta} \sum_{i=1}^{N}\left[\eta^{\top} \phi(x_{i})-A(\eta)\right] \end{aligned}
ηmle=argηmaxlogP(D∣η)=argηmaxlogi=1∏NP(xi∣η)=argηmaxi=1∑NlogP(xi∣η)=argηmaxi=1∑Nlog[h(x)exp{η⊤ϕ(xi)−A(η)}=argηmaxi=1∑N[loghi(x)+η⊤ϕ(xi)−A(η)}=argηmaxi=1∑N[η⊤ϕ(xi)−A(η)]
求导,并令积分为0
∂
∑
i
=
1
N
[
n
⊤
ϕ
i
(
x
)
−
A
(
η
)
]
∂
η
=
∑
i
=
1
N
[
ϕ
(
x
i
)
−
A
′
(
η
)
]
=
∑
i
=
1
N
ϕ
i
(
x
)
−
N
A
′
(
η
)
=
0
⇒
A
′
(
η
∗
)
=
1
N
∑
i
=
1
N
ϕ
(
x
i
)
\begin{aligned} \frac{\partial \sum_{i=1}^{N}\left[n^{\top} \phi_{i}(x)-A(\eta)\right]}{\partial \eta} &=\sum_{i=1}^{N}\left[\phi(x_{i})-A^{\prime}(\eta)\right] \\ &=\sum_{i=1}^{N} \phi_{i}(x)-N A^{\prime}(\eta)=0 \\ \Rightarrow & A^{\prime}\left(\eta^{*}\right)=\frac{1}{N} \sum_{i=1}^{N} \phi(x_{i}) \\ \end{aligned}
∂η∂∑i=1N[n⊤ϕi(x)−A(η)]⇒=i=1∑N[ϕ(xi)−A′(η)]=i=1∑Nϕi(x)−NA′(η)=0A′(η∗)=N1i=1∑Nϕ(xi)
令
g
(
η
)
=
A
′
(
η
∗
)
g(\eta)=A^{\prime}\left(\eta^{*}\right)
g(η)=A′(η∗),故
η
∗
=
g
−
1
(
η
)
\eta^{*}=g^{-1}(\eta)
η∗=g−1(η)。(即
η
∗
\eta^{*}
η∗ 是
A
′
(
η
∗
)
A^{\prime}\left(\eta^{*}\right)
A′(η∗) 的反函数)
对于高斯分布而言, η ∗ \eta^{*} η∗ 表示 ( μ , σ 2 ) (\mu,\sigma^2) (μ,σ2) 这些参数,为求解分布表达式,不用保存每一个样本,相反我们只需求出一个值,即 1 N ∑ i = 1 N ϕ ( x i ) \frac{1}{N} \sum_{i=1}^{N} \phi(x_{i}) N1∑i=1Nϕ(xi) 就能利用反函数求出 η m l e \eta_{mle} ηmle 。也就是为了估算参数,只需要知道充分统计量就可以了。
5 最大熵角度
5.1 无约束时的最大熵
信息量:
−
l
o
g
P
-logP
−logP
信息量与概率成反比,可以这样理解,如果一件事发生的概率非常大,那么它包含的信息就非常少,因为这件事已经确定会发生了。
信息熵:
连续函数:
E
n
t
r
o
p
y
=
∫
−
p
(
x
)
log
(
p
(
x
)
)
d
x
Entropy=\int-p(x)\log(p(x))dx
Entropy=∫−p(x)log(p(x))dx
离散函数:
E
n
t
r
o
p
y
=
∑
k
=
1
K
p
k
log
p
k
Entropy={\sum\limits_{k=1}^Kp_k\log p_k}
Entropy=k=1∑Kpklogpk
一般地,对于完全随机的变量(等可能),信息熵最大。
接下来我们求解一下什么分布下熵最大?
我们的假设为最大熵原则,假设数据是离散分布的,
k
k
k 个特征的概率分别为
p
k
p_k
pk ,最大熵原理可以表述为:
max
H
(
p
)
=
min
∑
k
=
1
K
p
k
log
p
k
s
.
t
.
∑
k
=
1
K
p
k
=
1
\max{H(p)}=\min{\sum\limits_{k=1}^Kp_k\log p_k}\ s.t.\ \sum\limits_{k=1}^Kp_k=1
maxH(p)=mink=1∑Kpklogpk s.t. k=1∑Kpk=1
利用 Lagrange 乘子法:
L
(
p
,
λ
)
=
∑
k
=
1
K
p
k
log
p
k
+
λ
(
1
−
∑
k
=
1
K
p
k
)
L(p,\lambda)=\sum\limits_{k=1}^Kp_k\log p_k+\lambda(1-\sum\limits_{k=1}^Kp_k)
L(p,λ)=k=1∑Kpklogpk+λ(1−k=1∑Kpk)
求导,可得:
∂
L
(
p
,
x
)
∂
p
i
=
log
p
i
+
1
−
λ
=
0
p
^
i
=
exp
(
λ
−
1
)
\begin{array}{c} \frac{\partial L(p, x)}{\partial p_{i}}=\log p_{i}+1-\lambda=0 \\ \\ \hat{p}_{i}=\exp (\lambda-1) \end{array}
∂pi∂L(p,x)=logpi+1−λ=0p^i=exp(λ−1)
又因为
λ
\lambda
λ 是一个常数,于是可得:
p
1
=
p
2
=
⋯
=
p
K
=
1
K
p_1=p_2=\cdots=p_K=\frac{1}{K}
p1=p2=⋯=pK=K1
因此在没有任何已知情况下,
p
(
x
)
p(x)
p(x) 是均匀分布的时候,熵最大。
5.2 有约束时的最大熵
上⼀节结论是在没有任何已知信息,或者说没有约束的情况下,均匀分布的熵最⼤。
下⾯讨论⼀下在只有数据的情况下,怎么生成约束,进而求解有约束的情况。
一个数据集 D \mathcal{D} D,在这个数据集上的经验分布为 p ^ ( x ) = C o u n t ( x ) N \hat{p}(x)=\frac{Count(x)}{N} p^(x)=NCount(x),实际不可能满足所有的经验概率相同,于是在上面的最大熵原理中还需要加入这个经验分布的约束。
那么,可令
f
(
x
)
f(x)
f(x) 是关于
x
x
x 的任意函数,为了具有一般性,假设
f
(
x
)
f(x)
f(x) 是一个向量,也就是说
f
(
x
)
f(x)
f(x) 中的数据是关于
x
x
x 的函数。对任意一个函数,经验分布的经验期望可以求得为:
E
p
^
[
f
(
x
)
]
=
Δ
\mathbb{E}\hat{p}[f(x)]=\Delta
Ep^[f(x)]=Δ这也可以当做是已知条件。
于是:
max
H
(
p
)
=
min
∑
k
=
1
N
p
k
log
p
k
s
.
t
.
∑
k
=
1
N
p
k
=
1
,
E
p
[
f
(
x
)
]
=
Δ
\max{H(p)}=\min{\sum\limits_{k=1}^Np_k\log p_k}\\ s.t.\ \sum\limits_{k=1}^Np_k=1,\mathbb{E}p[f(x)]=\Delta
maxH(p)=mink=1∑Npklogpks.t. k=1∑Npk=1,Ep[f(x)]=Δ
Lagrange 函数为:
L
(
p
,
λ
0
,
λ
)
=
∑
k
=
1
N
p
k
log
p
k
+
λ
0
(
1
−
∑
k
=
1
N
p
k
)
+
λ
T
(
Δ
−
E
p
[
f
(
x
)
]
)
L(p,\lambda_0,\lambda)=\sum\limits_{k=1}^Np_k\log p_k+\lambda_0(1-\sum\limits_{k=1}^Np_k)+\lambda^T(\Delta-\mathbb{E}p[f(x)])
L(p,λ0,λ)=k=1∑Npklogpk+λ0(1−k=1∑Npk)+λT(Δ−Ep[f(x)])
求导得到:
∂
∂
p
(
x
)
L
=
∑
k
=
1
N
(
log
p
(
x
)
+
1
)
−
∑
k
=
1
N
λ
0
−
∑
k
=
1
N
λ
T
f
(
x
)
⟹
∑
k
=
1
N
log
p
(
x
)
+
1
−
λ
0
−
λ
T
f
(
x
)
=
0
\begin{aligned} \frac{\partial}{\partial p(x)} L &=\sum_{k=1}^{N}(\log p(x)+1)-\sum_{k=1}^{N} \lambda_{0}-\sum_{k=1}^{N} \lambda^{T} f(x) \\ & \Longrightarrow \sum_{k=1}^{N} \log p(x)+1-\lambda_{0}-\lambda^{T} f(x)=0 \end{aligned}
∂p(x)∂L=k=1∑N(logp(x)+1)−k=1∑Nλ0−k=1∑NλTf(x)⟹k=1∑Nlogp(x)+1−λ0−λTf(x)=0
由于数据集是任意的,对数据集求和也意味着求和项里面的每一项都是0:
p
(
x
)
=
exp
(
λ
T
f
(
x
)
+
λ
0
−
1
)
p(x)=\exp(\lambda^Tf(x)+\lambda_0-1)
p(x)=exp(λTf(x)+λ0−1)
p
(
x
)
p(x)
p(x) 就是指数族分布。
所以,在有约束的情况下,指数族分布的熵最大。
版权声明:本文为CSDN博主「AI路上的小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cengjing12/article/details/106345098