蒙特卡洛法(Monte Carlo Method)
常用于计算一些非常复杂无法直接求解的函数期望。即按一定的概率分布中获取大量样本,用于计算函数在样本的概率分布上的期望。比如,抛硬币,做N次实验,统计正面朝上的次数,期望为正面朝上的次数/总次数。
其中最关键的步骤是:如何按照指定的概率分布进行样本采样
离散的概率分布用概率质量函数(pmf)表示
连续的概率分布用概率密度函数(pdf)表示
接受-拒绝采样(Acceptance-Rejection Sampling)
很多实际问题中,是很难直接采样的,因此,需要借助其他手段来采样。既然太复杂在程序中没法直接采样,那么我设定一个程序可抽样的分布q(z)比如高斯分布,然后按照一定的方法拒绝某些样本,达到接近分布的目的,其中q(z)叫做建议分布(proposal distribution)。
具体操作如下,设定一个方便抽样的函数q(z),以及一个常量k,使得总在kq(z)的下方,如上图所示。
- 给定目标分布密度