机器学习笔记之马尔可夫链蒙特卡洛方法(一)蒙特卡洛方法介绍

引言

从本节开始,将介绍马尔可夫链蒙特卡洛方法(Markov Chain Monte Carlo,MCMC)

回顾:近似推断

推断(Inference)的本质是基于给定样本数据 X \mathcal X X的条件下,设定概率模型 P ( X ) P(\mathcal X) P(X)中包含隐变量 Z \mathcal Z Z,并给予 Z \mathcal Z Z一些先验信息 P ( Z ) P(\mathcal Z) P(Z),基于先验信息 P ( Z ) P(\mathcal Z) P(Z),通过贝叶斯定理求解出样本数据 X \mathcal X X条件下,隐变量 Z \mathcal Z Z后验概率分布 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X) P(ZX)
P ( Z ∣ X ) = P ( X ∣ Z ) ⋅ P ( Z ) P ( X ) P(\mathcal Z \mid \mathcal X) = \frac{P(\mathcal X \mid \mathcal Z) \cdot P(\mathcal Z)}{P(\mathcal X)} P(ZX)=P(X)P(XZ)P(Z)
基于真实情况的原因, P ( X ) P(\mathcal X) P(X)在求解过程中出现积分难的问题(例如隐变量 Z \mathcal Z Z维度过高):
P ( X ) = ∫ z 1 ∫ z 2 ⋯ ∫ z K P ( X , Z ) d z 1 , z 2 , ⋯   , z K P(\mathcal X) = \int_{z_1} \int_{z_2}\cdots \int_{z_{\mathcal K}} P(\mathcal X,\mathcal Z) dz_1,z_2,\cdots,z_{\mathcal K} P(X)=z1z2zKP(X,Z)dz1,z2,,zK
至此,我们很难通过贝叶斯定理求出 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X) P(ZX)的精确解。因此,通过近似推断(Approximate Inference)来求解 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X) P(ZX)的近似解

一般情况下,近似推断主要分为两种方法:

  • 确定性近似:其主要代表方法有变分推断(Variational Inference,VI)
  • 随机近似:其主要代表方法有 马尔可夫链蒙特卡洛方法(Markov Chain Monte Carlo,MCMC)。

蒙特卡洛方法

一开始需要注意的问题:蒙特卡洛方法马尔可夫链蒙特卡洛方法 两者之间虽然存在关联,但本质上是两个概念,不要将其混为一谈。

关于蒙特卡洛方法(Monte Carlo Method),我们在蒙特卡洛方法求解强化学习任务中介绍过这种方法。这种方法最开始是为了求解积分问题

示例1:在某二维平面中存在一个不规则区域,目标是求解不规则区域的面积。具体图像表示如下:
请添加图片描述
基于该图形的公式并不规范,因此很难通过积分方式求解图形面积
现在有一种方法:

  • 向上述 10 × 10 10 \times 10 10×10平面区域内随机投掷质点,并记录质点落在图形区域内的次数
  • 通过计算 质点落在图形内的次数与总投掷次数的比值,估计图形区域占整个平面区域的比例
  • 平面区域面积乘以该比例,即可近似得到不规则区域的面积

蒙特卡洛方法的核心是大数定律——大量重复试验中所产生样本的算数平均值数学期望收敛的规律

基于上面描述,我们可以对蒙特卡洛方法有一个简单的认识:

  • 可以使用蒙特卡洛方法求解期望
  • 求解期望的方式是基于采样的随机近似求解,而不是精确求解

推断过程中,通常使用 蒙特卡洛方法 近似求解后验分布 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X) P(ZX)的相关期望信息:
E Z ∣ X [ f ( Z ) ] = ∫ Z P ( Z ∣ X ) ⋅ f ( Z ) d Z ( Z → C o n t i n u o u s ) = ∑ Z P ( Z ∣ X ) ⋅ f ( Z ) ( Z → D i s c r e t e ) \begin{aligned} \mathbb E_{\mathcal Z \mid \mathcal X} [f(\mathcal Z)] & = \int_{\mathcal Z} P(\mathcal Z \mid \mathcal X) \cdot f(\mathcal Z) d\mathcal Z \quad (\mathcal Z \to Continuous) \\ & = \sum_{\mathcal Z} P(\mathcal Z \mid \mathcal X) \cdot f(\mathcal Z) \quad (\mathcal Z \to Discrete) \end{aligned} EZX[f(Z)]=ZP(ZX)f(Z)dZ(ZContinuous)=ZP(ZX)f(Z)(ZDiscrete)
上述积分求解的复杂程度取决于 隐变量 Z \mathcal Z Z或者模型参数 的维度,如果 Z \mathcal Z Z或者模型参数维度较高,极难求解;因此,通过蒙特卡洛方法通过采样方式近似求解期望:

  • 假设从分布 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X) P(ZX)采样出 K \mathcal K K个样本点
    z ( 1 ) , z ( 2 ) , ⋯   , z ( K ) ∼ P ( Z ∣ X ) z^{(1)},z^{(2)},\cdots,z^{(\mathcal K)} \sim P(\mathcal Z \mid \mathcal X) z(1),z(2),,z(K)P(ZX)
  • 那么期望结果 E Z ∣ X [ f ( Z ) ] \mathbb E_{\mathcal Z \mid \mathcal X} [f(\mathcal Z)] EZX
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静的喝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值