概率分布、熵与配分函数¶
概率分布是神经网络、统计物理和 NNQS 的共同语言。
在机器学习中,我们学习:
\[
p_\theta(y\mid x)
\quad\text{或}\quad
p_\theta(x).
\]
在统计物理中,我们经常写:
\[
p(x)={e^{-\beta E(x)}\over Z}.
\]
在 NNQS 中,采样分布是:
\[
p_\theta(x)=|\psi_\theta(x)|^2.
\]
这些式子的共同点是:都在描述哪些状态更可能出现。
概率分布的基本要求¶
离散分布 \(p(x)\) 满足:
\[
p(x)\ge 0,
\qquad
\sum_x p(x)=1.
\]
连续分布则写成:
\[
p(x)\ge 0,
\qquad
\int p(x)\,dx=1.
\]
归一化条件很重要。一个模型可以给每个状态一个分数 \(s_\theta(x)\),但如果要解释为概率,必须转成归一化形式。
配分函数¶
统计物理中常见 Boltzmann 分布:
\[
p(x)
=
{e^{-\beta E(x)}\over Z}.
\]
其中:
\[
Z=\sum_x e^{-\beta E(x)}.
\]
\(Z\) 称为配分函数。它的作用是归一化:
\[
\sum_x p(x)
=
{1\over Z}\sum_x e^{-\beta E(x)}
=1.
\]
机器学习中也经常出现类似结构。比如 softmax:
\[
p_i={e^{z_i}\over\sum_j e^{z_j}}.
\]
分母:
\[
\sum_j e^{z_j}
\]
就是一个有限类别上的归一化因子。
熵¶
Shannon 熵定义为:
\[
H(p)
=
-\sum_x p(x)\log p(x).
\]
它衡量分布的不确定性。
如果分布集中在一个状态上:
\[
p(x^\star)=1,
\]
则:
\[
H(p)=0.
\]
如果分布很均匀,熵更大。
热力学熵和 Shannon 熵¶
Shannon 熵只需要概率分布。热力学熵还需要物理解释:状态 \(x\) 是微观态,概率来自某个物理系综。
两者形式相近:
\[
S=-k_B\sum_x p(x)\log p(x).
\]
和 Shannon 熵相比,多了 Boltzmann 常数 \(k_B\) 和物理单位。
自由能¶
Helmholtz 自由能为:
\[
F=E-TS.
\]
在正则系综中也可以写成:
\[
F=-{1\over\beta}\log Z.
\]
这个式子说明:配分函数不是单纯归一化常数,它编码了整个热力学信息。
和神经网络训练的关系¶
神经网络训练经常可以看成分布匹配。
语言模型学习:
\[
p_\theta(t_i\mid t_{<i})
\approx
p_{\rm data}(t_i\mid t_{<i}).
\]
分类模型学习:
\[
p_\theta(y\mid x)
\approx
p_{\rm data}(y\mid x).
\]
NNQS 学习一个波函数,使得:
\[
p_\theta(x)=|\psi_\theta(x)|^2
\]
在能量目标下变得更优。
因此,概率分布、熵、配分函数不是孤立概念。它们分别回答:
| 概念 | 问题 |
|---|---|
| 概率分布 | 哪些状态更可能出现? |
| 熵 | 分布有多不确定? |
| 配分函数 | 如何归一化所有状态权重? |
| 自由能 | 能量和熵如何折中? |
在概率图模型中,很多推断问题都可以理解为从联合分布中求边缘分布:
\[
p(x_i)=\sum_{\{x_j:j\neq i\}}p(x_1,\ldots,x_N).
\]
当联合分布由局部因子构成时,可以用消息传递方法近似或精确求这些边缘概率。相关内容见 推断、统计推断与信念传播。