ch2.2 连续型概率分布
1. 高斯分布
⾼斯分布,也被称为正态分布,⼴泛应⽤于连续型随机变量分布的模型中。对于⼀元变量 x x x 的情形,⾼斯分布可以写成下⾯的形式
N ( x ∣ μ , σ 2 ) = 1 ( 2 π σ 2 ) 1 / 2 exp { − ( x − μ ) 2 2 σ 2 } \mathcal{N}(x|\mu,\sigma^2)=\frac{1}{(2\pi\sigma^2)^{1/2}}\exp\Big\{−\frac{(x-\mu)^2}{2\sigma^2}\Big\}\notag N(x∣μ,σ2)=(2πσ2)1/21exp{−2σ2(x−μ)2}
此处, μ \mu μ 表示均值, σ 2 \sigma^2 σ2 表示方差。
import math
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid")
mu = 0
sigma = 1
x = np.arange(-5, 5, 0.1)
y = np.exp((x-mu)**2/(-2*sigma**2))/math.sqrt(2*math.pi*sigma**2)
plt.plot(x, y, 'r-')
plt.show()
对于 D D D-维向量 x \mathbf{x} x,高斯分布表示为
N ( x ∣ μ , Σ ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } \mathcal{N}(\mathbf{x}\vert\mu,\Sigma)=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\exp\Big\{−\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^T\Sigma^{-1}(\mathbf{x}-\mathbf{\mu})\Big\}\notag N(x∣μ,Σ)=(2π)D/2∣Σ∣1/21exp{−21(x−μ)TΣ−1(x−μ)}
此处, μ \mathbf{\mu} μ 表示 D D D 维均值向量, Σ \Sigma Σ 为 D × D D\times D D×D 维的协方差矩阵, ∣ ⋅ ∣ \vert\cdot\vert ∣⋅∣ 表示矩阵的行列式。
#!/usr/bin/python
# -*- coding:utf-8 -*-
import numpy as np
from scipy import stats
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
if __name__ == '__main__':
x1, x2 = np.mgrid[-5:5:51j, -5:5:51j]
x = np.stack((x1, x2), axis=2)
print('x1 = \n', x1)
print('x2 = \n', x2)
print('x = \n', x)
mpl.rcParams['axes.unicode_minus'] = False
mpl.rcParams['font.sans-serif'] = 'SimHei'
plt.figure(figsize=(9, 8), facecolor='w')
sigma = (np.identity(2), np.diag((3,3)), np.diag((2,5)), np.array(((2,1), (1,5))))
for i in np.arange(4):
ax = plt.subplot(2, 2, i+1, projection='3d')
norm = stats.multivariate_normal((0, 0), sigma[i])
y = norm.pdf(x)
ax.plot_surface(x1, x2, y, cmap=cm.Accent, rstride=1, cstride=1, alpha=0.9, lw=0.3, edgecolor='#303030')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.suptitle('二元高斯分布方差比较', fontsize=18)
plt.tight_layout(1.5)
plt.show()
高斯分布会在许多不同的问题中产生,可以从多个不同的角度来理解。例如,我们可以看到,对于一个一元实值向量,使熵取得最大值的是高斯分布。这个性质对于多元高斯也成立。
当我们考虑多个随机变量之和的时候,也会产生高斯分布。拉普拉斯提出的中心极限定理(central limit theorem)告诉我们,对于某些温和的情况,⼀组随机变量之和(当然也是随机变量)的概率分布随着和式中项的数量的增加而逐渐趋向高斯分布(Walker,1969)。考虑 N N N 个变量(特征或列) { x i ∈ R ∣ i = 1 , ⋯ , N } \{x_i\in R\vert i=1,\cdots,N\} {xi∈R∣i=1,⋯,N},每⼀个都是区间 [ 0 , 1 ] [0,1] [0,1] 上的均匀分布,然后考虑均值(列均值) ( x 1 + ⋯ + x N ) / N (x_1+\cdots+x_N)/N (x1+⋯+xN)/N 的分布。对于大的N,这个分布趋向于高斯分布,如图所示(样本点个数设定为10万)。
import matplotlib.pyplot as plt
from scipy.stats import uniform
plt.figure(figsize=(10, 5))
plt.subplot(1, 3, 1)
plt.xlim(0, 1)
plt.ylim(0, 5)
plt.annotate("N=1", (0.1, 4.5))
print(uniform.rvs(5)) # 与下一行相比,加不加参数“size=”,有天壤之别
plt.hist(uniform.rvs(size=100000), bins=20, density=True)
plt.subplot(1, 3, 2)
plt.xlim(0, 1)
plt.ylim(0, 5)
plt.annotate("N=2", (0.1, 4.5))
plt.hist(0.5 * (uniform.rvs(size=100000) + uniform.rvs(size=100000)), bins=20, density=True)
plt.subplot(1, 3, 3)
plt.xlim(0, 1)
plt.ylim(0, 5)
sample = 0
for _ in range(10):
sample = sample + uniform.rvs(size=100000)
plt.annotate("N=10", (0.1, 4.5))
plt.hist(sample * 0.1, bins=20, density=True)
plt.show()
在实际应⽤中,随着 N N N 的增加,分布会很迅速收敛为高斯分布。这个结论导致的⼀个结果是,⼆项分布(⼆元随机变量 x x x 在 N N N 次观测中出现次数 m m m 的分布)将会在 N → ∞ N\to\infty N→∞ 时趋向于高斯分布。高斯分布有许多重要的分析性质,且需要对各种矩阵性质比较熟悉。我们强烈鼓励读者能够使用这里介绍的技术熟练操作高斯分布,因为这对于理解后续章节中出现的更加复杂的模型是非常有帮助的。
2. 高斯分布的几何结构
高斯函数中自变量 x x x 的函数依赖关系是通过指数部分的二次型实现的,
Δ 2 = ( x − μ ) T Σ − 1 ( x − μ ) \Delta^2=(\boldsymbol{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu}) Δ2=(x−μ)TΣ−1(x−μ)
这个量我们称为 μ \boldsymbol{\mu} μ 到 x \boldsymbol{x} x 的 Mahalanobis 距离,而当 Σ = I \Sigma=I Σ=I 时,该量称为 μ \boldsymbol{\mu} μ 到 x \boldsymbol{x} x 的欧氏距离。该二次型如果是常数 Δ 2 = c o n s t \Delta^2=const Δ2=const 可以描述为等高线,如下图所示
#导入模块
import numpy as np
import matplotlib.pyplot as plt
#建立步长为0.01,即每隔0.01取一个点
step = 0.01
x = np.arange(-10,10,step)
y = np.arange(-10,10,step)
#也可以用x = np.linspace(-10,10,100)表示从-10到10,分100份
#将原始数据变成网格数据形式
X,Y = np.meshgrid(x,y)
#写入函数,z是大写
Z = X**2/4+Y**2/5
#设置打开画布大小,长10,宽6
#plt.figure(figsize=(10,6))
plt.subplot(1,2,1)
#填充颜色,f即filled
plt.contourf(X,Y,Z)
#画等高线
plt.contour(X,Y,Z)
plt.subplot(1,2,2)
contour = plt.contour(X,Y,Z,[5,15],colors='k')
#等高线上标明z(即高度)的值,字体大小是10,颜色分别是黑色和红色
plt.clabel(contour,fontsize=10,colors=('k','r'))
plt.show()
注释: 由于此程序只考虑了高斯函数指数部分的相反数,所以等高线越往外值越大,如果考虑高斯函数的整体,则等高线越往里越大。
3. 高斯分布的性质
高斯函数本质上是对距离函数的一个非线性变换,主要体现在高斯函数指数部分的 x \mathbf{x} x 到 μ \mu μ 距离的二次型上
Δ 2 = ( x − μ ) T Σ − 1 ( x − μ ) \Delta^2=(\mathbf{x}-\mathbf{\mu})^T\Sigma^{-1}(\mathbf{x}-\mathbf{\mu}) \notag Δ2=(x−μ)TΣ−1(x−μ)
其中, Δ \Delta Δ 称为 x \mathbf{x} x 到 中心点 μ \mathbf{\mu} μ 的 Mahalanobis 距离,当 Σ = I \Sigma=\mathbf{I} Σ=I时该距离退化成欧氏距离。由于矩阵 Σ \Sigma Σ 是一个实对称矩阵,因此,可以实现矩阵的对角化,即存在一组线性无关的基底 [ u 1 , u 2 , ⋯ , u D ] [\mathbf{u}_1, \mathbf{u}_2, \cdots,\mathbf{u}_D] [u1,u2,⋯,uD] 使得
[ u 1 T u 2 T ⋮ u D T ] ⋅ Σ ⋅ [ u 1 , u 2 , ⋯ , u D ] = Diag ( λ 1 , λ 2 , ⋯ , λ D ) \left[\begin{array}{c} \mathbf{u}_1^T \\ \mathbf{u}_2^T \\ \vdots \\ \mathbf{u}_D^T \end{array}\right]\cdot\Sigma\cdot[\mathbf{u}_1, \mathbf{u}_2, \cdots,\mathbf{u}_D]=\text{Diag}(\lambda_1,\lambda_2,\cdots,\lambda_D)\notag ⎣
⎡u1Tu2T⋮uDT⎦
⎤⋅Σ⋅[u1,u2,⋯,uD]=Diag(λ1,λ2,⋯,λD)
或 U Σ U T = Diag ( λ 1 , λ 2 , ⋯ , λ D ) \mathbf{U}\Sigma\mathbf{U}^T=\text{Diag}(\lambda_1,\lambda_2,\cdots,\lambda_D) UΣUT=Diag(λ1,λ2,⋯,λD)
即
u i T Σ u i = λ i , i = 1 , 2 , ⋯ , D \mathbf{u}_i^T\Sigma\mathbf{u}_i=\lambda_i,\;\;\;\; i=1,2,\cdots,D \notag uiTΣui=λi,i=1,2,⋯,D
其中,基是标准正交基
u i T u i = 1 , u i T u j = 0 \mathbf{u}_i^T\mathbf{u}_i=1,\;\;\;\;\mathbf{u}_i^T\mathbf{u}_j=0 \notag uiTui=1,uiTuj=0
或 U U T = I \mathbf{U}\mathbf{U}^T=\mathbf{I} UUT=I
又因为
Σ = U T ⋅ Diag ( λ 1 , λ 2 , ⋯ , λ D ) ⋅ U = [ u 1 , u 2 , ⋯ , u D ] ⋅ Diag ( λ 1 , λ 2 , ⋯ , λ D ) ⋅ [ u 1 T u 2 T ⋮ u D T ] = ∑ i D λ i u i u i T \begin{align} \Sigma&=\mathbf{U}^T\cdot\text{Diag}(\lambda_1,\lambda_2,\cdots,\lambda_D)\cdot\mathbf{U}\notag \\ &=[\mathbf{u}_1, \mathbf{u}_2, \cdots,\mathbf{u}_D]\cdot\text{Diag}(\lambda_1,\lambda_2,\cdots,\lambda_D)\cdot\left[\begin{array}{c} \mathbf{u}_1^T \\ \mathbf{u}_2^T \\ \vdots \\ \mathbf{u}_D^T \end{array}\right]\notag \\ &=\sum_i^D\lambda_i\mathbf{u}_i\mathbf{u}_i^T \notag \end{align}\notag Σ=UT⋅Diag(λ1,λ2,⋯,λD)⋅U=[u1,u2,⋯,uD]⋅Diag(λ1,λ2,⋯,λD)⋅⎣
⎡u1Tu2T⋮uDT⎦
⎤=i∑DλiuiuiT
可知
Σ − 1 = U T ⋅ Diag ( 1 / λ 1 , 1 / λ 2 , ⋯ , 1 / λ D ) ⋅ U = [ u 1 , u 2 , ⋯ , u D ] ⋅ Diag ( 1 / λ 1 , 1 / λ 2 , ⋯ , 1 / λ D ) ⋅ [ u 1 T u 2 T ⋮ u D T ] = ∑ i D 1 λ i u i u i T \begin{align} \Sigma^{-1}&=\mathbf{U}^T\cdot\text{Diag}(1/\lambda_1,1/\lambda_2,\cdots,1/\lambda_D)\cdot\mathbf{U}\notag \\ &=[\mathbf{u}_1, \mathbf{u}_2, \cdots,\mathbf{u}_D]\cdot\text{Diag}(1/\lambda_1,1/\lambda_2,\cdots,1/\lambda_D)\cdot\left[\begin{array}{c} \mathbf{u}_1^T \\ \mathbf{u}_2^T \\ \vdots \\ \mathbf{u}_D^T \end{array}\right]\notag \\ &=\sum_i^D\frac{1}{\lambda_i}\mathbf{u}_i\mathbf{u}_i^T \notag \end{align} Σ−1=UT⋅Diag(1/λ1,1/λ2,⋯,1/λD)⋅U=[u1,u2,⋯,uD]⋅Diag(1/λ1,1/λ2,⋯,1/λD)⋅⎣
⎡u1Tu2T⋮uDT⎦
⎤=i∑Dλi1uiuiT
将(2)带入 (1)得
Δ 2 = ( x − μ ) T Σ − 1 ( x − μ ) = ( x − μ ) T ∑ i D 1 λ i u i u i T ( x − μ ) = ∑ i D 1 λ i ( x − μ ) T u i u i T ( x − μ ) ⏟ y i = ∑ i D 1 λ i y i 2 \begin{align} \Delta^2&=(\boldsymbol{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\notag \\ &=(\boldsymbol{x}-\boldsymbol{\mu})^T\sum_i^D\frac{1}{\lambda_i}\mathbf{u}_i\mathbf{u}_i^T(\boldsymbol{x}-\boldsymbol{\mu}) \notag\\ &=\sum_i^D\frac{1}{\lambda_i}(\boldsymbol{x}-\boldsymbol{\mu})^T\mathbf{u}_i\underbrace{\mathbf{u}_i^T(\boldsymbol{x}-\boldsymbol{\mu})}_{y_i} \notag \\ &=\sum_i^D\frac{1}{\lambda_i}y_i^2 \notag \end{align} Δ2=(x−μ)TΣ−1(x−μ)=(x−μ)Ti∑Dλi1uiuiT(x−μ)=i∑Dλi1(x−μ)Tuiyi
uiT(x−μ)=i∑Dλi1yi2
或者
Δ 2 = ( x − μ ) T Σ − 1 ( x − μ ) = ( x − μ ) T U T ⋅ Diag ( 1 / λ 1 , 1 / λ 2 , ⋯ , 1 / λ D ) ⋅ U ( x − μ ) ⏟ y = y T ⋅ Diag ( 1 / λ 1 , 1 / λ 2 , ⋯ , 1 / λ D ) ⋅ y \begin{align} \Delta^2&=(\boldsymbol{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\notag \\ &=(\boldsymbol{x}-\boldsymbol{\mu})^T\mathbf{U}^T\cdot\text{Diag}(1/\lambda_1,1/\lambda_2,\cdots,1/\lambda_D)\cdot\underbrace{\mathbf{U}(\boldsymbol{x}-\boldsymbol{\mu})}_{\boldsymbol{y}} \notag\\ &=\boldsymbol{y}^T\cdot\text{Diag}(1/\lambda_1,1/\lambda_2,\cdots,1/\lambda_D)\cdot{\boldsymbol{y}} \notag \end{align} Δ2=(x−μ)TΣ−1(x−μ)=(x−μ)TUT⋅Diag(1/λ1,1/λ2,⋯,1/λD)⋅y
U(x−μ)=yT⋅Diag(1/λ1,1/λ2,⋯,1/λD)⋅y
由公式(3)可知, Δ 2 = ∑ i D 1 λ i y i 2 = c o n s t \Delta^2=\sum_i^D\frac{1}{\lambda_i}y_i^2=const Δ2=∑iDλi1yi2=const,(椭圆的轴)此时,高斯密度函数也是常数,即可表示出等高线。通过坐标变换 y = U ( x − μ ) \boldsymbol{y}=\boldsymbol{U}(\boldsymbol{x}-\boldsymbol{\mu}) y=U(x−μ) 将椭圆的主轴做了旋转,坐标轴由 x x x 轴转变为 y y y 轴,如图所示。矩阵 U \boldsymbol{U} U 是把原始坐标轴旋转到投影长度最大的的坐标轴,即通过特征值分解获得的特征向量。
对于高斯分布,有必要要求协方差矩阵的所有特征值 λ i \lambda_i λi 严格大于零,否则分布将不能被正确地归⼀化。⼀个特征值严格大于零的矩阵被称为正定(positive definite)矩阵。在第12章,我们会遇到⼀个或者多个特征值为零的高斯分布,那种情况下分布是奇异的,被限制在了⼀个低维的子空间中。如果所有的特征值都是非负的,那么这个矩阵被称为半正定(positive semidefine)矩阵。
注解: 数据如果在某个或者几个坐标轴的无投影的话,则可以用少数的坐标轴进行表示,即子空间。
现在考虑在由 y i y_i yi 定义的新坐标系下高斯分布的形式。从 x \boldsymbol{x} x 坐标系到 y \boldsymbol{y} y 坐标系,我们有⼀个Jacobian矩阵 J \boldsymbol{J} J,它的元素可通过一下推导进行表示。
由公式 y = U ( x − μ ) \boldsymbol{y}=\boldsymbol{U}(\boldsymbol{x}-\boldsymbol{\mu}) y=U(x−μ) 可得 x = U T y + μ \boldsymbol{x}=\boldsymbol{U}^T\boldsymbol{y}+\boldsymbol{\mu} x=UTy+μ,则
J i j = ∂ x i y j = U j i \boldsymbol{J}_{ij}=\frac{\partial \boldsymbol{x}_i}{\boldsymbol{y}_j}=\boldsymbol{U}_{ji} \notag Jij=yj∂xi=Uji
或者 J = U T \boldsymbol{J}=\boldsymbol{U}^T J=UT
其中, U j i \boldsymbol{U}_{ji} Uji 是矩阵 U T \boldsymbol{U}^T UT 的元素。由于 U \boldsymbol{U} U 矩阵的正交性,雅可比矩阵的行列式可表示为
∣ J ∣ 2 = ∣ U T ∣ 2 = ∣ U T ∣ ⋅ ∣ U ∣ = ∣ U T U ∣ = ∣ I ∣ = 1 \vert\boldsymbol{J}\vert^2=\vert\boldsymbol{U}^T\vert^2=\vert\boldsymbol{U}^T\vert\cdot\vert\boldsymbol{U}\vert=\vert\boldsymbol{U}^T\boldsymbol{U}\vert=\vert\boldsymbol{I}\vert=1\notag ∣J∣2=∣UT∣2=∣UT∣⋅∣U∣=∣UTU∣=∣I∣=1
由 Σ = U T ⋅ Diag ( λ 1 , λ 2 , ⋯ , λ D ) ⋅ U \Sigma=\mathbf{U}^T\cdot\text{Diag}(\lambda_1,\lambda_2,\cdots,\lambda_D)\cdot\mathbf{U} Σ=UT⋅Diag(λ1,λ2,⋯,λD)⋅U 可知,
∣ Σ ∣ 1 / 2 = ∏ j = 1 D λ j 1 / 2 (5) \vert\Sigma\vert^{1/2}=\prod_{j=1}^D\lambda_j^{1/2}\tag{5} ∣Σ∣1/2=j=1∏Dλj1/2(5)
将公式(2)和(5)带入高斯概率密度函数的
p ( x ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } = 1 ∏ j = 1 D ( 2 π ) 1 / 2 ∏ j = 1 D λ j 1 / 2 exp { − 1 2 ( x − μ ) T ∑ j D 1 λ j u j u j T ( x − μ ) } = 1 ∏ j = 1 D ( 2 π ) 1 / 2 ∏ j = 1 D λ j 1 / 2 exp { − ∑ j D 1 2 λ j ( x − μ ) T u j ⏟ y j u j T ( x − μ ) ⏟ y j } = 1 ∏ j = 1 D ( 2 π ) 1 / 2 ∏ j = 1 D λ j 1 / 2 exp { − ∑ j D y j 2 2 λ j } = ∏ j = 1 D 1 ( 2 π λ j ) 1 / 2 exp { − y j 2 2 λ j } = p ( y ) \begin{align} p(\boldsymbol{x})&=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\exp\Big\{−\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\Big\} \notag \\ &=\frac{1}{\prod_{j=1}^D(2\pi)^{1/2}\prod_{j=1}^D\lambda_j^{1/2}}\exp\Big\{−\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^T\sum_j^D\frac{1}{\lambda_j}\mathbf{u}_j\mathbf{u}_j^T(\boldsymbol{x}-\boldsymbol{\mu})\Big\} \notag \\ &=\frac{1}{\prod_{j=1}^D(2\pi)^{1/2}\prod_{j=1}^D\lambda_j^{1/2}}\exp\Big\{−\sum_j^D\frac{1}{2\lambda_j}\underbrace{(\boldsymbol{x}-\boldsymbol{\mu})^T\mathbf{u}_j}_{y_j}\underbrace{\mathbf{u}_j^T(\boldsymbol{x}-\boldsymbol{\mu})}_{y_j}\Big\} \notag \\ &=\frac{1}{\prod_{j=1}^D(2\pi)^{1/2}\prod_{j=1}^D\lambda_j^{1/2}}\exp\Big\{−\sum_j^D\frac{y_j^2}{2\lambda_j}\Big\} \notag \\ &=\prod_{j=1}^D\frac{1}{(2\pi\lambda_j)^{1/2}}\exp\Big\{−\frac{y_j^2}{2\lambda_j}\Big\}\notag\\ &=p(\boldsymbol{y}) \notag \end{align}\notag p(x)=(2π)D/2∣Σ∣1/21exp{−21(x−μ)TΣ−1(x−μ)}=∏j=1D(2π)1/2∏j=1Dλj1/21exp{−21(x−μ)Tj∑Dλj1ujujT(x−μ)}=∏j=1D(2π)1/2∏j=1Dλj1/21exp{−j∑D2λj1yj
(x−μ)Tujyj
ujT(x−μ)}=∏j=1D(2π)1/2∏j=1Dλj1/21exp{−j∑D2λjyj2}=j=1∏D(2πλj)1/21exp{−2λjyj2}=p(y)
在新的坐标系 y \boldsymbol{y} y 下,概率密度函数 p ( y ) p(\boldsymbol{y}) p(y) 仍然是不需要归一化的,因为
∫ p ( y ) d y = ∏ j = 1 D ∫ 1 ( 2 π λ j ) 1 / 2 exp { − y j 2 2 λ j } d y j = 1 \int p(\boldsymbol{y})d\boldsymbol{y}=\prod_{j=1}^D\int\frac{1}{(2\pi\lambda_j)^{1/2}}\exp\Big\{−\frac{y_j^2}{2\lambda_j}\Big\}dy_j=1 \notag ∫p(y)dy=j=1∏D∫(2πλj)1/21exp{−2λjyj2}dyj=1
3.1 高斯分布的期望
高斯概率密度函数 p ( x ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } p(\boldsymbol{x})=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\exp\Big\{−\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\Big\} p(x)=(2π)D/2∣Σ∣1/21exp{−21(x−μ)TΣ−1(x−μ)} 有两个参数, μ \boldsymbol{\mu} μ 和 Σ \Sigma Σ。下面分别计算高斯概率密度函数关于 x \boldsymbol{x} x 的期望和方差。
E [ x ] = ∫ x p ( x ) d x = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } x d x = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 ( x − μ ) T ⏟ z T Σ − 1 ( x − μ ) ⏟ z } ( x − μ ⏟ z + μ ) d x = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 z T Σ − 1 z } ( z + μ ) d x = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 z T Σ − 1 z } z ⏟ 奇函数 d x + μ ⋅ 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 z T Σ − 1 z } d x = μ \begin{align}\mathbb{E}[\boldsymbol{x}]&=\int \boldsymbol{x}p(\boldsymbol{x})d\boldsymbol{x} \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\Big\}\boldsymbol{x}d\boldsymbol{x} \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\underbrace{(\boldsymbol{x}-\boldsymbol{\mu})^T}_{\boldsymbol{z}^T}\Sigma^{-1}\underbrace{(\boldsymbol{x}-\boldsymbol{\mu})}_{\boldsymbol{z}}\Big\}(\underbrace{\boldsymbol{x}-\boldsymbol{\mu}}_{\boldsymbol{z}}+\boldsymbol{\mu})d\boldsymbol{x} \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}{\boldsymbol{z}^T}\Sigma^{-1}{\boldsymbol{z}}\Big\}({\boldsymbol{z}}+\boldsymbol{\mu})d\boldsymbol{x} \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \underbrace{\exp\Big\{−\frac{1}{2}{\boldsymbol{z}^T}\Sigma^{-1}{\boldsymbol{z}}\Big\}{\boldsymbol{z}}}_{奇函数}d\boldsymbol{x}+\boldsymbol{\mu}\cdot\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}{\boldsymbol{z}^T}\Sigma^{-1}{\boldsymbol{z}}\Big\}d\boldsymbol{x} \notag \\ &=\boldsymbol{\mu} \notag \end{align}\notag E[x]=∫xp(x)dx=(2π)D/2∣Σ∣1/21∫exp{−21(x−μ)TΣ−1(x−μ)}xdx=(2π)D/2∣Σ∣1/21∫exp{−21zT
(x−μ)TΣ−1z
(x−μ)}(z
x−μ+μ)dx=(2π)D/2∣Σ∣1/21∫exp{−21zTΣ−1z}(z+μ)dx=(2π)D/2∣Σ∣1/21∫奇函数
exp{−21zTΣ−1z}zdx+μ⋅(2π)D/2∣Σ∣1/21∫exp{−21zTΣ−1z}dx=μ
所示, μ \boldsymbol{\mu} μ 称为高斯分布的均值。
3.2 高斯分布的方差
要求多维高斯分布的方差,首先我们需要求 E [ x ⋅ x T ] \mathbb{E}[\boldsymbol{x}\cdot\boldsymbol{x}^T] E[x⋅xT],
E [ x ⋅ x T ] = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 ( x − μ ) T ⏟ z T Σ − 1 ( x − μ ) ⏟ z } ( x ⋅ x T ) d x = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 z T Σ − 1 z } ( z + μ ) ( z + μ ) T d z = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 z T Σ − 1 z } ( z z T + 2 μ z T ⏟ 奇函数 + μ μ T ) d z = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 z T Σ − 1 z } z z T d z + μ μ T \begin{align} \mathbb{E}[\boldsymbol{x}\cdot\boldsymbol{x}^T]&=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\underbrace{(\boldsymbol{x}-\boldsymbol{\mu})^T}_{\boldsymbol{z}^T}\Sigma^{-1}\underbrace{(\boldsymbol{x}-\boldsymbol{\mu})}_{\boldsymbol{z}}\Big\}(\boldsymbol{x}\cdot\boldsymbol{x}^T)d\boldsymbol{x} \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\boldsymbol{z}^T\Sigma^{-1}\boldsymbol{z}\Big\}(\boldsymbol{z}+\boldsymbol{\mu})(\boldsymbol{z}+\boldsymbol{\mu})^Td\boldsymbol{z} \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\boldsymbol{z}^T\Sigma^{-1}\boldsymbol{z}\Big\}(\boldsymbol{z}\boldsymbol{z}^T+\underbrace{2\boldsymbol{\mu}\boldsymbol{z}^T}_{奇函数}+\boldsymbol{\mu}\boldsymbol{\mu}^T)d\boldsymbol{z} \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\boldsymbol{z}^T\Sigma^{-1}\boldsymbol{z}\Big\}\boldsymbol{z}\boldsymbol{z}^Td\boldsymbol{z}+\boldsymbol{\mu}\boldsymbol{\mu}^T \notag \\ \end{align}\notag E[x⋅xT]=(2π)D/2∣Σ∣1/21∫exp{−21zT
(x−μ)TΣ−1z
(x−μ)}(x⋅xT)dx=(2π)D/2∣Σ∣1/21∫exp{−21zTΣ−1z}(z+μ)(z+μ)Tdz=(2π)D/2∣Σ∣1/21∫exp{−21zTΣ−1z}(zzT+奇函数
2μzT+μμT)dz=(2π)D/2∣Σ∣1/21∫exp{−21zTΣ−1z}zzTdz+μμT
由公式(4) y = U ( x − μ ) \boldsymbol{y}=\mathbf{U}(\boldsymbol{x}-\boldsymbol{\mu}) y=U(x−μ) 及上式代换 z = x − μ \boldsymbol{z}=\boldsymbol{x}-\boldsymbol{\mu} z=x−μ 可得 z = ∑ j = 1 D y j u j \boldsymbol{z}=\sum_{j=1}^Dy_j\boldsymbol{u}_j z=∑j=1Dyjuj,则上式可继续表示为
E [ x ⋅ x T ] = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 z T Σ − 1 z } z z T d z + μ μ T = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 ∑ j = 1 D y j u j T Σ − 1 y j u j } ∑ i = 1 D y i u i ∑ j = 1 D y j u j T d y + μ μ T = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∫ exp { − 1 2 ∑ k = 1 D y k 2 u k T 1 λ k u k u k T u k } ∑ i = 1 D ∑ j = 1 D y i y j u i u j T d y + μ μ T = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 ∑ i = 1 D ∑ j = 1 D u i u j T ∫ exp { − ∑ k = 1 D y k 2 2 λ k } y i y j d y + μ μ T = ? ∑ i = 1 D u i u i T λ i + μ μ T = Σ + μ μ T \begin{align} \mathbb{E}[\boldsymbol{x}\cdot\boldsymbol{x}^T]&=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\boldsymbol{z}^T\Sigma^{-1}\boldsymbol{z}\Big\}\boldsymbol{z}\boldsymbol{z}^Td\boldsymbol{z}+\boldsymbol{\mu}\boldsymbol{\mu}^T \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\sum_{j=1}^Dy_j\boldsymbol{u}_j^T\Sigma^{-1}y_j\boldsymbol{u}_j\Big\}\sum_{i=1}^Dy_i\boldsymbol{u}_i\sum_{j=1}^Dy_j\boldsymbol{u}_j^Td\boldsymbol{y}+\boldsymbol{\mu}\boldsymbol{\mu}^T \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\int \exp\Big\{−\frac{1}{2}\sum_{k=1}^Dy_k^2\boldsymbol{u}_k^T\frac{1}{\lambda_k}\boldsymbol{u}_k\boldsymbol{u}_k^T\boldsymbol{u}_k\Big\}\sum_{i=1}^D\sum_{j=1}^Dy_iy_j\boldsymbol{u}_i\boldsymbol{u}_j^Td\boldsymbol{y}+\boldsymbol{\mu}\boldsymbol{\mu}^T \notag \\ &=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\sum_{i=1}^D\sum_{j=1}^D\boldsymbol{u}_i\boldsymbol{u}_j^T\int \exp\Big\{-\sum_{k=1}^D\frac{y_k^2}{2\lambda_k}\Big\}y_iy_jd\boldsymbol{y}+\boldsymbol{\mu}\boldsymbol{\mu}^T \notag \\ &=_?\sum_{i=1}^D\boldsymbol{u}_i\boldsymbol{u}_i^T\lambda_i+\boldsymbol{\mu}\boldsymbol{\mu}^T \notag \\ &=\Sigma+\boldsymbol{\mu}\boldsymbol{\mu}^T \notag \end{align}\notag E[x⋅xT]=(2π)D/2∣Σ∣1/21∫exp{−21zTΣ−1z}zzTdz+μμT=(2π)D/2∣Σ∣1/21∫exp{−21j=1∑DyjujTΣ−1yjuj}i=1∑Dyiuij=1∑DyjujTdy+μμT=(2π)D/2∣Σ∣1/21∫exp{−21k=1∑Dyk2ukTλk1ukukTuk}i=1∑Dj=1∑DyiyjuiujTdy+μμT=(2π)D/2∣Σ∣1/21i=1∑Dj=1∑DuiujT∫exp{−k=1∑D2λkyk2}yiyjdy+μμT=?i=1∑DuiuiTλi+μμT=Σ+μμT
则
c o v [ x ] = E [ ( x − E [ x ] ) ( x − E [ x ] ) T ] = E [ ( x − μ ) ( x − μ ) T ] = E [ ( x x T − μ x T − x μ T + μ μ T ] = E [ x x T ] − μ μ T = Σ \begin{align} cov[\boldsymbol{x}]&=\mathbb{E}[(\boldsymbol{x}-\mathbb{E}[\boldsymbol{x}])(\boldsymbol{x}-\mathbb{E}[\boldsymbol{x}])^T] \notag\\ &=\mathbb{E}[(\boldsymbol{x}-\boldsymbol{\mu})(\boldsymbol{x}-\boldsymbol{\mu})^T] \notag\\ &=\mathbb{E}[(\boldsymbol{x}\boldsymbol{x}^T-\boldsymbol{\mu}\boldsymbol{x}^T-\boldsymbol{x}\boldsymbol{\mu}^T+\boldsymbol{\mu}\boldsymbol{\mu}^T] \notag\\ &=\mathbb{E}[\boldsymbol{x}\boldsymbol{x}^T]-\boldsymbol{\mu}\boldsymbol{\mu}^T \notag\\ &=\Sigma \notag \end{align}\notag cov[x]=E[(x−E[x])(x−E[x])T]=E[(x−μ)(x−μ)T]=E[(xxT−μxT−xμT+μμT]=E[xxT]−μμT=Σ
因为高斯分布的参数矩阵 Σ \Sigma Σ 控制着 x x x 的方差,称为协方差矩阵。
3.2 高斯分布的弊端
高斯分布的参数包括均值向量 μ \boldsymbol{\mu} μ 和 协方差矩阵 Σ \Sigma Σ ,这种各向异性高斯分布虽然表达能力强,但是包含参数个数多,为 D + D ( D − 1 ) / 2 = D ( D + 1 ) / 2 D+D(D-1)/2=D(D+1)/2 D+D(D−1)/2=D(D+1)/2个;为了减少参数个数,可降低高斯密度函数的表达能力,可设定 Σ = σ 2 I \Sigma=\sigma^2 I Σ=σ2I, 变成各向同性高斯分布,此时的参数个数为 D + 1 D+1 D+1 个。
单高斯密度函数最大的问题是不能表达多高斯分布,需要借助更深层的学习,引入潜在变量和多模态高斯,主要应用于马尔可夫随机场和线性动态系统,一个有效的计算框架是概率图模型。
4. 高斯的极大似然
观测数据 X = ( x 1 , x 2 , ⋯ , x n ) T X=(\mathbf{x}_1,\mathbf{x}_2,\cdots,\mathbf{x}_n)^T X=(x1,x2,⋯,xn)T 中每个样本(行向量)均独立采样于多维高斯分布
p ( x n ∣ μ , Σ ) = 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 exp { − 1 2 ( x n − μ ) T Σ − 1 ( x n − μ ) } p(\mathbf{x}_n\vert\boldsymbol{\mu},\Sigma)=\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\exp\Big\{−\frac{1}{2}(\mathbf{x}_n-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}_n-\boldsymbol{\mu})\Big\}\notag p(xn∣μ,Σ)=(2π)D/2∣Σ∣1/21exp{−21(xn−μ)TΣ−1(xn−μ)}
则
p ( X ∣ μ , Σ ) = ∏ n = 1 N 1 ( 2 π ) D / 2 ∣ Σ ∣ 1 / 2 exp { − 1 2 ( x n − μ ) T Σ − 1 ( x n − μ ) } p(X\vert\boldsymbol{\mu},\Sigma)=\prod_{n=1}^N\frac{1}{(2\pi)^{D/2}\vert\Sigma\vert^{1/2}}\exp\Big\{−\frac{1}{2}(\mathbf{x}_n-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}_n-\boldsymbol{\mu})\Big\}\notag p(X∣μ,Σ)=n=1∏N(2π)D/2∣Σ∣1/21exp{−21(xn−μ)TΣ−1(xn−μ)}
即
ln p ( X ∣ μ , Σ ) = N D 2 ln ( 2 π ) − N 2 ln ∣ Σ ∣ − 1 2 ∑ n = 1 N ( x n − μ ) T Σ − 1 ( x n − μ ) (6) \ln p(X\vert\boldsymbol{\mu},\Sigma)=\frac{ND}{2}\ln(2\pi)-\frac{N}{2}\ln\vert\Sigma\vert−\frac{1}{2}\sum_{n=1}^N(\mathbf{x}_n-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}_n-\boldsymbol{\mu}) \tag{6} lnp(X∣μ,Σ)=2NDln(2π)−2Nln∣Σ∣−21n=1∑N(xn−μ)TΣ−1(xn−μ)(6)
经过简单的整理,发现(6)只与两个量有关,分别为 ∑ n = 1 N x n \sum_{n=1}^N\mathbf{x}_n ∑n=1Nxn 和 ∑ n = 1 N x n x n T \sum_{n=1}^N\mathbf{x}_n\mathbf{x}_n^T ∑n=1NxnxnT 有关,称为高斯分布的充分统计量。
通过极大似然的方式可以求出参数 μ \boldsymbol{\mu} μ,
∂ ∂ μ ln p ( X ∣ μ , Σ ) = ∑ n = 1 N Σ − 1 ( x n − μ ) = 0 \frac{\partial}{\partial\boldsymbol{\mu}}\ln p(X\vert\boldsymbol{\mu},\Sigma)=\sum_{n=1}^N\Sigma^{-1}(\mathbf{x}_n-\boldsymbol{\mu})=0 \notag ∂μ∂lnp(X∣μ,Σ)=n=1∑NΣ−1(xn−μ)=0
即参数 μ \boldsymbol{\mu} μ 的极大似然解为
μ M L = 1 N ∑ n = 1 N x n \boldsymbol{\mu}_{ML}=\frac{1}{N}\sum_{n=1}^N\mathbf{x}_n \notag μML=N1n=1∑Nxn
为观测值的均值。
接下来对 log 似然函数关于参数 Σ \Sigma Σ 求导数
∂ ∂ Σ ln p ( X ∣ μ , Σ ) = ∂ ∂ Σ { − N 2 ln ∣ Σ ∣ − 1 2 ∑ n = 1 N ( x n − μ ) T Σ − 1 ( x n − μ ) } = 0 \frac{\partial}{\partial\Sigma}\ln p(X\vert\boldsymbol{\mu},\Sigma)=\frac{\partial}{\partial\Sigma}\Bigg\{-\frac{N}{2}\ln\vert\Sigma\vert−\frac{1}{2}\sum_{n=1}^N(\mathbf{x}_n-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}_n-\boldsymbol{\mu})\Bigg\}=0\notag ∂Σ∂lnp(X∣μ,Σ)=∂Σ∂{−2Nln∣Σ∣−21n=1∑N(xn−μ)TΣ−1(xn−μ)}=0
得
Σ M L = 1 N ∑ n = 1 N ( x n − μ M L ) ( x n − μ M L ) T \boldsymbol{\Sigma}_{ML}=\frac{1}{N}\sum_{n=1}^N(\mathbf{x}_n-\boldsymbol{\mu}_{ML})(\mathbf{x}_n-\boldsymbol{\mu}_{ML})^T\notag ΣML=N1n=1∑N(xn−μML)(xn−μML)T
这是一个有偏估计,因为
E [ μ M L ] = μ \mathbb{E}[\boldsymbol{\mu}_{ML}]=\boldsymbol{\mu}\notag E[μML]=μ
E [ Σ M L ] = N − 1 N Σ \mathbb{E}[\boldsymbol{\Sigma}_{ML}]=\frac{N-1}{N}\boldsymbol{\Sigma}\notag E[ΣML]=NN−1Σ
为了得到无偏估计,我们需要做如下调整
Σ ~ = 1 N − 1 ∑ n = 1 N ( x n − μ M L ) ( x n − μ M L ) T \widetilde{\boldsymbol{\Sigma}}=\frac{1}{N-1}\sum_{n=1}^N(\mathbf{x}_n-\boldsymbol{\mu}_{ML})(\mathbf{x}_n-\boldsymbol{\mu}_{ML})^T \notag Σ
=N−11n=1∑N(xn−μML)(xn−μML)T
5. 高斯的贝叶斯推断
**问题:**高斯分布关于参数 μ \mu μ 和 Σ \Sigma Σ 的极大似然估计是一种点估计方法,过分地依赖观测数据,估计结果与总体分布难免有偏颇。
策略: 通过引入先验的方式开发贝叶斯方法,即引入超参数,由先验估计后验。
我们以简单的单变量高斯为例,假设总体分布的方差 σ 2 \sigma^2 σ2 已知,通过 N N N 个采样 x = { x 1 , x 2 , ⋯ , x n } \mathbf{x}=\{x_1,x_2,\cdots,x_n\} x={x1,x2,⋯,xn} 推断总体的均值 μ \mu μ. 关于参数 μ \mu μ 的似然函数表示为
p ( x ∣ μ ) = ∏ n = 1 N p ( x n ∣ μ ) = 1 ( 2 π σ 2 ) N / 2 exp { − 1 2 σ 2 ∑ i = 1 N ( x i − μ ) 2 } p(\mathbf{x}\vert\mu)=\prod_{n=1}^Np(x_n\vert\mu)=\frac{1}{(2\pi\sigma^2)^{N/2}}\exp\Big\{−\frac{1}{2\sigma^2}\sum_{i=1}^N(x_i-\mu)^2\Big\}\notag p(x∣μ)=n=1∏Np(xn∣μ)=(2πσ2)N/21exp{−2σ21i=1∑N(xi−μ)2}
**注意:**似然函数并未归一化,也不是一个概率密度函数。
由于似然函数是关于参数 μ \mu μ 的指数形式,可设定先验分布 p ( μ ) p(\mu) p(μ) 为高斯分布,后验分布也将是高斯分布,使得似然与后验分布具有相同的指数形式。因此,先验分布设定如下
p ( μ ) = N ( μ ∣ μ 0 , σ 0 2 ) = 1 ( 2 π σ 0 2 ) 1 / 2 exp { − 1 2 σ 0 2 ( μ − μ 0 ) 2 } p(\mu)=\mathcal{N}(\mu\vert\mu_0,\sigma_0^2)=\frac{1}{(2\pi\sigma_0^2)^{1/2}}\exp\Big\{−\frac{1}{2\sigma_0^2}(\mu-\mu_0)^2\Big\}\notag p(μ)=N(μ∣μ0,σ02)=(2πσ02)1/21exp{−2σ021(μ−μ0)2}
则后验分布表示为
ln p ( μ ∣ x ) ∝ ln p ( x ∣ μ ) + ln p ( μ ) = − N 2 ln ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 N ( x i − μ ) 2 − 1 2 ln ( 2 π σ 0 2 ) − 1 2 σ 0 2 ( μ − μ 0 ) 2 = − 1 2 σ 2 ∑ i = 1 N ( x i − μ ) 2 − 1 2 σ 0 2 ( μ − μ 0 ) 2 + c o n s t = − 1 2 σ 2 ∑ i = 1 N ( x i 2 − 2 x i μ + μ 2 ) − 1 2 σ 0 2 ( μ 2 − 2 μ 0 μ + μ 2 ) + c o n s t = − 1 2 σ 2 ( ∑ i = 1 N x i 2 − 2 μ ∑ i = 1 N x i ⏟ N ⋅ μ M L + N μ 2 ) − 1 2 σ 0 2 ( μ 2 − 2 μ 0 μ + μ 2 ) + c o n s t = − 1 2 ( N σ 2 + 1 σ 0 2 ) μ 2 + ( N ⋅ μ M L σ 2 + μ 0 σ 0 2 ) μ + c o n s t = − 1 2 ( N σ 2 + 1 σ 0 2 ) { μ 2 − 2 ( N σ 0 2 ⋅ μ M L + σ 2 μ 0 N σ 0 2 + σ 2 ) μ + ( N σ 0 2 ⋅ μ M L + σ 2 μ 0 N σ 0 2 + σ 2 ) 2 } + c o n s t = − ( μ − N σ 0 2 ⋅ μ M L + σ 2 μ 0 N σ 0 2 + σ 2 ) 2 2 1 N σ 2 + 1 σ 0 2 + c o n s t \begin{align} \ln p(\mu\vert\mathbf{x})&\propto \ln p(\mathbf{x}\vert\mu)+\ln p(\mu) \notag \\ &=-\frac{N}{2}\ln(2\pi\sigma^2)−\frac{1}{2\sigma^2}\sum_{i=1}^N(x_i-\mu)^2-\frac{1}{2}\ln(2\pi\sigma_0^2)-\frac{1}{2\sigma_0^2}(\mu-\mu_0)^2\notag \\ &=−\frac{1}{2\sigma^2}\sum_{i=1}^N(x_i-\mu)^2-\frac{1}{2\sigma_0^2}(\mu-\mu_0)^2+const\notag \\ &=−\frac{1}{2\sigma^2}\sum_{i=1}^N(x_i^2-2x_i\mu+\mu^2)-\frac{1}{2\sigma_0^2}(\mu^2-2\mu_0\mu+\mu^2)+const\notag \\ &=−\frac{1}{2\sigma^2}(\sum_{i=1}^Nx_i^2-2\mu\underbrace{\sum_{i=1}^Nx_i}_{N\cdot\mu_{ML}}+N\mu^2)-\frac{1}{2\sigma_0^2}(\mu^2-2\mu_0\mu+\mu^2)+const\notag \\ &=−\frac{1}{2}(\frac{N}{\sigma^2}+\frac{1}{\sigma_0^2})\mu^2+(\frac{N\cdot\mu_{ML}}{\sigma^2}+\frac{\mu_0}{\sigma_0^2})\mu+const\notag \\ &=−\frac{1}{2}(\frac{N}{\sigma^2}+\frac{1}{\sigma_0^2})\Bigg\{\mu^2-2(\frac{N\sigma_0^2\cdot\mu_{ML}+\sigma^2\mu_0}{N\sigma_0^2+\sigma^2})\mu+(\frac{N\sigma_0^2\cdot\mu_{ML}+\sigma^2\mu_0}{N\sigma_0^2+\sigma^2})^2\Bigg\}+const\notag \\ &=−\frac{\Bigg(\mu-\frac{N\sigma_0^2\cdot\mu_{ML}+\sigma^2\mu_0}{N\sigma_0^2+\sigma^2}\Bigg)^2}{2\frac{1}{\frac{N}{\sigma^2}+\frac{1}{\sigma_0^2}}}+const\notag \\ \end{align}\notag lnp(μ∣x)∝lnp(x∣μ)+lnp(μ)=−2Nln(2πσ2)−2σ21i=1∑N(xi−μ)2−21ln(2πσ02)−2σ021(μ−μ0)2=−2σ21i=1∑N(xi−μ)2−2σ021(μ−μ0)2+const=−2σ21i=1∑N(xi2−2xiμ+μ2)−2σ021(μ2−2μ0μ+μ2)+const=−2σ21(i=1∑Nxi2−2μN⋅μML
i=1∑Nxi+Nμ2)−2σ021(μ2−2μ0μ+μ2)+const=−21(σ2N+σ021)μ2+(σ2N⋅μML+σ02μ0)μ+const=−21(σ2N+σ021){μ2−2(Nσ02+σ2Nσ02⋅μML+σ2μ0)μ+(Nσ02+σ2Nσ02⋅μML+σ2μ0)2}+const=−2σ2N+σ0211(μ−Nσ02+σ2Nσ02⋅μML+σ2μ0)2+const
所以,后验分布为 p ( μ ∣ x ) = N ( μ ∣ μ ~ , σ ~ ) p(\mu\vert\mathbf{x})=\mathcal{N}(\mu\vert\widetilde{\mu},\widetilde{\sigma}) p(μ∣x)=N(μ∣μ
,σ
) ,其中,
μ ~ = N σ 0 2 ⋅ μ M L + σ 2 μ 0 N σ 0 2 + σ 2 = σ 2 N σ 0 2 + σ 2 μ 0 + N σ 0 2 N σ 0 2 + σ 2 μ M L (7) \widetilde{\mu}=\frac{N\sigma_0^2\cdot\mu_{ML}+\sigma^2\mu_0}{N\sigma_0^2+\sigma^2}=\frac{\sigma^2}{N\sigma_0^2+\sigma^2}\mu_0+\frac{N\sigma_0^2}{N\sigma_0^2+\sigma^2}\mu_{ML}\tag{7} μ
=Nσ02+σ2Nσ02⋅μML+σ2μ0=Nσ02+σ2σ2μ0+Nσ02+σ2Nσ02μML(7)
1 σ 2 ~ = N σ 2 + 1 σ 0 2 (8) \frac{1}{\widetilde{\sigma^2}}=\frac{N}{\sigma^2}+\frac{1}{\sigma_0^2}\tag{8} σ2 1=σ2N+σ021(8)
由公式(7)可知,后验均值是先验均值和极大似然均值的折中。
- N = 0 N=0 N=0 时,强烈依赖于先验,后验均值等于先验均值
- N → ∞ N\to\infty N→∞ 时,强烈依赖于似然,后验均值等于似然均值
相似地,由公式(8)可知,后验的精度会随着 N N N 的增大而稳步增加
- N = 0 N=0 N=0 时,强烈依赖于先验,后验精度等于先验精度
- N → ∞ N\to\infty N→∞ 时,后验方差接近于 0 0 0 ,分布在极大似然均值附近变得陡峭
**注意:**对于固定的 N N N ,当 σ 0 2 → ∞ \sigma_0^2\to\infty σ02→∞ 时,后验均值会退化成极大似然均值;后验方差 σ 2 ~ = σ 2 / N \widetilde{\sigma^2}=\sigma^2/N σ2 =σ2/N,效果如下图所示。
1 σ 2 ~ = N σ 2 + 1 σ 0 2 (8) \frac{1}{\widetilde{\sigma^2}}=\frac{N}{\sigma^2}+\frac{1}{\sigma_0^2}\tag{8} σ2 1=σ2N+σ021(8)
由公式(7)可知,后验均值是先验均值和极大似然均值的折中。
- N = 0 N=0 N=0 时,强烈依赖于先验,后验均值等于先验均值
- N → ∞ N\to\infty N→∞ 时,强烈依赖于似然,后验均值等于似然均值
相似地,由公式(8)可知,后验的精度会随着 N N N 的增大而稳步增加
- N = 0 N=0 N=0 时,强烈依赖于先验,后验精度等于先验精度
- N → ∞ N\to\infty N→∞ 时,后验方差接近于 0 0 0 ,分布在极大似然均值附近变得陡峭
**注意:**对于固定的 N N N ,当 σ 0 2 → ∞ \sigma_0^2\to\infty σ02→∞ 时,后验均值会退化成极大似然均值;后验方差 σ 2 ~ = σ 2 / N \widetilde{\sigma^2}=\sigma^2/N σ2 =σ2/N,效果如下图所示。