机器学习 之 马尔可夫-蒙特卡洛法

什么是蒙特卡洛法?
就是随机投点计算圆周率的那个例子。

三门问题如何理解?(当然你可以用暴力蒙特卡洛算出)
比如说主持人和你做游戏,你有一个箱子,里面有1个球;主持人一个箱子,里面有2个球。他知道每个球的颜色,但你啥也不知道。但是3个球里面只有1个紫色的球,2个蓝色的球,谁手里面有紫色的球,谁就获得大奖。

主持人说:你要和我换箱子吗?
当然换,我箱子里只有1个球,中奖率 1 3 \frac{1}{3} 31,他箱子里有2个球,中奖率 2 3 \frac{2}{3} 32 ,换的中奖率是不换的2倍。
这是这个游戏的结论。现在情况变了:
主持人从他的箱子里扔了一个蓝色的球之后说:你要和我换箱子吗?
当然换,我箱子里只有1个球,中奖率 1 3 \frac{1}{3} 31,他箱子里有2个球,中奖率 2 3 \frac{2}{3} 32。扔了一个蓝色的,中奖率没变还是 2 3 \frac{2}{3} 32,换的中奖率是不换的2倍。

蒙特卡洛算法实际上是大数定理的应用吧,同分布,有期望就行。蒙特卡罗法的核心是随机抽样(random sampling)。

下面是如何求积分
在这里插入图片描述
p ( x ) p(x) p(x)是一个分布,那么 f ( x ) p ( x ) \frac{f(x)}{p(x)} p(x)f(x)就相当于 x x x一样了。整体就会变成一个期望。然后估计这个期望值就用蒙特卡洛暴力法了,采样就是采用 p ( x ) p(x) p(x)的概率分布采样,如果是均匀分布呢?实际上大一的积分估计介绍就是这么来的,蒙特卡洛的特例而已。这就足以证明其正确性了。

现在的问题转到了如何按照 p ( x ) p(x) p(x)采样若干个样本上来。但是,按照 p ( x ) p(x) p(x)采样绝非易事,因为有些时候我们根本不知道 p ( x ) p(x) p(x)是什么,或者有时候是一个很复杂的表达式,计算机没法直接抽样。也就是说, p ( x ) p(x) p(x)也不是随随便便取的。
随机抽样方法1:拒绝-接受采样

随机抽样方法2:重采样技术reparameterization trick

我们需要大量采样,虽然我们有拒绝-接受采样和重采样技术,但是依旧面临采样困难的问题。巧了,马尔科夫链可以帮我们解决这个难题。

马尔科夫链你是知道是什么样的。如果我们得到了某个平稳分布所对应的马尔科夫链状态转移矩阵,我们就很容易采用出这个平稳分布的样本集。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值