一、蒙特卡洛方法

  1. 蒙特卡洛方法Monte Carlo 可以通过采用随机投点法来求解不规则图形的面积。

    求解结果并不是一个精确值,而是一个近似值。当投点的数量越来越大时,该近似值也越接近真实值。

  2. 蒙特卡洛方法也可以用于根据概率分布来随机采样的任务。

1.1 布丰投针问题

  1. 布丰投针问题是1777年法国科学家布丰提出的一种计算圆周率的方法:随机投针法。其步骤为:

    • 首先取一张白纸,在上面绘制许多条间距为 一、蒙特卡洛方法 - 图1 的平行线。

    • 取一根长度为 一、蒙特卡洛方法 - 图2 的针,随机地向纸上投掷 一、蒙特卡洛方法 - 图3 次,观测针与直线相交的次数,记做 一、蒙特卡洛方法 - 图4

    • 计算针与直线相交的概率 一、蒙特卡洛方法 - 图5 。可以证明这个概率 一、蒙特卡洛方法 - 图6 。因此有:

      一、蒙特卡洛方法 - 图7

  2. 由于向纸上投针是完全随机的,因此用二维随机变量 一、蒙特卡洛方法 - 图8 来确定针在纸上的具体位置。其中:

    • 一、蒙特卡洛方法 - 图9 表示针的中点到平行线的距离,它是 一、蒙特卡洛方法 - 图10 之间的均匀分布。
    • 一、蒙特卡洛方法 - 图11 表示针与平行线的夹角,它是 一、蒙特卡洛方法 - 图12 之间的均匀分布。

    一、蒙特卡洛方法 - 图13

    一、蒙特卡洛方法 - 图14 时,针与直线相交。

    由于 一、蒙特卡洛方法 - 图15 相互独立,因此有概率密度函数:

    一、蒙特卡洛方法 - 图16

    因此,针与直线相交的概率为:

    一、蒙特卡洛方法 - 图17

    根据 一、蒙特卡洛方法 - 图18 即可得证。

  3. 布丰投针问题中,蒙特卡洛方法是利用随机投点法来求解面积 一、蒙特卡洛方法 - 图19 。因为曲线的积分就是面积,这里的曲线就是概率密度函数 一、蒙特卡洛方法 - 图20

1.2 蒙特卡洛积分

  1. 对于函数 一、蒙特卡洛方法 - 图21,其在区间 一、蒙特卡洛方法 - 图22 上的积分 一、蒙特卡洛方法 - 图23 可以采用两种方法来求解:投点法、期望法。

  2. 投点法求积分:对函数 一、蒙特卡洛方法 - 图24,对其求积分等价于求它的曲线下方的面积。

    此时定义一个常数 一、蒙特卡洛方法 - 图25,使得 一、蒙特卡洛方法 - 图26 ,该常数在区间 一、蒙特卡洛方法 - 图27 上的面积就是矩形面积 一、蒙特卡洛方法 - 图28

    随机向矩形框中随机的、均匀的投点,设落在函数 一、蒙特卡洛方法 - 图29 下方的点为绿色,落在 一、蒙特卡洛方法 - 图30一、蒙特卡洛方法 - 图31 之间的点为红色。则有:落在 一、蒙特卡洛方法 - 图32 下方的点的概率等于 一、蒙特卡洛方法 - 图33 的面积比上矩形框的面积

    具体做法是:从 一、蒙特卡洛方法 - 图34 之间的均匀分布中采样 一、蒙特卡洛方法 - 图35 ,从 一、蒙特卡洛方法 - 图36 之见的均匀分布中采样 一、蒙特卡洛方法 - 图37一、蒙特卡洛方法 - 图38 构成一个随机点。

    • 一、蒙特卡洛方法 - 图39,则说明该随机点在函数 一、蒙特卡洛方法 - 图40 下方,染成绿色。
    • 一、蒙特卡洛方法 - 图41,则说明该随机点在函数 一、蒙特卡洛方法 - 图42 上方,染成红色。

    假设绿色点有 一、蒙特卡洛方法 - 图43 个,红色点有 一、蒙特卡洛方法 - 图44 个,总的点数为 一、蒙特卡洛方法 - 图45 ,因此有:一、蒙特卡洛方法 - 图46

    一、蒙特卡洛方法 - 图47

  3. 期望法求积分:假设需要求解积分 一、蒙特卡洛方法 - 图48 ,则任意选择一个概率密度函数 一、蒙特卡洛方法 - 图49,其中 一、蒙特卡洛方法 - 图50 满足条件:

    一、蒙特卡洛方法 - 图51

    令:

    一、蒙特卡洛方法 - 图52

    则有:一、蒙特卡洛方法 - 图53 ,它刚好是一个期望:设随机变量 一、蒙特卡洛方法 - 图54 服从分布 一、蒙特卡洛方法 - 图55,则 一、蒙特卡洛方法 - 图56

    则期望法求积分的步骤是:

    • 任选一个满足条件的概率分布 一、蒙特卡洛方法 - 图57
    • 根据 一、蒙特卡洛方法 - 图58,生成一组服从分布 一、蒙特卡洛方法 - 图59 的随机数 一、蒙特卡洛方法 - 图60
    • 计算均值 一、蒙特卡洛方法 - 图61 ,并将 一、蒙特卡洛方法 - 图62 作为 一、蒙特卡洛方法 - 图63 的近似。
  4. 在期望法求积分中,如果 一、蒙特卡洛方法 - 图64 均为有限值,则 一、蒙特卡洛方法 - 图65 可以取均匀分布的概率密度函数:

    一、蒙特卡洛方法 - 图66

    此时 一、蒙特卡洛方法 - 图67一、蒙特卡洛方法 - 图68

    其物理意义为:一、蒙特卡洛方法 - 图69 为在区间 一、蒙特卡洛方法 - 图70 上函数的平均高度,乘以区间宽度 一、蒙特卡洛方法 - 图71 就是平均面积。

    一、蒙特卡洛方法 - 图72

  5. 对于期望 一、蒙特卡洛方法 - 图73,如果 一、蒙特卡洛方法 - 图74 或者 一、蒙特卡洛方法 - 图75 的表达式比较复杂,则也可以转化为另一个期望的计算。

    选择一个比较简单的概率密度函数 一、蒙特卡洛方法 - 图76,根据:

    一、蒙特卡洛方法 - 图77

    一、蒙特卡洛方法 - 图78,则原始期望转换为求另一个期望 一、蒙特卡洛方法 - 图79 。此时可以使用期望法求积分的策略计算。

1.3 蒙特卡洛采样

  1. 采样问题的主要任务是:根据概率分布 一、蒙特卡洛方法 - 图80 ,生成一组服从分布 一、蒙特卡洛方法 - 图81 的随机数 一、蒙特卡洛方法 - 图82

    • 如果 一、蒙特卡洛方法 - 图83 就是均匀分布,则均匀分布的采样非常简单。

    • 如果 一、蒙特卡洛方法 - 图84 是非均匀分布,则可以通过均匀分布的采样来实现。其步骤是:

      • 首先根据均匀分布 一、蒙特卡洛方法 - 图85 随机生成一个样本 一、蒙特卡洛方法 - 图86

      • 一、蒙特卡洛方法 - 图87 为概率分布 一、蒙特卡洛方法 - 图88 的累计分布函数:一、蒙特卡洛方法 - 图89

        一、蒙特卡洛方法 - 图90 ,计算得到 一、蒙特卡洛方法 - 图91 ,其中 一、蒙特卡洛方法 - 图92 为反函数,则 一、蒙特卡洛方法 - 图93 为对 一、蒙特卡洛方法 - 图94 的采样。

      一、蒙特卡洛方法 - 图95

  2. 通过均匀分布的采样的原理:假设随机变量 一、蒙特卡洛方法 - 图96 满足 一、蒙特卡洛方法 - 图97,则 一、蒙特卡洛方法 - 图98 的概率分布为:

    一、蒙特卡洛方法 - 图99

    因为 一、蒙特卡洛方法 - 图100一、蒙特卡洛方法 - 图101 上面的均匀分布,因此 一、蒙特卡洛方法 - 图102一、蒙特卡洛方法 - 图103 为概率分布 一、蒙特卡洛方法 - 图104 的累计分布函数,因此 一、蒙特卡洛方法 - 图105 。因此上式刚好等于 一、蒙特卡洛方法 - 图106 ,即:一、蒙特卡洛方法 - 图107 服从概率分布 一、蒙特卡洛方法 - 图108

    这其中有两个关键计算:

    • 根据 一、蒙特卡洛方法 - 图109,计算累计分布函数 一、蒙特卡洛方法 - 图110
    • 根据 一、蒙特卡洛方法 - 图111 计算反函数 一、蒙特卡洛方法 - 图112

    如果累计分布函数无法计算,或者反函数难以求解,则该方法无法进行。

  3. 对于复杂的概率分布 一、蒙特卡洛方法 - 图113 ,难以通过均匀分布来实现采样。此时可以使用接受-拒绝采样 策略。

    • 首先选定一个容易采样的概率分布 一、蒙特卡洛方法 - 图114 ,选择一个常数 一、蒙特卡洛方法 - 图115 ,使得在定义域的所有位置都满足 一、蒙特卡洛方法 - 图116

    • 然后根据概率分布 一、蒙特卡洛方法 - 图117 随机生成一个样本 一、蒙特卡洛方法 - 图118

    • 计算 一、蒙特卡洛方法 - 图119 ,以概率 一、蒙特卡洛方法 - 图120 接受该样本。

      具体做法是:根据均匀分布 一、蒙特卡洛方法 - 图121 随机生成一个点 一、蒙特卡洛方法 - 图122 。如果 一、蒙特卡洛方法 - 图123 ,则接受该样本;否则拒绝该样本。

      或者换一个做法:根据均匀分布 一、蒙特卡洛方法 - 图124 生成一个随机点,如果该点落在灰色区间(一、蒙特卡洛方法 - 图125)则拒绝该样本;如果该点落在白色区间(一、蒙特卡洛方法 - 图126)则接受该样本。

    一、蒙特卡洛方法 - 图127

  4. 接受-拒绝采样 在高维的情况下会出现两个问题:

    • 合适的 一、蒙特卡洛方法 - 图128 分布比较难以找到。
    • 难以确定一个合理的 一、蒙特卡洛方法 - 图129 值。

    这两个问题会导致拒绝率很高,无效计算太多。