贝叶斯推断 · 概率论、数理统计与信息论 03

关键字多元概率分布多项分布多元正态分布极大似然估计MLE贝叶斯公式贝叶斯推断参数学习共轭分布最大后验近似MAP

摘要 —— 本文首先介绍多元概率分布,然后给出了笔者对贝叶斯推断的理解。

本文首先引入多元概率分布,然后重点介绍了与极大似然估计(MLE)和贝叶斯推断(Bayesian Inference)相关的内容。

1 多元概率分布

多元概率分布就是考察 一组随机变量同时取值 的情况。下面谈一谈典型的多元概率分布:多项分布和多元正态分布。

1.1 多项分布

多项分布就是二项分布推广到多元的情形。设一个袋子中很多球,一共有 $K$ 种颜色。从袋子中有放回地取出 $n$ 个球(保证每次取样服从独立同分布),令 $X = (X_1, ..., X_K)$,其中 $X_k$ 表示颜色为 $k$ 的球的个数,则 $X$ 服从多项分布:

$$ P \Big(X = (x_1, ..., x_k) \mid \mu_1, ..., \mu_k \Big) = \frac{n!}{x_1! ... x_K!} \mu_1^{x_1} ... \mu_K^{x_K} $$

其中 $\mu_k$ 为每次抽取的球的颜色为 $k$ 的概率,显然 $\sum_{k=1}^K x_k = n$。$\frac{n!}{x_1! ... x_K!}$ 是因为要从 $n$ 个球的排列数中去除同一个颜色的球的重复的排列数。

Gamma 函数被定义为 $\Gamma (z) = \int_0^\infty \frac{t^{z-1}}{\exp (t)} dt$,时阶乘扩展到实数域的版本(可通过 $\Gamma (t+1) = (z + 1) \Gamma(t)$ 验证)。将 $\frac{n!}{x_1! ... x_K!}$ 替换为 Gamma 函数则有

$$ P \Big(X = (x_1, ..., x_k) \mid \mu_1, ..., \mu_k \Big) = \frac{\Gamma \Big(\sum_{k=1}^K (x_k + 1) \Big)}{\sum_{k=1}^K \Gamma (x_K + 1)} \mu_1^{x_1} ... \mu_K^{x_K} $$

1.2 多元正态分布

多元正态分布就是正态分布推广到多元的情形:

$$ P \Big(X = (x_1, ..., x_k) \mid \mu, \Sigma \Big) = \frac{1}{(2 \pi)^{\frac{K}{2}} |\Sigma|^{\frac{1}{2}}} \exp \bigg( -\frac{1}{2} (x - \mu)^\textrm{T} \Sigma^{-1} (x - \mu) \bigg) $$

其中 $\mu = (\mu_1, ..., \mu_K)$ 为各个随机变量的均值,$\Sigma$ 为协方差矩阵。$\Sigma$ 为作为对称阵是一定可以正交对角化的,故 $\Sigma^{-1}$ 必然存在。若 $\Sigma = \sigma^2 I$(各维随机变量相互独立且方差相同),则是各向同性多元正态分布。

2 极大似然估计与贝叶斯推断

2.1 贝叶斯公式

贝叶斯公式的形式如下:

$$ P (A \mid B) = P(A) \frac{P (B \mid A)}{ P (B)} $$

从极大似然估计(MLE)的角度来理解贝叶斯公式:$P(A)$ 是原本 $A$ 发生的概率(先验),$\frac{P(B|A)}{P(B)}$ 是新信息带来的调整(其中 $P(B|A)$ 是似然;$P(B)$ 是标准化项,让 $P(A│B)$ 仍在 $0$ 到 $1$ 之间),$P(A│B)$ 是调整后 $A$ 发生的概率(后验)。

在文章 基本概念 · 概率论、数理统计与信息论 01 章节 1.3 的最后,我给出了全概率公式:

$$ \Pr [A] = \sum_{n} \Pr[A \wedge B_n] = \sum_{n} \Pr [A \mid B_n] \Pr [B_n] $$

该公式还可以表达为

$$ \Pr [A] = \mathbb{E} [\Pr [A \mid N]] $$

此处 $N$ 是任意随机变量,该式在连续情况下也成立。同样地,该式可以理解为 $A$ 的先验概率等于 $A$ 的后验概率的事前期望值

2.2 极大似然估计

将某一事件发生的概率称为这个事件的参数,通过证据(已经发生了的观测数据),对该参数进行推断的过程就是似然,通过 “最大化证据发生的概率” 找到最有可能的参数,就是最大似然估计。为什么 “最大化证据发生的概率” 是合理的?这是因为我们朴素地认为: 一个合理的参数应该尽可能地让真实发生的事件(观测数据)的概率最大。

参数本身也可以看成是一个随机变量,对参数的估计叫做 参数学习 。许多机器学习算法都隶属于参数学习。在没有证据之前,假设参数服从某一个分布,我们将这个分布称为该参数的先验分布。经过观测数据的修正得到的新的分布,称之为该参数的后验分布。贝叶斯推断就是 “先验分布 $+$ 观测数据 $\to$ 后验分布” 这个过程。

人们为了简化贝叶斯推断过程,喜欢让参数的先验分布和后验分布是同一个分布(这个分布当然是手工构造出来的),该分布的系数经过观测数据的洗礼得到了修正。满足这样条件的先验分布和后验分布被称为共轭分布。例如,第 7 条提到的多项分布,其参数的共轭分布是 Dirichlet 分布:

$$ P \Big(X = (\mu_1, ..., \mu_k) \mid \alpha \Big) = \frac{\Gamma \Big(\sum_{k=1}^K \alpha_k \Big)}{\sum_{k=1}^K \Gamma (\alpha_k)} \mu_1^{\alpha_1} ... \mu_K^{\alpha_K} $$

可以发现,参数的共轭分布的参数 $\alpha$ 就是原分布的随机变量(向量)。

观测数据越多(证据越多),参数的分布就越集中,修正的效果就越好。这个结论可在 Höffding’s inequality 上观察到:

$$ \forall \epsilon \geq 0, \quad P \big(|\hat{\theta} - \theta| \geq \epsilon \big) \leq 2 \exp \big( -2 N \epsilon^2 \big) $$

该不等式可由切诺夫界得到。它常用于执行 Probably Approximate Correct(即 PAC Learning,用于计算满足给定条件的最少样本数)。

以抛硬币为例,不妨将正面落下的概率为 $\theta$,我们很自然地会认为 $\theta = 0.5$,这就是先验。先验通常是人们脑海中对一个事件发生的概率的固有印象。有了这个先验,我们不断地抛硬币获取观测数据,根据这些观测数据来修正 $\theta$。如果硬币没有造假,那么在观测数据量极为庞大的情况下,后验无限逼近 $0.5$。如果硬币造假了,正面落下的次数远多于反面,那么后验就会被修正到一个远小于 $0.5$ 的位置。以上这个例子中,参数的分布是连续分布(Beta 分布)。在观测数据足够多的情况下,再差的先验都可以被很好地修正,先验的存在感微乎其微。传统的统计学习算法强烈依赖于假设空间(先验)的选取,正是因为观测样本无法给出足够合理的修正,因而它们又被称为 “小样本学习”。

2.3 贝叶斯推断

贝叶斯推断包含三个步骤:


  1. 假设先验的分布;
  2. 执行极大似然估计;
  3. 执行最大后验近似。

接下来以二项分布为例,阐述贝叶斯推断的执行过程。

以抛硬币为例,设参数为 $\theta$ 表示正面落下的概率(硬币正面和反面分别用 Head 和 Tail 标记)。

先验

假设 $\theta$ 服从如下先验分布(我们称之为 Beta 分布):

$$ P (\theta) = \frac{\theta^{\beta_H - 1} (1 - \theta)^{\beta_T - 1}}{B(\beta_H, \beta_T)} \sim \textrm{Beta} (\theta | \beta_H, \beta_T) = \frac{\Gamma (\beta_H + \beta_T)}{\Gamma (\beta_H) \Gamma (\beta_T)} \theta^{\beta_H - 1} (1 - \theta)^{\beta_T - 1} $$

其中 $\beta_H$ 和 $\beta_T$ 是先验分布的参数。

似然

抛硬币数次,得到了一组观测数据 $D$(e.g. $\{H,T,H,H,T,...\}$),其中 Head 个数为 $\alpha_H$,Tail 个数为 $\alpha_T$。则可以得到似然

$$ P (D \mid \theta) = \theta^{\alpha_H} (1 - \theta)^{\alpha_T} $$

之所以是累乘是因为我们假设每次采样都服从独立同分布。将似然视为关于参数 $\theta$ 的函数,通过最大化似然,可以得到最优参数 $\hat{\theta}$:

$$ \hat{\theta} = \frac{\alpha_H}{\alpha_H + \alpha_T} $$

后验

根据贝叶斯公式,后验 $P (\theta \mid D)$ 满足

$$ P (\theta \mid D) \propto P(\theta) P (D \mid \theta) \sim \textrm{Beta} (\theta \mid \beta_H + \alpha_H, \beta_T + \alpha_T) $$

所以后验仍然服从 Beta 分布,只是 Beta 分布参数发生了变化。 因此先验分布和后验分布共轭。

此时对真实参数 $\theta^*$ 的计算应该是这样的:

$$ \theta^* = \mathbb{E} [\theta] = \int_0^1 P (\theta \mid D) \theta d \theta $$

这里参数 $\theta$ 的每个取值发生的概率选取的是后验概率。如果 $P (\theta \mid D)$ 的分布已知(本案例中是已知的,就是 Beta 分布),那么硬着头皮计算这个期望就完事了。但是如果 $P (\theta \mid D)$ 的分布未知,我们可以用 最大化后验 的方式去估计后验,即

$$ \theta^* \approx \operatorname{argmax}_\theta P (\theta \mid D) $$

这种估计方法就是最大后验近似(Maximum A Posteriori approximation,MAP)。对于本问题,可以验证,MAP 的结果是

$$ \operatorname{argmax}_\theta P (\theta \mid D) = \frac{\alpha_H + \beta_H - 1}{\alpha_T + \beta_T + \alpha_H + \beta_H - 2} $$

当观测数量 $N = \alpha_H + \alpha_T \to \infty$ 时,$\operatorname{argmax}_\theta P (\theta \mid D) \to \frac{\alpha_H}{\alpha_H + \alpha_T} = \hat{\theta} = \operatorname{argmax}_\theta P (D \mid \theta)$。这就是最大似然。这就验证了上文陈述过的结论: 当观测样本量足够庞大的时候,最大似然估计≈最大后验近似,先验的作用微乎其微。

最后

本文省略了一些不太重要的内容,想要获取完整内容,请阅读 需要熟练掌握的算法理论基础

转载申请

本作品采用 知识共享署名 4.0 国际许可协议 进行许可, 转载时请注明原文链接。您必须给出适当的署名,并标明是否对本文作了修改。

您也可以通过下方按钮直接分享本页面:


发表评论

登录以发表评论

最新评论


Designed & written by Hailiang Zhao.
hliangzhao.cn. Copyright © 2021 - 2022 | 浙ICP备2021026965号-1
Manage