第十三课.随机近似初步:蒙特卡洛方法


本篇内容与 第十课的蒙特卡洛方法与随机过程重复。

随机近似:蒙特卡洛

随机近似方法的核心是蒙特卡洛方法,以采样的方式实现随机近似,从而实现数值积分等目标。

例如要计算函数 f ( Z ) f(Z) f(Z)关于分布 p ( Z ∣ X ) p(Z|X) p(ZX)的期望,从期望的定义可知,期望的计算本质其实是计算积分:
E z ∣ x [ f ( z ) ] = ∫ z p ( z ∣ x ) f ( z ) d z E_{z|x}[f(z)]=\int_{z}p(z|x)f(z)dz Ezx[f(z)]=zp(zx)f(z)dz
这个积分的计算比较困难,而随机近似的方法核心即蒙特卡洛方法,依靠采样实现数值积分:

  • 首先从原始分布 p ( z ∣ x ) p(z|x) p(zx)中采样出 N N N个样本点:
    z ( 1 ) , z ( 2 ) , z ( 3 ) , . . . , z ( N ) ∼ p ( z ∣ x ) z^{(1)},z^{(2)},z^{(3)},...,z^{(N)}\sim p(z|x) z(1),z(2),z(3),...,z(N)p(zx)
  • 根据大数定理,用样本均值模拟积分的真实结果:
    1 N ∑ i = 1 N f ( z ( i ) ) ≈ ∫ z p ( z ∣ x ) f ( z ) d z \frac{1}{N}\sum_{i=1}^{N}f(z^{(i)})\approx \int_{z}p(z|x)f(z)dz N1i=1Nf(z(i))zp(zx)f(z)dz

顺便一提,如果我们令 f ( z ) = z f(z)=z f(z)=z,则利用上述方法求出的即为分布 p ( z ∣ x ) p(z|x) p(zx)的期望。准确来说,上面的采样方式称为直接采样,但现实情况是 p ( z ∣ x ) p(z|x) p(zx)比较复杂,难以直接从中采样到服从此分布的样本。

为了解决该问题,派生出两种方案:接受-拒绝采样,重要性采样。两种方法都基于一个事实,目标分布 p ( z ∣ x ) p(z|x) p(zx)无法直接采样,然后引入提议分布 q ( z ) q(z) q(z)(一个便于采样的分布),这个分布的选择是任意的,比如均匀分布,高斯分布等。

接受-拒绝采样

对于目标分布 p ( z ) p(z) p(z),难以直接采样,引入提议分布 q ( z ) q(z) q(z),并找一个常数 M M M,使得对于任意的样本 z i z_{i} zi,都能够满足:
M q ( z i ) ≥ p ( z i ) Mq(z_{i})\geq p(z_{i}) Mq(zi)p(zi)
首先引入一个动态的参数被称为接受率 α \alpha α
α = p ( z ( i ) ) M q ( z ( i ) ) \alpha=\frac{p(z^{(i)})}{Mq(z^{(i)})} α=Mq(z(i))p(z(i))
由于已知 M q ( z i ) ≥ p ( z i ) Mq(z_{i})\geq p(z_{i}) Mq(zi)p(zi),所以有 0 ≤ α ≤ 1 0\leq\alpha\leq 1 0α1;采样过程如下:

  • 从提议分布 q ( z ) q(z) q(z)采样到样本 z ( i ) z^{(i)} z(i)
  • 从0到1的均匀分布随机采样一个值: u ∼ U ( 0 , 1 ) u\sim U(0,1) uU(0,1)
  • 如果 u ≤ α u\leq\alpha uα,我们接受这个采样点 z ( i ) z^{(i)} z(i),否则丢弃它。

以上过程循环 N N N次后,所有接受的点近似服从目标分布 p ( z ) p(z) p(z)

这种采样方法简单,但存在问题,采样的效率依赖提议分布 q ( z ) q(z) q(z)的选择,因为只有当 α \alpha α越高,才意味着无效的样本越少,丢弃的样本越少。从数值上看,只有当 M q ( z ) Mq(z) Mq(z)越接近 p ( z ) p(z) p(z) α \alpha α才能越高,但我们本来就不知道 p ( z ) p(z) p(z)的分布形态,所以选择提议分布同样是困难的事情。

重要性采样

依然是计算函数 f ( z ) f(z) f(z)关于目标分布 p ( z ) p(z) p(z)的期望:
E p ( z ) [ f ( z ) ] = ∫ p ( z ) f ( z ) d z = ∫ p ( z ) q ( z ) f ( z ) q ( z ) d z E_{p(z)}[f(z)]=\int p(z)f(z)dz=\int\frac{p(z)}{q(z)}f(z)q(z)dz Ep(z)[f(z)]=p(z)f(z)dz=q(z)p(z)f(z)q(z)dz
此时可以转换一个视角:计算 p ( z ) q ( z ) f ( z ) \frac{p(z)}{q(z)}f(z) q(z)p(z)f(z)关于提议分布 q ( z ) q(z) q(z)的期望,现在我们直接从提议分布 q ( z ) q(z) q(z)采样 N N N个样本:
z 1 , z 2 , z 3 , . . . , z N ∼ q ( z ) z_{1},z_{2},z_{3},...,z_{N}\sim q(z) z1,z2,z3,...,zNq(z)
利用大数定理可以得到期望的近似:
1 N ∑ i = 1 N p ( z i ) q ( z i ) f ( z i ) ≈ ∫ p ( z ) q ( z ) f ( z ) q ( z ) d z \frac{1}{N}\sum_{i=1}^{N}\frac{p(z_{i})}{q(z_{i})}f(z_{i})\approx \int\frac{p(z)}{q(z)}f(z)q(z)dz N1i=1Nq(zi)p(zi)f(zi)q(z)p(z)f(z)q(z)dz
重要性的"重要"二字来源于权重 p ( z i ) q ( z i ) \frac{p(z_{i})}{q(z_{i})} q(zi)p(zi)

小结

以上两大基于蒙特卡洛的采样方法,获取样本的根本逻辑是基于提议分布的随机采样,关键都在于选择一个合适的提议分布 q ( z ) q(z) q(z),从而获得一组合理的样本。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值