Lecture by X.Dan

我们的核心假设是:观测数据来源于一个潜在的概率分布。让我们从回顾一些基本概念开始。

# 概率密度与分布

连续随机变量是具有以下形式的概率密度函数 P(x)P(x) 的变量:

P(x)0,xandP(x)dx=1P(x) \geq 0,\ \forall x \quad \text{and } \quad \int P(x) \, dx = 1

离散随机变量是具有以下形式的概率质量函数 P(x)P(x) 的变量:

P(x)0,xandxP(x)=1P(x) \geq 0,\ \forall x \quad \text{and} \quad \sum_{x} P(x) = 1

其中离散型变量的求和是对所有可能取值进行的,它仅在有限或可数集上取非零值。

如果不加声明,默认用积分号书写。当变量是离散的时,积分号表示求和,概率密度函数表示概率质量函数。

对于两个随机变量 XXYY,它们的联合概率密度函数联合概率质量函数定义为

P(x,y)0,x,yandP(x,y)dxdy=1P(x,y) \geq 0,\ \forall x,y \quad \text{and} \quad \displaystyle\int \int P(x,y) \, \mathrm dx \, \mathrm dy = 1

并且服从边缘化条件:

P(x)=P(x,y)dy;P(y)=P(x,y)dxP(x) = \displaystyle\int P(x,y) \, \mathrm dy ;\quad P(y) = \displaystyle\int P(x,y) \, \mathrm dx

定义条件概率密度函数条件概率质量函数

P(xy)=P(x,y)P(y)(providedP(y)>0);P(yx)=P(x,y)P(x)(providedP(x)>0)P(x|y) = \frac{P(x,y)}{P(y)} \quad (\text{provided } P(y) > 0) ;\quad P(y|x) = \frac{P(x,y)}{P(x)} \quad (\text{provided } P(x) > 0)

条件概率密度函数满足乘法法则:

P(x,y)=P(xy)P(y)=P(yx)P(x)P(x,y) = P(x|y) \, P(y) = P(y|x) \, P(x)

这条法则是 Bayes 定理 的基础

P(yx)=P(xy)P(y)P(x)P(y|x) = \frac{P(x|y) \, P(y)}{P(x)}

在统计物理学中

ρ(p,q)=exp(E(p,q))Z\rho (p,q) = \frac{\exp(-E(p,q))}{Z}

p,qp, q 分别是动量和位置变量。ZZ 是配分函数。著名的模型包括 Ising 模型等。机器学习的许多见解来源于物理学。

# 变量代换

对于一维随机变量 X,YX,Y,如果满足有一一对应 Y=f(X)Y=f(X),则对应概率满足

ApX(x)dx=f(A)pY(y)dy=ApY(f(x))df(x)dxdx\int _A p_X(x) \ \mathrm dx = \int _{f(A)} p_Y(y)\ \mathrm dy=\int _A p_Y(f(x)) \cdot \left|\frac{\mathrm d f(x)}{\mathrm d x}\right|\ \mathrm dx

对任意事件 AA 成立,因此取 A=[0,x]A=[0,x],对 xx 求导,根据对应,取反函数 x=f1(y)x=f^{-1}(y),则

pY(y)=pX(f1(y))df1(y)dyp_Y(y)=p_X(f^{-1}(y)) \cdot \left| \frac{\mathrm d f^{-1}(y)}{\mathrm d y}\right|

可以拿线性变换举例子。设

XUniform(0,1):pX(x)=1,0<x<1X \sim \text{Uniform}(0, 1):\quad p_X(x) = 1,\ \forall 0<x<1

定义 Y=2X+5Y = 2X + 5,则有变换

y=f(x)=2x+5y=f(x)=2x+5

这是一个对应,并且容易得到 yy 的支持域为 5<y<75<y<7。现在引用上述结论

pY(y)=pX(y52)d(y52)dy=112=12,5<y<7p_Y(y)=p_X\left(\frac{y-5}{2}\right) \cdot \left| \frac{\mathrm d \left(\frac{y-5}{2}\right)}{\mathrm d y}\right| = 1 \cdot \frac{1}{2} = \frac{1}{2},\quad \forall 5<y<7

从而

YUniform(5,7)Y \sim \text{Uniform}(5, 7)

类似地,可以推广到多维变量的情况。设 XRn,YRn\pmb X \in \mathbb R^n, \pmb Y \in \mathbb R^n,如果存在一一对应 Y=f(X)\pmb Y = f(\pmb X),则

pY(y)=pX(f1(y))det(f1(y)y)=pX(f1(y))Jp_{\pmb Y}(\pmb y) = p_{\pmb X}(f^{-1}(\pmb y)) \cdot \left| \det \left( \frac{\partial f^{-1}(\pmb y)}{\partial \pmb y} \right) \right|=p_{\pmb X}(f^{-1}(\pmb y)) \cdot \left| J \right|

其中 JJJacobian 矩阵,其行列式的绝对值称为体积变换因子,表示在变换过程中体积的伸缩:

J=f1(y)y=[f11y1f11y2f11ynf21y1f21y2f21ynfn1y1fn1y2fn1yn](y)J = \frac{\partial f^{-1}(\pmb y)}{\partial \pmb y} = \begin{bmatrix} \frac{\partial f_1^{-1}}{\partial y_1} & \frac{\partial f_1^{-1}}{\partial y_2} & \cdots & \frac{\partial f_1^{-1}}{\partial y_n} \\[6pt] \frac{\partial f_2^{-1}}{\partial y_1} & \frac{\partial f_2^{-1}}{\partial y_2} & \cdots & \frac{\partial f_2^{-1}}{\partial y_n} \\[6pt] \vdots & \vdots & \ddots & \vdots \\[6pt] \frac{\partial f_n^{-1}}{\partial y_1} & \frac{\partial f_n^{-1}}{\partial y_2} & \cdots & \frac{\partial f_n^{-1}}{\partial y_n} \end{bmatrix} (y)

# 概率特征

# 基本数字特征

设一维随机变量 XX 的概率密度函数为 P(x)P(x),则其数学期望定义为

μ=E[X]=xP(x)dx\mu =\mathbb{E}[X] = \int x \, P(x) \, \mathrm dx

方差定义为

σ2(X)=E[(Xμ)2]=(xμ)2P(x)dx\sigma^2(X)= \mathbb{E}[(X-\mu)^2] = \int (x-\mu)^2 \, P(x) \, \mathrm dx

对于一个函数 g(X)g(X),其期望定义为

E[g(X)]=g(x)P(x)dx\mathbb{E}[g(X)] = \int g(x) \, P(x) \, \mathrm dx

两个一维随机变量 X,YX,Y协方差定义为

Cov(X,Y)=E[(XμX)(YμY)]=E[XY]E[X]E[Y]\text{Cov}(X,Y) = \mathbb{E}[(X-\mu_X)(Y-\mu_Y)]=\mathbb E[XY]-\mathbb E[X]\mathbb E[Y]

如果协方差为零,则称 X,YX,Y 不相关;如果为正,则称为正相关;如果为负,则称为负相关

不相关的变量不一定独立,只不过是说它们在线性意义下没有关系。

例如,设随机变量 XX 服从均匀分布 XUniform(1,1)X \sim \text{Uniform}(-1, 1),定义 Y=X2Y = X^2。则有

E[X]=0,E[Y]=E[X2]=11x212dx=13\mathbb E[X] = 0,\quad \mathbb E[Y] = \mathbb E[X^2] = \int_{-1}^{1} x^2 \cdot \frac{1}{2} \, \mathrm dx = \frac{1}{3}

说明 X,YX,Y 不独立,但不相关。

#

对一维随机变量 XX,定义

H(X)=P(x)logP(x)dxH(X) = - \int P(x) \log P(x) \, \mathrm dx

其中 log\log 通常表示以 2 为底的对数,熵的单位是比特

熵衡量了随机变量的不确定性。熵越大,不确定性越高;熵越小,不确定性越低,越容易预测。

例如,对于六面骰子,定义随机变量 XX 表示骰子的点数,则它是在值域上均匀分布的离散随机变量,熵为

H(X)=i=1616log16=log62.585bitsH(X) = - \sum_{i=1}^{6} \frac 16 \log \frac 16 = \log 6 \approx 2.585\ \text{bits}

熵为 2.5852.585 比特,表示每次掷骰子平均需要 2.5852.585 比特的信息量来编码结果。这说明骰子的结果具有较高的不确定性。如果骰子是偏的,比如点数 66 出现的概率为 0.50.5,其他点数均为 0.10.1,则熵为

H(X)=(0.5log0.5+5×0.1log0.1)2.161bitsH(X) = - \left(0.5 \log 0.5 + 5 \times 0.1 \log 0.1\right) \approx 2.161\ \text{bits}

熵降低到 2.1612.161 比特,说明结果的不确定性降低了。

# 交叉熵与条件熵

对于两个一维随机变量 X,YX,Y,定义交叉熵联合熵

H(X,Y)=P(x,y)logP(x,y)dxdyH(X,Y) = - \int \int P(x,y) \log P(x,y) \, \mathrm dx \, \mathrm dy

其中 P(x,y)P(x,y)X,YX,Y 的联合概率密度函数。

这实际上是在一个二元变量空间中衡量不确定性。上述定义可以推广到多维随机变量 (X1,X2,,Xn)(X_1, X_2, \ldots, X_n)

H(X1,X2,,Xn)=P(x1,x2,,xn)logP(x1,x2,,xn)dx1dx2dxnH(X_1, X_2, \ldots, X_n) = - \int \cdots \int P(x_1, x_2, \ldots, x_n) \log P(x_1, x_2, \ldots, x_n) \, \mathrm dx_1 \, \mathrm dx_2 \cdots \mathrm dx_n

例如,投掷一枚公平的硬币两次,定义随机变量 XXYY 分别表示第一次和第二次投掷的结果(正面或反面)。则联合概率分布为

P(H,H)=P(H,T)=P(T,H)=P(T,T)=14P(H,H)=P(H,T)=P(T,H)=P(T,T)=\frac{1}{4}

联合熵为

H(X,Y)=x{H,T}y{H,T}P(x,y)logP(x,y)=4×14log14=2bitsH(X,Y) = - \sum_{x \in \{H,T\}} \sum_{y \in \{H,T\}} P(x,y) \log P(x,y) = - 4 \times \frac{1}{4} \log \frac{1}{4} = 2\ \text{bits}

这表示两次投掷的结果总共有 22 比特的信息量,符合直觉。

对于两个一维随机变量 X,YX,Y,定义条件熵

H(XY)=P(x,y)logP(xy)dxdyH(X|Y) = - \int \int P(x,y) \log P(x|y) \, \mathrm dx \, \mathrm dy

其中 P(xy)P(x|y)XX 在给定 YY 时的条件概率密度函数。

条件熵还可以写成

H(XY)=H(X,Y)H(Y)H(X|Y) = H(X,Y) - H(Y)

对于一维随机变量 X,YX,Y,如果 YY 完全决定 XX,则 P(xy)=1P(x|y)=1,条件熵

H(XY)=P(x,y)log1dxdy=0H(X|Y) = - \int \int P(x,y) \log 1 \, \mathrm dx \, \mathrm dy = 0

这表示在知道 YY 的情况下,XX 没有任何不确定性。如果 XXYY 独立,则条件熵

H(XY)=H(X)H(X|Y) = H(X)

这表示知道 YY 并没有减少对 XX 的不确定性。

熵具有链式法则

H(X1,X2,,Xn)=i=1nH(XiX1,X2,,Xi1)H(X_1, X_2, \ldots, X_n) = \sum_{i=1}^{n} H(X_i | X_1, X_2, \ldots, X_{i-1})

特别地,对于二元情形

H(X,Y)=H(X)+H(YX)=H(Y)+H(XY)H(X,Y) = H(X) + H(Y|X) = H(Y) + H(X|Y)

这完全是基于条件概率的乘积法则

P(x1,x2,,xn)=P(x1)P(x2x1)P(x3x1,x2)P(xnx1,x2,,xn1)P(x_1, x_2, \ldots, x_n) = P(x_1) \, P(x_2|x_1) \, P(x_3|x_1, x_2) \cdots P(x_n|x_1, x_2, \ldots, x_{n-1})

例如,如果已知

H(X)=1bit,H(YX)=0.5bitsH(X)=1\ \text{bit},\quad H(Y|X)=0.5\ \text{bits}

那么联合熵为

H(X,Y)=H(X)+H(YX)=1+0.5=1.5bitsH(X,Y) = H(X) + H(Y|X) = 1 + 0.5 = 1.5\ \text{bits}

# 互信息

对于两个随机变量 X,YX,Y,定义互信息

I(X;Y)=P(x,y)logP(x,y)P(x)P(y)dxdyI(X;Y) = \int \int P(x,y) \log \frac{P(x,y)}{P(x)P(y)} \, \mathrm dx \, \mathrm dy

其中 P(x)P(x)P(y)P(y) 分别是 XXYY 的边缘概率密度函数。

互信息还可以写成

I(X;Y)=H(X)H(XY)=H(Y)H(YX)=H(X)+H(Y)H(X,Y)=DKL(P(x,y)P(x)P(y))\begin{array}{ll}I(X;Y) &= H(X) - H(X|Y) = H(Y) - H(Y|X) \\[6pt] &= H(X) + H(Y) - H(X,Y)\\[6pt] &= D_{\mathrm{KL}}(P(x,y) \| P(x)P(y))\end{array}

其中 DKLD_{\mathrm{KL}} 是 Kullback-Leibler 散度,也被称为相对熵,用于衡量两个概率分布之间的差异。

Binary Symmetric Channel (BSC),即二进制对称信道,指的是在传输过程中每个比特有一定概率被翻转的信道。设输入随机变量 XX 和输出随机变量 YY,它们的取值均为 {0,1}\{0, 1\},则可以表述为

P(YX)=[1εεε1ε]P(Y|X)=\begin{bmatrix}1-\varepsilon & \varepsilon \\ \varepsilon & 1-\varepsilon\end{bmatrix}

其中 ε\varepsilon 是比特翻转的概率。换言之,上述矩阵说明了输入和输出的条件概率关系:

{P(Y=0X=0)=P(Y=1X=1)=1εP(Y=1X=0)=P(Y=0X=1)=ε\begin{cases} P(Y=0|X=0) =P(Y=1|X=1) = 1-\varepsilon \\[6pt] P(Y=1|X=0) =P(Y=0|X=1) = \varepsilon \end{cases}

假设输入 XX 是均匀分布的,即 P(X=0)=P(X=1)=0.5P(X=0) = P(X=1) = 0.5,则输出 YY 的边缘概率为

P(Y=0)=P(Y=0X=0)P(X=0)+P(Y=0X=1)P(X=1)=(1ε)0.5+ε0.5=0.5\begin{array}{ll} P(Y=0) &= P(Y=0|X=0)P(X=0) + P(Y=0|X=1)P(X=1) \\[6pt] &= (1-\varepsilon) \cdot 0.5 + \varepsilon \cdot 0.5 = 0.5 \end{array}

同理,P(Y=1)=0.5P(Y=1) = 0.5。因此,输出 YY 也是均匀分布的。现在我们可以计算互信息 I(X;Y)I(X;Y)

I(X;Y)=H(X)H(XY)=1H(XY)=1+(1ε)log(1ε)+εlogεI(X;Y)=H(X)-H(X|Y)=1 - H(X|Y)=1+(1-\varepsilon) \log (1-\varepsilon) + \varepsilon \log \varepsilon

这表示在 BSC 信道中,输入和输出之间的互信息取决于比特翻转概率 ε\varepsilon。当 ε=0\varepsilon=0 时,互信息达到最大值 11 比特,表示没有信息损失;当 ε=0.5\varepsilon=0.5 时,互信息为 00,表示输出完全不包含输入的信息,即输出是完全随机的,没有任何可用的信息。

# Kullback-Leibler 散度

对于两个概率分布 PPQQ,定义 Kullback-Leibler 散度相对熵

DKL(PQ)=P(x)logP(x)Q(x)dxD_{\mathrm{KL}}(P \| Q) = \int P(x) \log \frac{P(x)}{Q(x)} \, \mathrm dx

KL 散度衡量了两个概率分布之间的差异。它不是对称的,即通常

DKL(PQ)DKL(QP)D_{\mathrm{KL}}(P \| Q) \neq D_{\mathrm{KL}}(Q \| P)

例如,设 PPQQ 是两个一维正态分布,分别为

PN(μ1,σ12);QN(μ2,σ22)P \sim \mathcal{N}(\mu_1, \sigma_1^2);\quad Q \sim \mathcal{N}(\mu_2, \sigma_2^2)

回忆一下正态分布的概率密度函数

p(x)=12πσ2exp((xμ)22σ2)p(x) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

则 KL 散度为

DKL(PQ)=logσ2σ1+σ12σ22+(μ1μ2)22σ22logeD_{\mathrm{KL}}(P \| Q) = \log \frac{\sigma_2}{\sigma_1} + \frac{\sigma_1^2-\sigma_2^2 + (\mu_1 - \mu_2)^2}{2\sigma_2^2}\log e

这表示两个正态分布之间的差异取决于它们的均值和方差的差异。而且通常

DKL(QP)DKL(PQ)D_{\mathrm{KL}}(Q \| P) \neq D_{\mathrm{KL}}(P \| Q)

KL 散度总是非负的,称为 Gibbs 不等式

DKL(PQ)0D_{\mathrm{KL}}(P \| Q) \geq 0

当且仅当 P=QP = Q 几乎处处时,等号成立。

只需要注意到对数函数是凹函数,然后应用 Jensen 不等式即可证明

DKL(PQ)=P(x)logQ(x)P(x)dxlogP(x)Q(x)P(x)dx=log1=0-D_{\mathrm{KL}}(P \| Q) = \int P(x) \log \frac{Q(x)}{P(x)} \, \mathrm dx \leq \log \int P(x) \frac{Q(x)}{P(x)} \, \mathrm dx = \log 1 = 0

还有一种方法是用对数不等式

logxx1,x>0\log x \leq x - 1,\quad \forall x > 0

从而

logQ(x)P(x)Q(x)P(x)1\log \dfrac {Q(x)}{P(x)} \leq \dfrac {Q(x)}{P(x)} - 1

两边乘以 P(x)P(x) 并积分,得到

P(x)logQ(x)P(x)dx(Q(x)P(x))dx=0\int P(x) \log \dfrac {Q(x)}{P(x)} \, \mathrm dx \leq \int (Q(x) - P(x)) \, \mathrm dx = 0

DKL(PQ)=0D_{\mathrm{KL}}(P \| Q) = 0 的充分必要条件是 P=QP = Q 几乎处处。

充分性是显然的。必要性需要分情况讨论:由于 P,QP,Q 是概率分布,所以是可测函数,定义如下可测集合构成全集的划分:

A={xP(x)>Q(x)},B={xP(x)<Q(x)},C={xP(x)=Q(x)}A = \{x | P(x) > Q(x)\},\quad B = \{x | P(x) < Q(x)\},\quad C = \{x | P(x) = Q(x)\}

所以

DKL(PQ)=AP(x)logP(x)Q(x)dx+BP(x)logP(x)Q(x)dx+CP(x)logP(x)Q(x)dx=AP(x)logP(x)Q(x)dx+BP(x)logP(x)Q(x)dx0+0=0\begin{array}{ll}D_{\mathrm{KL}}(P \| Q) &=\displaystyle \int_A P(x) \log \frac{P(x)}{Q(x)} \, \mathrm dx + \int_B P(x) \log \frac{P(x)}{Q(x)} \, \mathrm dx + \int_C P(x) \log \frac{P(x)}{Q(x)} \, \mathrm dx \\ \\ &=\displaystyle \int_A P(x) \log \frac{P(x)}{Q(x)} \, \mathrm dx + \int_B P(x) \log \frac{P(x)}{Q(x)} \, \mathrm dx\\ \\ &\geq 0+ 0 = 0\end{array}

第一项的放缩基于恒为正,第二项的放缩基于 Gibbs 不等式。因此,若 DKL(PQ)=0D_{\mathrm{KL}}(P \| Q) = 0,则必须有 μ(A)=μ(B)=0\mu(A)=\mu(B)=0,即 P(x)=Q(x)P(x) = Q(x) 几乎处处成立。

另外一方面,如果用对数不等式证明,则考虑其取等条件,必须有

Q(x)P(x)=1,a.e.\frac{Q(x)}{P(x)} = 1,\quad \text{a.e.}

例如,设 (x,y)(x,y) 对应一个离散分布 P(x,y)P(x,y)

P(0,1)=P(1,0)=P(1,1)=P(0,0)=0.25P(0,1)=P(1,0)=P(1,1)=P(0,0)=0.25

也可以对应另一个离散分布 Q(x,y)Q(x,y)

Q(0,0)=0.5,Q(0,1)=Q(1,0)=0.2,Q(1,1)=0.1Q(0,0)=0.5,\quad Q(0,1)=Q(1,0)=0.2,\quad Q(1,1)=0.1

则 KL 散度为

DKL(PQ)=x,yP(x,y)logP(x,y)Q(x,y)=0.25log0.250.2+0.25log0.250.2+0.25log0.250.1+0.25log0.250.50.2414bits\begin{array}{ll}D_{\mathrm{KL}}(P \| Q) &=\displaystyle \sum_{x,y} P(x,y) \log \frac{P(x,y)}{Q(x,y)} \\ \\ &\displaystyle= 0.25 \log \frac{0.25}{0.2} + 0.25 \log \frac{0.25}{0.2} + 0.25 \log \frac{0.25}{0.1} + 0.25 \log \frac{0.25}{0.5} \\ \\ &\approx 0.2414\ \text{bits}\end{array}

# 最大熵分布

最大熵分布定理指出,在所有固定 μ,σ2\mu,\sigma^2 的概率分布 p(x)p(x) 中,Gaussian 分布 N(μ,σ2)\mathcal{N}(\mu, \sigma^2) 具有最大的熵,具体地

H(p)=p(x)logp(x)dx12log(2πeσ2)=H(N(μ,σ2))H(p)=- \int p(x) \log p(x) \, \mathrm dx \leq \frac{1}{2} \log (2\pi e \sigma^2)=H(\mathcal{N}(\mu, \sigma^2))

等号当且仅当 p(x)=N(μ,σ2)p(x) = \mathcal{N}(\mu, \sigma^2) 几乎处处时成立。

这个定理表明,在给定均值和方差的条件下,Gaussian 分布是最不确定的分布。

证明需要用到 KL 散度的非负性。设 p(x)p(x) 是任意满足均值和方差约束的概率分布,q(x)=N(μ,σ2)q(x) = \mathcal{N}(\mu, \sigma^2) 是对应的 Gaussian 分布,则

DKL(pq)=p(x)logp(x)q(x)dx=H(p)p(x)logq(x)dx0D_{\mathrm{KL}}(p \| q) = \int p(x) \log \frac{p(x)}{q(x)} \, \mathrm dx = -H(p) - \int p(x) \log q(x) \, \mathrm dx \geq 0

这样确定了 H(p)H(p) 的上界,接着计算

p(x)logq(x)dx=p(x)log(12πσ2exp((xμ)22σ2))dx=p(x)(12log(2πσ2)(xμ)22σ2)dx=12log(2πσ2)12σ2p(x)(xμ)2dx=12log(2πσ2)12σ2σ2=12log(2πσ2)12\begin{array}{ll} \displaystyle\int p(x) \log q(x) \, \mathrm dx &=\displaystyle \int p(x) \log \left( \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) \right) \, \mathrm dx \\ \\ &=\displaystyle \int p(x) \left( -\frac{1}{2} \log (2\pi \sigma^2) - \frac{(x-\mu)^2}{2\sigma^2} \right) \, \mathrm dx \\ \\ &=\displaystyle -\frac{1}{2} \log (2\pi \sigma^2) - \frac{1}{2\sigma^2} \int p(x) (x-\mu)^2 \, \mathrm dx \\ \\ &=\displaystyle -\frac{1}{2} \log (2\pi \sigma^2) - \frac{1}{2\sigma^2} \sigma^2 \\ \\ &=\displaystyle -\frac{1}{2} \log (2\pi \sigma^2) - \frac{1}{2}\end{array}

而最终的式子正是 H(N(μ,σ2))-H(\mathcal{N}(\mu, \sigma^2)),从而得证。

# 概率模型

# Gaussian 分布

Gaussian 分布,即正态分布 N(μ,σ2)\mathcal{N}(\mu, \sigma^2) 定义为如下概率密度函数

p(xμ,σ)=12πσ2exp((xμ)22σ2)p(x|\mu,\sigma) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

其中 μ\mu 是均值,σ2\sigma^2 是方差,它们分别作为位置参数和尺度参数。

概率分布写成 “条件概率” 的形式,条件是参数,意思是在给定参数的情况下,变量 xx 的概率分布,强调了参数对分布的影响。

多元 Gaussian 分布,即多元正态分布 N(μ,Σ)\mathcal{N}(\pmb \mu, \Sigma) 定义为如下概率密度函数

p(xμ,Σ)=1(2π)n/2Σ1/2exp(12(xμ)TΣ1(xμ))p(\pmb x|\pmb \mu, \Sigma) = \frac{1}{(2\pi)^{n/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2} (\pmb x - \pmb \mu)^T \Sigma^{-1} (\pmb x - \pmb \mu)\right)

其中 μ\pmb \mu 是均值向量,Σ\Sigma 是协方差矩阵,要求是正定对称阵

Σ=E[(Xμ)(Xμ)T]=[Var(X1)Cov(X1,X2)Cov(X1,Xn)Cov(X2,X1)Var(X2)Cov(X2,Xn)Cov(Xn,X1)Cov(Xn,X2)Var(Xn)]\Sigma = \mathbb E[(\pmb X - \pmb \mu)(\pmb X - \pmb \mu)^T]= \begin{bmatrix} \text{Var}(X_1) & \text{Cov}(X_1, X_2) & \cdots & \text{Cov}(X_1, X_n) \\[6pt] \text{Cov}(X_2, X_1) & \text{Var}(X_2) & \cdots & \text{Cov}(X_2, X_n) \\[6pt] \vdots & \vdots & \ddots & \vdots \\[6pt] \text{Cov}(X_n, X_1) & \text{Cov}(X_n, X_2) & \cdots & \text{Var}(X_n) \end{bmatrix}

要获取任意变量子集的边缘分布,只需从均值向量和协方差矩阵中提取相应的子向量和子矩阵即可。边缘分布会通过积分忽略掉其他变量的影响,而协方差矩阵的子矩阵则反映了所选变量之间的关系。

我们可以将多元 Gaussian 分布拆成两个部分来理解。对于 pp 维随机变量 X\pmb Xqq 维随机变量 Y\pmb Y,可以定义新的联合随机变量 Z=[XT,YT]T\pmb Z = [\pmb X^T, \pmb Y^T]^T,其均值向量和协方差矩阵分别为

μZ=[μXμY],ΣZ=[ΣXXΣXYΣYXΣYY]\pmb \mu_Z = \begin{bmatrix} \pmb \mu_X \\ \pmb \mu_Y \end{bmatrix},\quad \Sigma_Z = \begin{bmatrix} \Sigma_{XX} & \Sigma_{XY} \\ \Sigma_{YX} & \Sigma_{YY} \end{bmatrix}

其中 ΣXX\Sigma_{XX}ΣYY\Sigma_{YY} 分别是 X\pmb XY\pmb Y 的协方差矩阵,ΣXY\Sigma_{XY}X\pmb XY\pmb Y 之间的协方差矩阵。

多元 Gaussian 分布的边缘分布和条件分布仍然是 Gaussian 分布。具体地,如果

[XY]N([μXμY],[ΣXXΣXYΣYXΣYY])\begin{bmatrix} \pmb X \\ \pmb Y \end{bmatrix} \sim \mathcal{N}\left( \begin{bmatrix} \pmb \mu_X \\ \pmb \mu_Y \end{bmatrix}, \begin{bmatrix} \Sigma_{XX} & \Sigma_{XY} \\ \Sigma_{YX} & \Sigma_{YY} \end{bmatrix} \right)

则边缘分布

XN(μX,ΣXX),YN(μY,ΣYY)\pmb X \sim \mathcal{N}(\pmb \mu_X, \Sigma_{XX}),\quad \pmb Y \sim \mathcal{N}(\pmb \mu_Y, \Sigma_{YY})

直接计算即可证明,先写出联合分布的概率密度函数

p(x,y)=1(2π)(p+q)/2ΣZ1/2exp(12[xμXyμY]TΣZ1[xμXyμY])p(\pmb x, \pmb y) = \dfrac{1}{(2\pi)^{(p+q)/2} |\Sigma_Z|^{1/2}} \exp\left(-\frac{1}{2} \begin{bmatrix} \pmb x - \pmb \mu_X \\ \pmb y - \pmb \mu_Y \end{bmatrix}^T \Sigma_Z^{-1} \begin{bmatrix} \pmb x - \pmb \mu_X \\ \pmb y - \pmb \mu_Y \end{bmatrix}\right)

然后对 y\pmb y 积分,得到边缘分布 p(x)p(\pmb x)

p(x)=p(x,y)dy=1(2π)p/2ΣXX1/2exp(12(xμX)TΣXX1(xμX))p(\pmb x) = \int p(\pmb x, \pmb y) \, \mathrm d\pmb y= \frac{1}{(2\pi)^{p/2} |\Sigma_{XX}|^{1/2}} \exp\left(-\frac{1}{2} (\pmb x - \pmb \mu_X)^T \Sigma_{XX}^{-1} (\pmb x - \pmb \mu_X)\right)

其中,根据正定性可以计算行列式

ΣZ=ΣXXΣYYΣYXΣXX1ΣXY=ΣXXΣYX|\Sigma_Z| = |\Sigma_{XX}| \cdot |\Sigma_{YY}-\Sigma_{YX} \Sigma_{XX}^{-1} \Sigma_{XY}|= |\Sigma_{XX}| \cdot |\Sigma_{Y|X}|

其中 ΣYX\Sigma_{Y|X} 称为 Schur 补,此外

ΣZ1=[ΣXX1+ΣXX1ΣXYΣYX1ΣYXΣXX1ΣXX1ΣXYΣYX1ΣYX1ΣYXΣXX1ΣYX1]\Sigma_Z^{-1} = \begin{bmatrix} \Sigma_{XX}^{-1} + \Sigma_{XX}^{-1} \Sigma_{XY} \Sigma_{Y|X}^{-1} \Sigma_{YX} \Sigma_{XX}^{-1} & -\Sigma_{XX}^{-1} \Sigma_{XY} \Sigma_{Y|X}^{-1} \\ \\ -\Sigma_{Y|X}^{-1} \Sigma_{YX} \Sigma_{XX}^{-1} & \Sigma_{Y|X}^{-1} \end{bmatrix}

在联合分布的指数部分代入上述结果,不妨设 ΣZ1\Sigma_Z^{-1} 的分块为 MijM_{ij}xμX=a\pmb x-\pmb \mu_X = \pmb ayμY=b\pmb y - \pmb \mu_Y = \pmb b,则指数部分主要可以写为

aTM11a+2aTM12b+bTM22b\pmb a^T M_{11} \pmb a + 2 \pmb a^T M_{12} \pmb b + \pmb b^T M_{22} \pmb b

由于要对 y\pmb y 积分,所以只需要关注含有 b\pmb b 的部分,可以补全平方

bTM22b+2aTM12b=(b+M221M21a)TM22(b+M221M21a)aTM12M221M21a\pmb b^T M_{22} \pmb b + 2 \pmb a^T M_{12} \pmb b = (\pmb b + M_{22}^{-1} M_{21} \pmb a)^T M_{22} (\pmb b + M_{22}^{-1} M_{21} \pmb a) - \pmb a^T M_{12} M_{22}^{-1} M_{21} \pmb a

我们把上式的最后一项和 aTM11a\pmb a^T M_{11} \pmb a 合并,得到

aT(M11M12M221M21)a=aTΣXX1a\pmb a^T (M_{11} - M_{12} M_{22}^{-1} M_{21}) \pmb a = \pmb a^T \Sigma_{XX}^{-1} \pmb a

因此,积分变为

p(x)=exp(12[(b+M221M21a)TM22(b+M221M21a)+aTΣXX1a])(2π)(p+q)/2ΣZ1/2db=exp(12aTΣXX1a)(2π)p/2ΣXX1/2exp(12(b+M221M21a)TM22(b+M221M21a))(2π)q/2ΣYX1/2db=1(2π)p/2ΣXX1/2exp(12(xμX)TΣXX1(xμX))\begin{array}{ll} p(\pmb x) &= \displaystyle \int \frac{\exp\left(-\frac{1}{2} \left[ (\pmb b + M_{22}^{-1} M_{21} \pmb a)^T M_{22} (\pmb b + M_{22}^{-1} M_{21} \pmb a) + \pmb a^T \Sigma_{XX}^{-1} \pmb a \right] \right) \,}{(2\pi)^{(p+q)/2} |\Sigma_Z|^{1/2}} \mathrm d\pmb b \\ \\ &=\displaystyle\dfrac {\exp\left(-\frac{1}{2} \pmb a^T \Sigma_{XX}^{-1} \pmb a \right)}{(2\pi)^{p/2} |\Sigma_{XX}|^{1/2}} \cdot \int \dfrac{\exp\left(-\frac{1}{2} (\pmb b + M_{22}^{-1} M_{21} \pmb a)^T M_{22} (\pmb b + M_{22}^{-1} M_{21} \pmb a) \right)}{(2\pi)^{q/2} |\Sigma_{Y|X}|^{1/2}} \, \mathrm d\pmb b \\ \\ &=\displaystyle\dfrac 1{(2\pi)^{p/2} |\Sigma_{XX}|^{1/2}} \exp\left(-\frac{1}{2} (\pmb x - \pmb \mu_X)^T \Sigma_{XX}^{-1} (\pmb x - \pmb \mu_X)\right)\end{array}

中间积分的一步,因为 b=yμY\pmb b=\pmb y - \pmb {\mu}_Y,所以

u=b+M221M21a=y(μYΣYXΣXX1(xμX))\pmb u=\pmb b + M_{22}^{-1} M_{21} \pmb a= \pmb y - \left( \pmb \mu_Y - \Sigma_{YX} \Sigma_{XX}^{-1} (\pmb x - \pmb \mu_X) \right)

因此对 b\pmb b 的积分等价于对 y\pmb y 积分(差一个常数向量 μY\pmb {\mu}_Y),等价于对 u\pmb u 积分,因为 Jacobian 为 II(注意 Σ\Sigma 协方差阵是一个常数矩阵)。

多元 Gaussian 分布的条件分布仍然是 Gaussian 分布。具体地,如果

[XY]N([μXμY],[ΣXXΣXYΣYXΣYY])\begin{bmatrix} \pmb X \\ \pmb Y \end{bmatrix} \sim \mathcal{N}\left( \begin{bmatrix} \pmb \mu_X \\ \pmb \mu_Y \end{bmatrix}, \begin{bmatrix} \Sigma_{XX} & \Sigma_{XY} \\ \Sigma_{YX} & \Sigma_{YY} \end{bmatrix} \right)

则条件分布

XYN(μXY,ΣXY)\pmb X | \pmb Y \sim \mathcal{N}(\pmb \mu_{X|Y}, \Sigma_{X|Y})

其中

μXY=μX+ΣXYΣYY1(YμY),ΣXY=ΣXXΣXYΣYY1ΣYX\pmb \mu_{X|Y} = \pmb \mu_X + \Sigma_{XY} \Sigma_{YY}^{-1} (\pmb Y - \pmb \mu_Y),\quad \Sigma_{X|Y} = \Sigma_{XX} - \Sigma_{XY} \Sigma_{YY}^{-1} \Sigma_{YX}

条件分布的均值向量 μXY\pmb \mu_{X|Y} 反映了 Y\pmb YX\pmb X 的线性影响,而条件协方差矩阵 ΣXY\Sigma_{X|Y} 则不依赖于具体的 Y\pmb Y 值,只与 X\pmb XY\pmb Y 之间的协方差结构有关。

根据定义

p(xy)=p(x,y)p(y)=1(2π)(p+q)/2ΣZ1/2exp(12[xμXyμY]TΣZ1[xμXyμY])1(2π)q/2ΣYY1/2exp(12(yμY)TΣYY1(yμY))p(\pmb x | \pmb y) = \frac{p(\pmb x, \pmb y)}{p(\pmb y)}= \dfrac {\displaystyle \frac{1}{(2\pi)^{(p+q)/2} |\Sigma_Z|^{1/2}} \exp\left(-\frac{1}{2} \begin{bmatrix} \pmb x - \pmb \mu_X \\ \pmb y - \pmb \mu_Y \end{bmatrix}^ T \Sigma_Z^{-1} \begin{bmatrix} \pmb x - \pmb \mu_X \\ \pmb y - \pmb \mu_Y \end{bmatrix}\right)}{\displaystyle \frac{1}{(2\pi)^{q/2} |\Sigma_{YY}|^{1/2}} \exp\left(-\frac{1}{2} (\pmb y - \pmb \mu_Y)^T \Sigma_{YY}^{-1} (\pmb y - \pmb \mu_Y)\right)}

即可得到。

此外,特别地,如果 ΣXY=0\Sigma_{XY} = 0,即 X\pmb XY\pmb Y 独立,则条件分布简化为

XYN(μX,ΣXX)\pmb X | \pmb Y \sim \mathcal{N}(\pmb \mu_X, \Sigma_{XX})

这表明在独立的情况下,Y\pmb YX\pmb X 没有任何影响,条件分布与边缘分布相同。

多元 Gaussian 分布在线性变换下仍然是 Gaussian 分布。具体地,如果 XN(μ,Σ)\pmb X \sim \mathcal{N}(\pmb \mu, \Sigma),且 AA 是一个常数矩阵,b\pmb b 是一个常数向量,则线性变换

Y=AX+bN(Aμ+b,AΣAT)\pmb Y = A \pmb X + \pmb b\sim \mathcal{N}(A \pmb \mu + \pmb b, A \Sigma A^ T)

# 其他分布

Bernoulli 分布定义为如下概率质量函数

Bern(xp)=px(1p)1x,x{0,1}\mathrm{Bern}(x|p) = p^x (1-p)^{1-x},\quad x \in \{0, 1\}

其中 pp 是成功的概率,1p1-p 是失败的概率。

Bernoulli 分布的数学期望和方差分别为

E[X]=p,Var(X)=p(1p)\mathbb E[X] = p,\quad \text{Var}(X) = p(1-p)

Categorical 分布,即多项分布(是对二项分布的推广)定义为如下概率质量函数

Cat(xp1,p2,,pk)=i=1kpiδi(x),x{1,2,,k},pi0,i=1kpi=1\mathrm{Cat}(x|p_1, p_2, \ldots, p_k) = \prod_{i=1}^{k} p_i^{\delta_i(x)},\quad x \in \{1, 2, \ldots, k\},\ p_i \geq 0,\ \sum_{i=1}^{k} p_i = 1

独热编码是将分类变量转换为二进制向量的表示方法。在这种表示中,每个类别对应一个唯一的位置,且该位置上的值为 11,其他位置上的值为 00。例如,假设有三个类别:红色、绿色和蓝色,可以将它们表示为以下独热编码向量:

  • 红色:[1,0,0][1, 0, 0]
  • 绿色:[0,1,0][0, 1, 0]
  • 蓝色:[0,0,1][0, 0, 1]

同理对于 kk 个类别,可以使用长度为 kk 的向量来表示每个类别。

# 独立同分布

除了 Gaussian 分布之外,还有许多其他高维分布,我们引入以下模型。

随机变量 X1,,XnX_1,\ldots,X_n 之间相互独立,并且每个变量都服从相同的分布 w(x)w(x),并且相互独立,则称它们服从独立同分布,记参数为 ww,有 (X1,X2,,Xn)i.i.d.w(X_1, X_2, \ldots, X_n) \sim \mathrm{i.i.d.}\ w,其联合概率密度函数为

p(x1,x2,,xnw)=i=1nw(xi)p(x_1, x_2, \ldots, x_n | w) = \prod_{i=1}^{n} w(x_i)

这也是机器学习的基本假设之一,简化了模型的复杂性。

注意相互独立和两两独立的区别。前者要求任意子集的联合分布都可以分解为各自的边缘分布的乘积,而后者只要求任意两个变量的联合分布可以分解为各自的边缘分布的乘积。前者蕴含后者,并且表示为

P(Xi1,Xi2,,Xik)=P(Xi1)P(Xi2)P(Xik),{i1,i2,,ik}{1,2,,n}P(X_{i_1}, X_{i_2}, \ldots, X_{i_k}) = P(X_{i_1}) \cdot P(X_{i_2}) \cdots P(X_{i_k}),\quad \forall \{i_1, i_2, \ldots, i_k\} \subseteq \{1, 2, \ldots, n\}

独立同分布的随机变量,它们的数学期望、方差和分布函数相同,并且任一个变量的取值不会影响其他变量的取值。后者可以用条件概率来表述

P(XiXj)=P(Xi),ijP(X_i | X_j) = P(X_i),\quad \forall i \neq j

或者

P(Xia,Xjb)=P(Xia)P(Xjb),ij,a,bP(X_i\leq a, X_j \leq b) = P(X_i \leq a) \cdot P(X_j \leq b),\quad \forall i \neq j,\ \forall a,b

例如,X1,,X10X_1,\ldots,X_{10} 代表掷 10 次公平骰子的结果,则它们同分布,而且

P(Xi=m,Xj=n)=P(Xi=m)P(Xj=n)=136,ij,m,n{1,2,3,4,5,6}P(X_i = m, X_j = n) = P(X_i = m) \cdot P(X_j = n) = \dfrac 1{36},\quad \forall i \neq j,\ m,n \in \{1,2,3,4,5,6\}

这说明每次掷骰子的结果不会影响其他次的结果,是独立的。

独立同分布满足大数定律中心极限定理

# Markov 链

# 图模型

我们之前介绍的概率模型大多是基于独立同分布假设的,然而,许多现实世界的应用违背了这种独立性假设,比如

  • 自然语言
  • 音频信号
  • 其他序列化或结构化数据

在这些情况下,观测值之间存在依赖关系,使得独立同分布假设不再适用。

基于独立同分布假设的机器学习,都是监督学习的情况。在现实中,我们经常会遇到无标签数据的情况,即只有特征向量 XX。在这种情况下,对数据的处理目标通常是

  • 发现内在结构,即聚类问题
  • 学习潜在的数据分布,即生成式建模

使用通用概率模型对此类复杂、具有依赖关系的数据进行建模通常是难以处理的。有一种强大的替代方案,是使用图模型来表示变量之间的依赖关系。这针对 Bayesian 方法尤为重要。

图模型使用图结构来表示随机变量及其条件依赖关系。图中的节点表示随机变量,边表示变量之间的依赖关系。概率有向图模型(也称为 Bayes 网络)使用有向边来表示条件依赖关系,在图中,节点表示随机变量,有向边表示变量之间的条件依赖关系。每个节点都有一个条件概率分布,表示在给定其父节点的情况下该节点的概率分布,被指向的节点是子节点。所有有向边的起点全体称为祖先节点,终点全体称为后代节点

ABDCE

Bayes 网络是一种有向无环图(DAG),表示变量之间的条件依赖关系,其联合概率分布可以写成

P(X1,X2,,Xn)=i=1nP(XiParents(Xi))P(X_1, X_2, \ldots, X_n) = \prod_{i=1}^{n} P(X_i | \text{Parents}(X_i))

其中 Parents(Xi)\text{Parents}(X_i) 表示节点 XiX_i 的所有父节点。

Bayes 网络常用于不确定性下的推理。

Markov 链是一种特殊的图模型。首先,Markov 性质定义为

P(Xn+1Xn,Xn1,,X1)=P(Xn+1Xn)P(X_{n+1} | X_n, X_{n-1}, \ldots, X_1) = P(X_{n+1} | X_n)

这意味着给定当前状态 XnX_n,未来状态 Xn+1X_{n+1} 的概率分布只依赖于当前状态,而与过去的状态无关。基于 Markov 性质,可以构建对应的 Bayes 网络,节点表示系统在不同时间点的状态,边表示状态之间的转移关系。图直接编码了状态转移的条件依赖关系,是直观的表示方法

X1X2¢¢¢Xn


Markov 链的联合概率分布可以写成

P(X1,X2,,Xn)=P(X1)i=2nP(XiXi1)P(X_1, X_2, \ldots, X_n) = P(X_1) \prod_{i=2}^{n} P(X_i | X_{i-1})

隐 Markov 模型是 Markov 链的扩展,假设观测数据是由隐藏的状态序列生成的。HMM 包含两个主要部分:

Z1Z2¢¢¢ZnA1A2¢¢¢An

其中,第一层 {Zi}\{Z_i\} 是隐藏的状态序列,构成 Markov 链,第二层 {Ai}\{A_i\} 是观测数据序列,每个观测值 AiA_i 仅依赖于对应的隐藏状态 ZiZ_i,对应的条件概率为 P(AiZi)P(A_i | Z_i),称为发射概率。HMM 的联合概率分布可以写成

P(Z1,Z2,,Zn,A1,A2,,An)=P(Z1)i=2nP(ZiZi1)i=1nP(AiZi)P(Z_1, Z_2, \ldots, Z_n, A_1, A_2, \ldots, A_n) = P(Z_1) \prod_{i=2}^{n} P(Z_i | Z_{i-1}) \prod_{i=1}^{n} P(A_i | Z_i)

HMM 广泛应用于语音识别、自然语言处理和生物信息学等领域。

图可以编码独立性,概率图模型可以不用计算就能判断变量之间的独立性关系。在 Bayes 网络中,判断独立性可以使用 d - 分离准则。具体地,有三类基本结构
!-- tikzjax-placeholder-7597f082b2ad005b845a222e11392bca --

这些结构分别称为分支(叉)汇聚(碰)。称一条路径在给定变量集 ZZ 条件下被阻断不活跃,当且仅当

  • 链或分支结构中间节点在 ZZ 中。
  • 汇聚结构中间节点不在 ZZ 中,且其所有后代节点也不在 ZZ 中。

d - 分离准则指出,如果所有从变量 XX 到变量 YY 的路径在给定变量集 ZZ 条件下都被阻断,则称 XXYY 在给定 ZZ 条件下是条件独立的,记为 (XYZ)(X \perp Y | Z)。具体可以如下操作

  • 找到所有从 XXYY 的无向路径。
  • 检查每条路径是否被 ZZ 阻断。
  • 如果所有路径都被阻断,则 XXYY 条件独立。

对于简单链

ABCA\rightarrow B \rightarrow C

(AC)(A\perp C) 不成立,因为存在未阻断路径 ABCA \rightarrow B \rightarrow C,事实上

P(a,c)=bP(a,b,c)=bP(a)P(ba)P(cb)P(a,c)=\sum_b P(a,b,c)=\sum_b P(a) P(b|a) P(c|b)

一般而言,不能分解为 P(a)P(c)P(a) P(c)。但是 (ACB)(A \perp C | B) 成立,因为路径被中间节点 BB 阻断。具体可以通过计算验证联合概率

P(a,cb)=P(a,b,c)P(b)=P(a)P(ba)P(cb)P(b)=P(ab)P(cb)P(a,c|b)=\dfrac {P(a,b,c)}{P(b)}=\dfrac {P(a) P(b|a) P(c|b)}{P(b)}=P(a|b) P(c|b)

对于分支结构

ABCA\leftarrow B \rightarrow C

(AC)(A\perp C) 不成立,因为 BB 作为共同的祖先节点,连接了 AACC。但是 (ACB)(A \perp C | B) 成立,因为路径被中间节点 BB 阻断。具体可以通过计算验证联合概率

P(a,cb)=P(a,b,c)P(b)=P(b)P(ab)P(cb)P(b)=P(ab)P(cb)P(a,c|b)=\dfrac {P(a,b,c)}{P(b)}=\dfrac {P(b) P(a|b) P(c|b)}{P(b)}=P(a|b) P(c|b)

# Bayes 理论

机器学习模型通常基于参数化的概率分布模型,其核心目标是通过观测数据来估计模型参数。一种系统性的方法是使用 Bayes 定理,将参数视为随机变量,这引出了 Bayesian 方法。

Bayes 定理在参数估计中的表述为

P(wx)=P(xw)P(w)P(x)P(\pmb w|\pmb x)=\dfrac {P(\pmb x|\pmb w) P(\pmb w)}{P(\pmb x)}

其中 w\pmb w模型参数x\pmb x观测数据P(w)P(\pmb w)参数的先验分布,表示在观测数据之前对参数的信念。P(xw)P(\pmb x|\pmb w)似然函数,表示给定参数时观测数据的概率。P(wx)P(\pmb w|\pmb x)参数的后验分布,我们计算后以此来更新对参数的信念。P(x)P(\pmb x) 是观测数据的边缘似然证据,这是基于基本假设,x\pmb x 的分布与参数无关,在自然下服从一个固定的分布。

在 Bayesian 估计中,我们希望得到在给定数据 D\mathcal D 的情况下,参数 w\pmb w 的后验分布

P(wD)=P(Dw)P(w)P(D)P(\pmb w|\mathcal D) = \dfrac {P(\mathcal D|\pmb w) P(\pmb w)}{P(\mathcal D)}

困难点在于,边缘似然

P(D)=P(Dw)P(w)dwP(\mathcal D) = \int P(\mathcal D|\pmb w) P(\pmb w) \, \mathrm d\pmb w

通常是难以直接计算的,我们无法得到后验分布的闭式解。因此,实际应用中常用近似方法,比如

  • 最大后验估计:基于优化的快速方法。
  • 变分推断:快速但有偏。
  • MCMC 采样:准确但较慢。

# 最大后验估计

最大后验估计将参数估计问题转化为优化问题,目标是找到使后验概率最大的参数值作为更新后的参数估计值,具体地

wMAP=argmaxwP(wD)=argmaxwP(Dw)P(w){\pmb w}_{\mathrm{MAP}} = \arg \max_{\pmb w} P(\pmb w|\mathcal D) = \arg \max_{\pmb w} P(\mathcal D|\pmb w) P(\pmb w)

最大似然估计是最大后验估计的特例,当先验分布 P(w)P(\pmb w) 是均匀分布时,最大后验估计简化为最大似然估计

wMLE=argmaxwP(Dw){\pmb w}_{\mathrm{MLE}} = \arg \max_{\pmb w} P(\mathcal D|\pmb w)

Laplace 估计的核心思想是,希望在参数空间中用 Gauss 分布 q(w)q(\pmb w) 来近似后验分布 P(wx)P(\pmb w|\pmb x),得到的近似分布

q(w)=N(wwMAP,H1)q(\pmb w) = \mathcal{N}(\pmb w | \pmb w_{\mathrm{MAP}}, H^{-1})

其均值被选取为最大后验估计值 wMAP\pmb w_{\mathrm{MAP}}

具体近似步骤如下。第一步是近似后验分布,根据定义可以写出

wMAP=argmaxwP(Dw)P(w)=argminw[logP(Dw)logP(w)]\pmb w_{\mathrm{MAP}} = \arg \max_{\pmb w} P(\mathcal D|\pmb w) P(\pmb w)=\arg\min_{\pmb w} [-\log P(\mathcal D|\pmb w) - \log P(\pmb w)]

最后一项的内部记为 E(w)E(\pmb w),我们可以通过展开 Taylor 级数来近似它

E(w)E(wMAP)+12(wwMAP)TH(wwMAP)E(\pmb w) \approx E(\pmb w_{\mathrm{MAP}}) + \frac{1}{2} (\pmb w - \pmb w_{\mathrm{MAP}})^T H (\pmb w - \pmb w_{\mathrm{MAP}})

其中 HHE(w)E(\pmb w)wMAP\pmb w_{\mathrm{MAP}} 处的 Hessian 矩阵

H=w2E(w)w=wMAPH = \nabla_{\pmb w}^2 E(\pmb w) \big|_{\pmb w = \pmb w_{\mathrm{MAP}}}

展开中的线性项为零,因为 wMAP\pmb w_{\mathrm{MAP}} 是极值点。第二步,将近似代入后验分布

P(wD)exp(E(w))exp(12(wwMAP)TH(wwMAP))P(\pmb w|\mathcal D) \propto \exp(-E(\pmb w)) \propto \exp\left(-\frac{1}{2} (\pmb w - \pmb w_{\mathrm{MAP}})^T H (\pmb w - \pmb w_{\mathrm{MAP}})\right)

这正是一个 Gauss 分布的形式,均值为 wMAP\pmb w_{\mathrm{MAP}},协方差矩阵为 H1H^{-1},所以得到近似的后验分布

q(w):=N(wwMAP,H1)q(\pmb w) := \mathcal{N}(\pmb w | \pmb w_{\mathrm{MAP}}, H^{-1})

那么我们自然相信,这个近似在 w\pmb w 靠近 wMAP\pmb w_{\mathrm{MAP}} 时是准确的,所以

P(wD)N(wwMAP,H1),H=w2[logP(Dw)logP(w)]w=wMAPP(\pmb w|\mathcal D) \approx \mathcal N(\pmb w | \pmb w_{\mathrm{MAP}}, H^{-1}),\quad H=\nabla_{\pmb w}^2 [-\log P(\mathcal D|\pmb w) - \log P(\pmb w)] \big|_{\pmb w = \pmb w_{\mathrm{MAP}}}

Laplace 估计将估计问题转化为优化问题,通过二阶近似将复杂的后验分布简化为 Gauss 分布,使得参数估计更加可行、简单和高效。此外,它还给出了参数的分布估计,而非仅仅是众数估计(即最大后验估计值)。

但这也存在弊端。Laplace 的估计是局部的,对于多峰、偏态或重尾的后验分布,近似效果较差。此外,计算 Hessian 矩阵在高维参数空间中可能非常昂贵,对于 DD 个参数,计算复杂度为 O(ND3)O(ND^3),其中 NN 是数据量。最后,Gauss 近似也许并不适合所有类型的后验分布,可能会忽略一些重要的分布特征。

在最大似然估计的实际应用中,直接计算数据集的概率往往会带来数值上的挑战

P(Dw)=i=1NP(xiw)P(\mathcal D|\pmb w) = \prod_{i=1}^{N} P(x_i|\pmb w)

NN 很大时,连乘积可能导致数值下溢,变得非常接近零。为了解决这个问题,通常会采用负对数似然函数

wMLE=argminw(i=1NlogP(xiw))\pmb w_{\mathrm{MLE}} = \arg \min_{\pmb w} \left( -\sum_{i=1}^{N} \log P(x_i|\pmb w) \right)

使用负对数似然函数将连乘积转化为连加和,避免了数值下溢的问题。此外,对数函数压缩了概率值的范围,使得优化过程更加稳定和高效。在一般的优化框架下,最小化通常是更标准的做法。因此,最大似然估计就转化为最小化负对数似然函数的问题。