Pattern Recognition And Machine Learning (模式识别与机器学习) 笔记 (1)

By Yunduan Cui

这是我自己的PRML学习笔记,目前持续更新中。

第二章 Probability Distributions 概率分布

本章介绍了书中要用到的概率分布模型,是之后章节的基础。已知一个有限集合 \(\{x_{1}, x_{2},..., x_{n}\}\), 概率分布是用来建立一个模型:\(p(x)\). 这一问题又称作密度估计( density estimation ).

主要内容
1. Binomial and Multinomial distributions 面向离散随机变量的伯努利分布与多项分布
2. Gaussian distribution 面向连续随机变量的高斯分布
3. 针对高斯分布的参数估计:频率学派/贝叶斯学派
4. 共轭先验,以及各个概率分布的统一
5. 参数/无参数方法

2.1 Binary Variables 二进制变量

  • 伯努利分布(Bernoulli distribution)

定义二进制随机变量 \(x \in \{0, 1\}\),伯努利分布满足:

\(Bern(x|\mu)=\mu^{x}(1-\mu)^{1-x}\)

其中 \(\mu\) 是控制该分布的参数,符合:

\(p(x=1|\mu)=\mu\).

伯努利分布的期望与方差满足:

\(\mathbb{E}[x] = \mu\)
\(var[x] = \mu(1-\mu)\)

当有一个观测集合 \(\mathcal{D}=\{x_{1}, x_{2},..., x_{n}\}\) 并假设观测之间都是相互独立的,我们就能得到一个关于 \(\mu\) 的似然函数(likelihood function):

\(p(\mathcal{D}|\mu)=
\displaystyle{\prod_{n=1}^{N}}p(x_{n}|\mu)=\displaystyle{\prod_{n=1}^{N}}\mu^{x_{n}}(1-\mu)^{1-x_{n}}\)

在求最大似然函数时,这种形式非常不方便运算,我们对\(p(\mathcal{D}|\mu)\)的对数式进行计算(转化连乘为连加):

\(\ln{p(\mathcal{D}|\mu)}=
\displaystyle{\sum_{n=1}^{N}}\ln{p}(x_{n}|\mu)=\displaystyle{\sum_{n=1}^{N}}\{x_{n}\ln{\mu}+(1-x_{n})\ln{(1-\mu)}\}\)

求其最大值,得到 \(\mu_{ML}=\frac{1}{N}\displaystyle{\sum_{n=1}^{N}}x_{n}\) 这就是在该观测集上伯努利分布的最大似然估计。等价于经验风险最小化

最大似然估计也有缺陷,假如观测集合太少,过拟合就极易发生(比如投掷硬币三次若都是头像朝上的话,最大似然估计将直接判断向上的概率为\(100\%\),这显然不对)。 我们可以通过引入先验 \(\mu\) 来避免这种情况。等价于最大后验估计即结构风险最小化——详见后面的贝塔分布

  • 二项分布(binomial distribution)

伯努利分布中观测集合 \(\mathcal{D}\) 是给定的,当我们仅知道 \(x=1\) 的观测次数是 \(m\) 时,我们能推导出二项分布:

\(Bin(m|N,\mu)=\binom{N}{m}\mu^{m}(1-\mu)^{N-m}=\frac{N!}{(N-m)!m!}\mu^{m}(1-\mu)^{N-m}\)

这是关于某事件发生多少次的概率。二项分布的期望与方差满足:

\(\mathbb{E}[m] = \displaystyle{\sum_{m=0}}mBin(m|N,\mu)=N\mu\)
\(var[m] = \displaystyle{\sum_{m=0}}(m-\mathbb{E}[m])^{2}Bin(m|N,\mu)=N\mu(1-\mu)\)

  • 贝塔分布(beta distribution)

这一节考虑怎么引入先验信息到二进制分布中,并介绍共轭先验(conjugacy prior)

贝塔分布是作为先验概率分布被引入的,它由两个超参数 \(a, b\) 控制。

\(Beta(\mu|a,b)=\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\mu^{a-1}(1-\mu)^{b-1}\)

\(\Gamma(x)\equiv \int_{0}^{\infty}u^{x-1}e^{-u}du\)

其中的系数保证了贝塔分布的归一性 \(\int_{0}^{\infty}Beta(\mu|a,b)d\mu=1\). 贝塔分布的期望与方差满足:

\(\mathbb{E}[\mu] = \frac{a}{a+b}\)
\(var[\mu] = \frac{ab}{(a+b)^{2}(a+b+1)}\)

由贝叶斯公式\(p(A|B)=\frac{p(B|A)p(A)}{p(B)}\)可以得到后验概率的比例关系(不考虑系数项且 \(l=N-m\)):

\(p(\mu|m,l,a,b)\propto\mu^{m}(1-\mu)^{l}\mu^{a-1}(1-\mu)^{b-1}=\mu^{m+a-1}(1-\mu)^{l+b-1}\)

很容易发现这个后验概率与先验概率一样是一个关于 \(\mu\) 的函数。我们可以将其视为另一个贝塔函数并对其归一,得到:

\(p(\mu|m,l,a,b)=\frac{\Gamma(m+a+l+b)}{\Gamma(m+a)\Gamma(l+b)}\mu^{m+a-1}(1-\mu)^{l+b-1}\)

这样先验可以生成后验并成为下一步学习的先验。

如果我们需要尽可能准确地估计下一次试验的结果,利用后验概率,我们需要计算:

\(p(x=1|\mathcal{D})=\int_{0}^{1}p(x=1|\mu)p(\mu|\mathcal{D})d\mu=\int_{0}^{1}\mu p(\mu|\mathcal{D})d\mu=\mathbb{E}[\mu|\mathcal{D}]\)

因为已经知道 \(p(\mu|\mathcal{D})=p(\mu|m,l,a,b)\) 且对于贝塔分 \(Beta(\mu|a,b)\) 布有 \(\mathbb{E}[\mu] = \frac{a}{a+b}\), 所以:

\(p(x=1|\mathcal{D})= \frac{m+a}{m+a+l+b}\)

这个结果在观测集合趋向无穷大时逼近最大似然估计结果 \(\mu_{ML}\). 而在数据集大小有限的情况下,估计结果要在最大似然估计与先验知识之间。同时我们可以发现,随着观测集合的不断增大,贝塔分布的参数 \(a\) 和 \(b\) 都在趋于无穷大,这时候方差 \(var[\mu]\) 就变得越来越小。直观上,随着观测的不断进行,后验概率的不确定性不断减少

2.2 Multinomial Variables 多项式变量

我们考虑互不相交的 \(K\) 个离散变量。定义一个 \(K\) 维向量 \(\mathbf{x}\) 并确保每次只有一个元素为1,其余为 0,定义 \(x_{k}=1\) 的概率为 \(\mu_{k}\), 有:

\(p(\mathbf{x}|\mathbf{{\mu}})=\displaystyle{\prod_{k=1}^{K}}\mu_{k}^{x_k}\)

满足 \(\sum_{k}\mu_{k}=1\) 且 \(\mu_{k}\ge 0\). 同时也易得 \(\mathbb{E}[\mathbf{x}|\mathbf{\mu}]=\mathbf{\mu}\)

考虑一个数据集合 \(\mathbf{D}\) 关于 \(N\) 个 \(K\) 维观测变量 \(x_{1}, x_{2}, ..., x_{N}\), 可以得到其似然函数为:

\(P(\mathbf{D}|\mu)=\prod_{k=1}^{K} \mu_{k}^{(\sum_{n}x_{nk})}=\prod_{k=1}^{K} \mu_{k}^{m_{k}}\)

其中 \(m_{k}\) 便是观测到的 \(x_{k}=1\) 的次数。

我们通过对 \(\ln{P(\mathbf{D}|\mu)}\) 相对于 \(\mu_{k}\) 求极值来得到多项式变量的最大似然解。注意这里我们要引入拉格朗日乘子,因为要满足另一个附加条件 \(\sum_{k=1}^{K}\mu_{k}=1\), 我们求该式的最大值:

\(\sum_{k=1}^{K}m_{k}\ln{\mu_{k}}+\lambda\big(\sum_{k=1}^{K}\mu_{k}- 1 \big)\)

解得:

\(\mu_{k}=-\frac{m_{k}}{\lambda}\)

又因为 \(\sum_{k=1}^{K}\mu_{k}=1\) 故最大似然解为:

\(\mu_{k}^{ML}=-\frac{m_{k}}{N}\)

与二项分布类似,我们可以得到关于 \(m\) 的联合分布即多项式分布:

\(Mult(m_{1}, m_{2}, ..., m_{k}|\mu, N)=\binom{N}{m_{1}m_{2}...m_{k}}\prod_{k=1}^{K} \mu_{k}^{m_{k}}\)

注意满足 \(\sum_{k=1}^{K}m_{k}=N\)

Dirichlet 分布

接下来我们开始研究关于多项式分布的先验分布:Dirichlet 分布。根据之前的多项式分布,我们可以很容易找到一个与多项式分布成比例关系且由超参数向量 \(\mathbb{\alpha}\) 控制的先验分布形式:

\(p(\mathbb{\mu}|\mathbb{\alpha})\propto\prod_{k=1}^{K}\mu_{k}^{\alpha_k-1}\)

注意所有 \(K\) 维度 \(\mu_{k}\) 构成了一个 \(K-1\) 维的单形状因为它们同时满足 \(0\le \mu \le 1\) 和 \(\sum_{k}\mu_{k}=1\). 例如在 \(K=3\) 时 表现了三维空间内的一个二维空间:
Pattern Recognition And Machine Learning (模式识别与机器学习) 笔记 (1)
加上归一项后,Dirichlet 分布为:

\(Dir(\mathbb{\mu}|\mathbb{\alpha})=\frac{\Gamma(\alpha_{0})}{\Gamma(\alpha_{1})...\Gamma(\alpha_{k})}\prod_{k=1}^{K}\mu_{k}^{\alpha_k-1}\)

其中 \(\alpha_{0}=\sum_{k=1}^{K}\alpha_{k}\)。 在三维情况下,超参数对分布的影响可以参考:
Pattern Recognition And Machine Learning (模式识别与机器学习) 笔记 (1)

高斯分布

我们定义一维高斯分布为:

\(\mathcal{N}(x|\mu,\sigma^{2})=\frac{1}{(2\pi\sigma^{2})^{1/2}}\exp\bigg\{-\frac{1}{2\sigma^{2}(x^\mu)^{2}}\bigg\}\)

进一步延伸到 \(D\) 维高斯分布:

\(\mathcal{N}(\mathbf{x} |\mathbf{\mu},\mathbf{\Sigma})=\frac{1}{(2\pi)^{D/2}(|\mathbf{\Sigma}|)^{1/2}}\exp\bigg\{-\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu})\bigg\}\)

其中 \(\mathbf{\mu}\)是一个 \(D\) 维均值向量。\(\mathbf{\Sigma}\) 是一个 \(D\times D\) 协方差矩阵。\(|\mathbf{\Sigma}|\) 表示 \(\mathbf{\Sigma}\) 的行列式。

中心极限定理: 大量相互独立的随机变量,其均值的分布以正态分布为极限

接下来我们要开始学习高斯分布的一些重要的性质, 注意这些是后续章节的基础

几何形式

我们首先关注高斯分布的几何形式,在(多维)高斯分布中,\(\mathbf{x}\) 和 \(\mathbf{\mu}\) 之间的马氏距离 (Mahalanobis distance) 定义为:

\(\Delta^{2} =(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu})\)

当 \(\mathbf{\Sigma}\) 是单位矩阵时(它同时也必须是一个对称矩阵),马氏距离自动降为欧几里得距离(也就是各个维度之间不相关)。

我们找到矩阵 \(\mathbf{\Sigma}\) 的特征向量方程:

\(\mathbf{\Sigma}u_{i}=\lambda_{i}u_{i}\)

因为特征向量满足 \(u_{i}^{T}u_{j}=I_{ij}\) 其中仅当 \(i=j\) 时 \(I_{ij}=1\) 其余为 0.

这样我们可以用特征向量来表达协方差矩阵:

\(\mathbf{\Sigma}=\sum_{i=1}^{D}\lambda_{i}u_{i}^{T}u_{i}\)
\(\mathbf{\Sigma}^{-1}=\sum_{i=1}^{D}\frac{1}{\lambda_{i}}u_{i}^{T}u_{i}\)

整理得:

\(\Delta^{2}=\sum_{i=1}^{D}\frac{y_{i}^{2}}{\lambda_{i}}\)
\(y_{i}=u_{i}^{T}(\mathbf{x}-\mathbf{\mu})\)
\(\mathbf{y}=\mathbf{U}(\mathbf{x}-\mathbf{\mu})\)

\(\mathbf{U}\) 是一个正交矩阵满足 \(\mathbf{U}^{T}\mathbf{U}=\mathbf{I}\)

Pattern Recognition And Machine Learning (模式识别与机器学习) 笔记 (1)
举一个二维的例子,当所有特征值为正的时候,高斯分布表示了一个以 \(\mathbf{\mu}\) 为圆心,沿着 \(u_{1}\) 和 \(u_{2}\) 两个坐标轴的椭圆。其在两个坐标轴上的比例系数分别为 \(\lambda_{1}^{1/2}\) 和 \(\lambda_{2}^{1/2}\).

显然对于所有的高斯分布,协方差矩阵的特征值都必须是严格的正数。(正定矩阵) 第12章我们还会介绍半正定协方差矩阵下的高斯分布。

统一变换形式

我们获得了一个以 \(y_{1}\) 和 \(y_{2}\) 为坐标的椭圆,那么如何变换它回 x 坐标呢?

从前面的式子 \(y_{i}=u_{i}^{T}(\mathbf{x}-\mathbf{\mu})\) 我们可以容易得到一个从 \(\mathbf{x}\) 到 \(\mathbf{y}\) 的雅克比矩阵 \(J\), 其每一个元素定义为:

\(J_{ij}=\frac{\partial{x_{i}}}{\partial{y_{j}}}=U_{ji}\)

根据矩阵 \(U\) 的正交性,我们可以得到:

\(|J|^{2}=|U^{T}|^{2}=|U^{T}||U|=|U^{T}U|=|I|=1\).

协方差矩阵的行列式也可以写成相应的特征值连乘:

\(|\mathbf{\Sigma}|^{1/2}=\prod_{j=1}^{D}\lambda_{j}^{1/2}\).

于是乎,在 y 的坐标轴系统中,高斯分布被表达为:

\(p(\mathbf{y})=\prod_{j=1}^{D}\frac{1}{(2\pi\lambda_{j})^{1/2}}\exp{\bigg\{-\frac{y_{j}^{2}}{2\lambda_{j}}\bigg\}}\)

我们可以看到原高斯分布被转化到了一个新的坐标系中。这时候高斯分布的期望可以表示为:

\(\mathbb{E}[\mathbf{x}]=\frac{1}{(2\pi)^{D/2}}\frac{1}{|\mathbf{\Sigma}|^{1/2}}\int\exp\bigg\{ -\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu})\bigg\}\mathbf{x}\mathrm{d}\mathbf{x}\)

\(\mathbb{E}[\mathbf{x}]=\frac{1}{(2\pi)^{D/2}}\frac{1}{|\mathbf{\Sigma}|^{1/2}}\int\exp\bigg\{ -\frac{1}{2}\mathbf{z}^{T}\mathbf{\Sigma}^{-1}\mathbf{z}\bigg\}(\mathbf{z}+\mathbf{\mu})\mathrm{d}\mathbf{z}\)

注意指数项目关于 \(\mathbf{z}\) 是一个奇函数,所以积分的结果为\(\mathbb{E}[\mathbf{x}]=\mathbf{\mu}\).

接着我们考虑二阶期望:

\(\mathbb{E}[\mathbf{x}\mathbf{x}^{T}]=\frac{1}{(2\pi)^{D/2}}\frac{1}{|\mathbf{\Sigma}|^{1/2}}\int\exp\bigg\{ -\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu})\bigg\}\mathbf{x}\mathbf{x}……{T}\mathrm{d}\mathbf{x}=\frac{1}{(2\pi)^{D/2}}\frac{1}{|\mathbf{\Sigma}|^{1/2}}\int\exp\bigg\{ -\frac{1}{2}\mathbf{z}^{T}\mathbf{\Sigma}^{-1}\mathbf{z}\bigg\}(\mathbf{z}+\mathbf{\mu})(\mathbf{z}+\mathbf{\mu})^{T}\mathrm{d}\mathbf{z}\)

对于积分项目 \(\mathbf{\mu}\mathbf{z}^{T}\) 和 \(\mathbf{z}\mathbf{\mu}^{T}\) 趋于0,\(\mathbf{\mu}\mathbf{\mu}^{T}\) 是常数项。我们只用考虑 \(\mathbf{z}\mathbf{z}^{T}\). 再一次,我们借助特征值方程,令:

\(\mathbf{z}=\sum_{j=1}^{D}y_{j}\mathbf{u}_{j}\)
\(y_{j}=\mathbf{u}_{j}^{T}\mathbf{z}\)

可以得到:

\(\frac{1}{(2\pi)^{D/2}}\frac{1}{|\mathbf{\Sigma}|^{1/2}}\int\exp\bigg\{ -\frac{1}{2}\mathbf{z}^{T}\mathbf{\Sigma}^{-1}\mathbf{z}\bigg\}\mathbf{z}\mathbf{z}^{T}\mathrm{d}\mathbf{z}=\frac{1}{(2\pi)^{D/2}}\frac{1}{|\mathbf{\Sigma}|^{1/2}}\sum_{i=1}^{D}\sum_{j=1}^{D}\mathbf{u_i}\mathbf{u_j}^{T}\int\exp\bigg\{-\sum_{k=1}^{D}\frac{y_{k}^2}{2\lambda_{k}}\bigg\}y_{i}y_{j}\mathrm{d}\mathbf{y}=\sum_{i=1}^{D}\mathbf{u}_{i}\mathbf{u}_{i}^{T}\lambda_{i}=\mathbf{\Sigma}\)

故我们得到 \(\mathbb{E}[\mathbf{x}\mathbf{x}^{T}]=\mathbf{\mu}\mathbf{\mu}^{T}+\mathbf{\Sigma}\)
可以验证,反向逆推协方差矩阵可以得到 \(cov[\mathbf{x}] = \mathbb{E}\big[(\mathbf{x}-\mathbb{E}[\mathbf{x}])(\mathbf{x}-\mathbb{E}[\mathbf{x}])^{T}\big]=\mathbf{\Sigma}\).

尽管高斯分布被广泛使用,它仍然有着许多限制。首先是分布中的参数数量过大,考虑到一个对称的协方差矩阵将有 \(D(D+1)/2\) 个互不相关的参数,再算上 \(\mathbf{\mu}\) 里另外 \(D\) 个不相关的参数,一共将有 \(D(D+3)/2\) 个参数。这个关于 D 的二次增长,将使得计算变得具有挑战性。虽然我们可以通过限制协方差矩阵为对角阵甚至是单位矩阵与某数的乘积,但这样会降低高斯分布的*性,限制了其获取数据中有用信息的能力。

另一个限制是高斯分布本质上是一个单峰分布。天然的不能对多峰分布进行好的估计。且高斯分布在参数多的情况下将变得非常敏感。这些问题在后续的章节中都会一定程度上被解决。

条件高斯分布

多维高斯分布的另外一个非常有用的特性是,对于联合分布是高斯分布的概率分布,他的条件分布同样是高斯分布.同时他的边缘概率分布也是高斯分布。

首先我们考虑条件概率分布,假设 \(\mathbf{x}\) 是D维高斯分布 \(\mathcal{N}(\mathbf{x}|\mathbf{\mu},\mathbf{\Sigma})\), 我们将 \(\mathbf{x}\) 分成两个部分 \(\mathbf{x}_{a}\) 和 \(\mathbf{x}_{b}\),其中 \(\mathbf{x}_{a}\) 占据了 M 维,\(\mathbf{x}_{b}\) 是 \(D-M\) 维。区分如下:

\(\left( \begin{array}{ccc}
\mathbf{x}_{a}\\
\mathbf{x}_{b}
\end{array} \right)\) 和相应的均值与协方差矩阵 \(\left( \begin{array}{ccc}
\mathbf{\mu}_{a}\\
\mathbf{\mu}_{b}
\end{array} \right)\)

\(\left( \begin{array}{ccc}
\mathbf{\Sigma}_{aa} & \mathbf{\Sigma}_{ab}\\
\mathbf{\Sigma}_{ba} &
\mathbf{\Sigma}_{bb}\end{array} \right)\)

因为 \(\mathbf{\Sigma}\) 是对称矩阵,所以有 \(\mathbf{\Sigma}_{ba}=\mathbf{\Sigma}_{ab}^{T}\)

为了方便计算,我们定义准度矩阵:

\(\mathbf{\Lambda}\equiv\mathbf{\Sigma}^{-1}\)

同样满足:

\(\mathbf{\Lambda}=\left( \begin{array}{ccc}
\mathbf{\Lambda}_{aa} & \mathbf{\Lambda}_{ab}\\
\mathbf{\Lambda}_{ba} &
\mathbf{\Lambda}_{bb}\end{array} \right)\)

但是这里要注意 \(\mathbf{\Lambda}_{aa} \neq \mathbf{\Sigma}_{aa}^{-1}\)

现在我们已知了一个高斯分布 \(\mathcal{N}(\mathbf{x}|\mathbf{\mu})\),并且可以将其分为 a, b 两部分。 求其条件概率分布就是求 \(p(\mathbf{x}_{a}|\mathbf{x}_{b})\) 从联合分布 \(p(\mathbf{x})=p(\mathbf{x}_{a}, \mathbf{x}_{b})\). 我们首先开始考虑高斯分布中的平方项:

\(-\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Lambda}(\mathbf{x}-\mathbf{\mu})=-\frac{1}{2}(\mathbf{x}_{a}-\mathbf{\mu}_{a})^{T}\mathbf{\Lambda}_{aa}(\mathbf{x}_{a}-\mathbf{\mu}_{a})-\frac{1}{2}(\mathbf{x}_{a}-\mathbf{\mu}_{a})^{T}\mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b})-\frac{1}{2}(\mathbf{x}_{b}-\mathbf{\mu}_{b})^{T}\mathbf{\Lambda}_{ba}(\mathbf{x}_{a}-\mathbf{\mu}_{a})-\frac{1}{2}(\mathbf{x}_{b}-\mathbf{\mu}_{b})^{T}\mathbf{\Lambda}_{bb}(\mathbf{x}_{b}-\mathbf{\mu})_{n}\)

现在我们要试图从上面的式子中找出 \(p(\mathbf{x}_{a}|\mathbf{x}_{b})\) 的均值与协方差。首先我们可以将一个不同的高斯分布 \(\mathcal{N}(\mathbf{x}|\mathbf{\mu})\) 写作:

\(-\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu})=-\frac{1}{2}\mathbf{x}^{T}\mathbf{\Sigma}^{-1}\mathbf{x} + \mathbf{x}^{T}\mathbf{\Sigma}^{-1}\mathbf{\mu} + const\)

其中 \(const\) 是与 \(\mathbf{x}\) 无关的项目。我们根据这个式子就可以方便的从联合分布中找到我们需要的成分了。

这时候我们在对比那个拆开了的高斯分布,可以发现对应的二次项目是:

\(-\frac{1}{2}\mathbf{x}_{a}^{T}\mathbf{\Lambda}_{aa}\mathbf{x}_{a}\)

显然我们得到了相对的协方差矩阵:

\(\mathbf{\Sigma}_{a|b}=\mathbf{\Lambda}_{aa}\)

接下来我们检查一次项目 \(\mathbf{x}_{a}^{T}\{\mathbf{\Lambda}_{aa}\mathbf{\mu}_{a}-\mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b})\}\)

变形后得到:

\(\mathbf{\mu}_{a|b}=\mathbf{\Sigma}_{a|b}\{\mathbf{\Lambda}_{aa}\mathbf{\mu}_{a}-\mathbf{\Lambda}_{ab}(\mathbf{x}_{b}\mathbf{\mu}_{b})\}=\mathbf{\mu}_{a}-\mathbf{\Lambda}_{aa}^{-1}\mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b})\)

使用舒尔补(Schur complement) 我们可以得到表达式:

\(\left( \begin{array}{ccc}
\mathbf{\Sigma}_{aa} & \mathbf{\Sigma}_{ab}\\
\mathbf{\Sigma}_{ba} &
\mathbf{\Sigma}_{bb}\end{array} \right)^{-1}=\left( \begin{array}{ccc}
\mathbf{\Lambda}_{aa} & \mathbf{\Lambda}_{ab}\\
\mathbf{\Lambda}_{ba} &
\mathbf{\Lambda}_{bb}\end{array} \right)\)

\(\mathbf{\Lambda}_{aa}=(\mathbf{\Sigma}_{aa}-\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}\mathbf{\Sigma}_{ba})^{-1}\)
\(\mathbf{\Lambda}_{ab}=-(\mathbf{\Sigma}_{aa}-\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}\mathbf{\Sigma}_{ba})^{-1}\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}\)

进一步有:

\(\mathbf{\mu}_{a|b}=\mathbf{\mu}_{a}-\mathbf{\Lambda}_{aa}^{-1}\mathbf{\Lambda}_{ab}(\mathbf{x}_{b}-\mathbf{\mu}_{b})=\mathbf{\mu}_{a}+\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}(\mathbf{x}_{b}-\mathbf{\mu}_{b})\)
\(\mathbf{\Sigma}_{a|b}=\mathbf{\Lambda}_{aa}=\mathbf{\Sigma}_{aa}-\mathbf{\Sigma}_{ab}\mathbf{\Sigma}_{bb}^{-1}\mathbf{\Sigma}_{ba}\)

注意新的条件分布的均值是关于 \(\mathbf{x}_{b}\) 的线性方程,而方差与 \(\mathbf{x}_{a}\) 不相关。

边缘高斯分布

接着我们考虑边缘分布。即已知 \(p(\mathbf{x}_{a},\mathbf{x}_b)\), 求 \(p(\mathbf{x}_{a})\):

\(p(\mathbf{x}_{a})=\int p(\mathbf{x}_{a},\mathbf{x}_b)\mathrm{d}\mathbf{x}_b\)

边缘分布同样也是一个高斯分布。我们这一节要求边缘分布的均值与协方差矩阵。我们要从联合分布的式子中找到关于 \(\mathbf{x}_b\) 的依赖项:

\(-\frac{1}{2}\mathbf{x}_b^{T}\mathbf{\Lambda}_{bb}\mathbf{x}_b + \mathbf{x}_b^{T}\mathbf{m}=-\frac{1}{2}(\mathbf{x}_b-\mathbf{\Lambda}_{bb}^{-1}\mathbf{m})^{T}\mathbf{\Lambda}_{bb}(\mathbf{x}_b-\mathbf{\Lambda}_{bb}^{-1}\mathbf{m})+\frac{1}{2}\mathbf{m}^{T}\mathbf{\Lambda}_{bb}^{-1}\mathbf{m}\)
\(\mathbf{m}=\mathbf{\Lambda}_{bb}\mathbf{\mu}_{b}-\mathbf{\Lambda}_{ba}(\mathbf{x}_{a}-\mathbf{\mu}_{a})\)

依赖项的前半部分是关于 \(\mathbf{x}_{b}\) 的二次函数,后半部分与 \(\mathbf{x}_{b}\) 无关但与 \(\mathbf{x}_{a}\) 有关。这样对 \(\mathbf{x}_{b}\) 的积分就转化为:

\(\int\exp\bigg\{-\frac{1}{2}(\mathbf{x}_b-\mathbf{\Lambda}_{bb}^{-1}\mathbf{m})^{T}\mathbf{\Lambda}_{bb}(\mathbf{x}_b-\mathbf{\Lambda}_{bb}^{-1}\mathbf{m})\bigg\}\mathrm{d}\mathbf{x}_b\)

该式是一个关于未标准换的高斯分布的积分,显然其结果将其标准化系数相同,这样才能归一。又已知标准化系数与均值无关,只与协方差矩阵有关。故积分后的项目与 \(\mathbf{x}_{b}\) 无关。所以我们只需要关注与 \(\mathbf{x}_{a}\) 相关的项目即可与联合分布中原先仅依赖 \(\mathbf{x}_{a}\) 的项目:

\(\frac{1}{2}[\mathbf{\Lambda}_{bb}\mathbf{\mu}_{b}-\mathbf{\Lambda}_{ba}(\mathbf{x}_{a}-\mathbf{\mu}_{a})]^{T}\mathbf{\Lambda}_{bb}^{-1}[\mathbf{\Lambda}_{bb}\mathbf{\mu}_{b}-\mathbf{\Lambda}_{ba}(\mathbf{x}_{a}-\mathbf{\mu}_{a})]-\frac{1}{2}\mathbf{x}_{a}^{T}\mathbf{\Lambda}_{aa}\mathbf{x}_{a}+\mathbf{x}_{a}^{T}(\mathbf{\Lambda}_{aa}\mathbf{\mu}_{a}+\mathbf{\Lambda}_{ab}\mathbf{\mu}_{b}) + const\)

转化为:

\(-\frac{1}{2}\mathbf{x}_{a}^{T}(\mathbf{\Lambda}_{aa}-\mathbf{\Lambda}_{ab}\mathbf{\Lambda}_{bb}^{-1}\mathbf{\Lambda}_{ba})\mathbf{x}_{a}+\mathbf{x}_{a}^{T}(\mathbf{\Lambda}_{aa}-\mathbf{\Lambda}_{ab}\mathbf{\Lambda}_{bb}^{-1}\mathbf{\Lambda}_{ba}){-1}\mathbf{\mu}_{a} + const\)

显然:

\(\mathbf{\Sigma}_{a}=(\mathbf{\Lambda}_{aa}-\mathbf{\Lambda}_{ab}\mathbf{\Lambda}_{bb}^{-1}\mathbf{\Lambda}_{ba})^{-1}=\mathbf{\Sigma}_{aa}\)
\(\mathbf{\Sigma}_{a}(\mathbf{\Lambda}_{aa}-\mathbf{\Lambda}_{ab}\mathbf{\Lambda}_{bb}^{-1}\mathbf{\Lambda}_{ba})\mathbf{\mu}_{a}=\mathbf{\mu}_{a}\)

\(\mathbf{\mu}_{a}\) 还是原先的。

所以有边缘分布满足:

\(\mathbb{E}[\mathbf{x}_{a}]=\mathbf{\mu}_{a}\)
\(cov[\mathbf{x}_{a}]=\mathbf{\Sigma}_{aa}\)

高斯分布的贝叶斯理论

前面我们分析了在给定一个联合分布的情况下,如何求它的条件分布于边缘分布。现在我们应用贝叶斯理论,在给定边缘分布 \(p(\mathbf{x})\) 和条件分布 \(p(\mathbf{y}| \mathbf{x})\) 的情况下,求另外一组边缘分布 \(p(\mathbf{y})\) 和条件概率分布 \(p(\mathbf{x}| \mathbf{y})\).

我们已知:

\(p(\mathbf{x})=\mathcal{N}(\mathbf{x}|\mathbf{\mu}, \mathbf{\Lambda}^{-1})\)
\(p(\mathbf{y}| \mathbf{x})=\mathcal{N}(\mathbf{y}|\mathbf{A}\mathbf{x}+\mathbf{b}, \mathbf{L}^{-1})\)

首先我们用 \(\mathbf{z}\) 来表示联合分布:

\(\mathbf{z}=\left( \begin{array}{ccc}
\mathbf{x}\\
\mathbf{y}
\end{array} \right)\)

因为联合分布满足:

\(p(\mathbf{y})= p(\mathbf{x})p(\mathbf{y}|\mathbf{x})\)

可以得到

\(\ln p(\mathbf{z})=\ln p(\mathbf{x}) + \ln p(\mathbf{y}|\mathbf{x})=-\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Lambda}(\mathbf{x}-\mathbf{\mu}) -\frac{1}{2}(\mathbf{y}-\mathbf{A}\mathbf{x}-\mathbf{b})^{T}\mathbf{L}(\mathbf{y}-\mathbf{A}\mathbf{x}-\mathbf{b})+ const\)

其中 const 表示与 \(\mathbf{x}\) 和 \(\mathbf{y}\) 无关的项。我们只考虑上式中的二次项目,可以得到:

\(-\frac{1}{2}\mathbf{x}^{T}(\mathbf{\Lambda}+\mathbf{A}^{T}\mathbf{L}\mathbf{A})\mathbf{x}-\frac{1}{2}\mathbf{y}^{T}\mathbf{L}\mathbf{y}+\frac{1}{2}\mathbf{y}^{T}\mathbf{L}\mathbf{A}\mathbf{x} + \frac{1}{2}\mathbf{x}^{T}\mathbf{A}^{T}\mathbf{L}\mathbf{y}\)

\(=-\frac{1}{2}\left( \begin{array}{ccc}
\mathbf{x}\\
\mathbf{y}
\end{array} \right)^{T}
\left( \begin{array}{ccc}
\mathbf{\Lambda}+\mathbf{A}^{T}\mathbf{L}\mathbf{A}& -\mathbf{A}^{T}\mathbf{L}\\
-\mathbf{L}\mathbf{A} &
\mathbf{L}\end{array} \right)\left( \begin{array}{ccc}
\mathbf{x}\\
\mathbf{y}
\end{array} \right)=-\frac{1}{2}\mathbf{z}^{T}\mathbf{R}\mathbf{z}\)

显然我们得到了关于 \(\mathbf{z}\) 的准度矩阵:

\(\mathbf{R}=\left( \begin{array}{ccc}
\mathbf{\Lambda}+\mathbf{A}^{T}\mathbf{L}\mathbf{A}& -\mathbf{A}^{T}\mathbf{L}\\
-\mathbf{L}\mathbf{A} &
\mathbf{L}\end{array} \right)\)

相对应的协方差矩阵为:

\(cov[\mathbf{z}]=\left( \begin{array}{ccc}
\mathbf{\Lambda}^{-1}& \mathbf{\Lambda}^{-1}\mathbf{A}^{T}\\
\mathbf{A}\mathbf{\Lambda}^{-1} &
\mathbf{L}^{-1} + \mathbf{A}\mathbf{\Lambda}^{-1}\mathbf{A}^{T}\end{array} \right)\)

使用同样的方法关注一次项目,就可以找到关于\(>\mathbf{z}\) 的期望:

\(\mathbf{x}^{T}\mathbf{\Lambda}\mathbf{\mu}-\mathbf{x}^{T}\mathbf{A}\mathbf{L}\mathbf{b}+\mathbf{y}^{T}\mathbf{L}\mathbf{b}=\left( \begin{array}{ccc}
\mathbf{x}\\
\mathbf{y}
\end{array} \right)^{T}\left( \begin{array}{ccc}
\mathbf{\Lambda}\mathbf{\mu}-\mathbf{A}^{T}\mathbf{L}\mathbf{b}\\
\mathbf{L}\mathbf{b}
\end{array} \right)\)
因为:
\(-\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{T}\mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu})=-\frac{1}{2}\mathbf{x}^{T}\mathbf{\Sigma}^{-1}\mathbf{x} + \mathbf{x}^{T}\mathbf{\Sigma}^{-1}\mathbf{\mu} + const\)

所以有:

\(\mathbb{E}(\mathbf{z})=\mathbf{R}^{-1}\left( \begin{array}{ccc}
\mathbf{\Lambda}\mathbf{\mu}-\mathbf{A}^{T}\mathbf{L}\mathbf{b}\\
\mathbf{L}\mathbf{b}
\end{array} \right)=\left( \begin{array}{ccc}
\mathbf{\mu}\\
\mathbf{A}\mathbf{\mu}+\mathbf{b}
\end{array} \right)\)

这时候我们就有了联合分布,就可以方便的进行边缘分布和条件分布了:

\(\mathbb{E}(\mathbf{y})=\mathbf{A}\mathbf{\mu}+\mathbf{b}\)
\(cov[\mathbf{y}]=\mathbf{L}^{-1}+\mathbf{A}\mathbf{\Lambda}^{-1}\mathbf{A}^{T}\)
\(\mathbb{E}(\mathbf{x}|\mathbf{y})=(\mathbf{\Lambda+\mathbf{A}^{T}\mathbf{L}\mathbf{A}})^{-1}\{\mathbf{A}^{T}\mathbf{L}(\mathbf{y}-\mathbf{b})+\mathbf{\Lambda}\mathbf{\mu}\}\)
\(cov[\mathbf{x}|\mathbf{y}]=(\mathbf{\Lambda+\mathbf{A}^{T}\mathbf{L}\mathbf{A}})^{-1}\)

高斯分布的最大似然

待续

上一篇:BZOJ1015 并查集


下一篇:ZeroMQ接口函数之 :zmq_msg_set - 设置消息的性质