深度强化学习_蒙特卡洛算法 王树森课程笔记

  • Post author:
  • Post category:其他


💡 随机算法,通过随机样本估算真实值。



一、 Calculate



π

\pi






π





用蒙特卡洛近似估算出



π

\pi






π





的值

在这里插入图片描述

  • 随机生成平面坐标系中的点



    (

    x

    ,

    y

    )

    ,

     

    x

    [

    1

    ,

    1

    ]

    ,

     

    y

    [

    1

    ,

    1

    ]

    (x,y),\space x\in[-1,1],\space y\in[-1,1]






    (


    x


    ,




    y


    )


    ,






    x













    [





    1


    ,




    1


    ]


    ,






    y













    [





    1


    ,




    1


    ]









    x

    ,

     

    y

    x,\space y






    x


    ,






    y









    [

    1

    ,

    1

    ]

    [-1,1]






    [





    1


    ,




    1


    ]





    之间的均匀分布,所有的点都有相同的概率密度;

  • 正方形内切圆半径为1,随机样本落在圆内的概率=圆的面积/正方形的面积:



    P

    =

    π

    4

    P=\frac{\pi}{4}






    P




    =




















    4
















    π
























  • 从正方形区域均匀随机抽样



    n

    {\color{d44d37}n}







    n






    个点,在圆内的点的数量期望为



    P

    n

    =

    π

    n

    4

    P{\color{d44d37}n}=\frac{\pi{\color{d44d37}n}}{4}






    P



    n





    =




















    4
















    π



    n

























    ;

    • 已知坐标



      (

      x

      ,

      y

      )

      (x,y)






      (


      x


      ,




      y


      )





      判断是否在圆内:若



      x

      2

      +

      y

      2

      1

      x^2+y^2\le1







      x










      2











      +









      y










      2




















      1





      则在圆内。

  • 均匀随机抽样后有



    m

    {\color{d44d37}m}







    m






    个点在圆内,若



    n

    {\color{d44d37}n}







    n






    非常大,则真实观测值



    m

    π

    n

    4

    {\color{d44d37}m}\approx\frac{\pi{\color{d44d37}n}}{4}







    m


























    4
















    π



    n

























  • 即得到



    π

    4

    m

    n

    \pi\approx\frac{4{\color{d44d37}m}}{

    {\color{d44d37}n}}






    π


























    n

















    4



    m

























  • 大数定律保证蒙特卡洛的正确性:



    4

    m

    n

    π

    ,

     as 

    n

    \frac{4{\color{d44d37}m}}{

    {\color{d44d37}n}}\rightarrow\pi,\space \text{as}\space {\color{d44d37}n}\rightarrow\infty



















    n

















    4



    m

































    π


    ,







    as






    n






















结论

】:从如图正方形中

均匀

抽样



n

{\color{d44d37}n}







n






个点,观测到



m

{\color{d44d37}m}







m






个点落在内切圆中,可近似得到



π

4

m

n

\pi\approx\frac{4{\color{d44d37}m}}{

{\color{d44d37}n}}






π


























n

















4



m



























二、 Buffon’s Needle Problem

近似估算



π

\pi






π





  • 在纸上画几条距离为



    d

    {\color{337ea9}d}







    d






    的平行线;

  • 准备一些长度为



    l

    {\color{337ea9}l}







    l






    的针;

  • 随机将针抛到纸上,针可能与平行线相交也可能不相交;
  • 假设针的位置和角度都是均匀随机的,通过微积分算出相交的概率



    P

    =

    2

    l

    π

    d

    P=\frac{2{\color{337ea9}l}}{\pi{\color{337ea9}d}}






    P




    =




















    π



    d

















    2



    l

























  • 随机往纸上扔



    n

    {\color{d44d37}n}







    n






    根针,与平行线相交的针的数量期望为



    P

    n

    =

    2

    l

    n

    π

    d

    P{\color{d44d37}n}=\frac{2{\color{337ea9}l}{\color{d44d37}n}}{\pi{\color{337ea9}d}}






    P



    n





    =




















    π



    d

















    2



    l




    n

























  • 真实观测到有



    m

    {\color{d44d37}m}







    m






    根针与平行线相交,若



    n

    {\color{d44d37}n}







    n






    非常大,则真实观测值



    m

    2

    l

    n

    π

    d

    {\color{d44d37}m}\approx\frac{2{\color{337ea9}l}{\color{d44d37}n}}{\pi{\color{337ea9}d}}







    m


























    π



    d

















    2



    l




    n

























  • 即得到



    π

    2

    l

    n

    m

    d

    \pi\approx\frac{2{\color{337ea9}l}{\color{d44d37}n}}{

    {\color{d44d37}m}{\color{337ea9}d}}






    π


























    m




    d

















    2



    l




    n



























三、估算阴影面积

在这里插入图片描述

  • 对如图正方形区域内做均匀随机抽样得到多个点,判断点是否在阴影部分需满足两个条件;

    • 在圆内:



      (

      x

      1

      )

      2

      +

      (

      y

      1

      )

      2

      1

      (x-1)^2+(y-1)^2\le1






      (


      x













      1



      )










      2











      +








      (


      y













      1



      )










      2




















      1





    • 不在扇形内:



      x

      2

      +

      y

      2

      4

      x^2+y^2\ge4







      x










      2











      +









      y










      2




















      4





  • 假设阴影部分面积为



    A

    A






    A





    ,随机抽样的点落在阴影部分的概率为



    P

    =

    A

    4

    P=\frac{A}{4}






    P




    =




















    4
















    A
























  • 均匀随机抽样



    n

    {\color{d44d37}n}







    n






    个点,点落在阴影部分的期望为



    P

    n

    =

    A

    n

    4

    P{\color{d44d37}n}=\frac{A{\color{d44d37}n}}{4}






    P



    n





    =




















    4
















    A



    n

























  • 真实观测到有



    m

    {\color{d44d37}m}







    m






    个点落在阴影部分,若



    n

    {\color{d44d37}n}







    n






    非常大,则真实观测值



    m

    A

    n

    4

    {\color{d44d37}m}\approx\frac{A{\color{d44d37}n}}{4}







    m


























    4
















    A



    n

























  • 即得到



    A

    4

    m

    n

    A\approx\frac{4{\color{d44d37}m}}{

    {\color{d44d37}n}}






    A


























    n

















    4



    m



























四、 近似积分



1. 用蒙特卡洛求一元函数定积分


Task

:求



I

=

b

a

f

(

x

)

d

x

I=\int^a_bf(x)dx






I




=




















b








a




















f


(


x


)


d


x





  • 首先做

    随机均匀抽样

    :从



    [

    a

    ,

    b

    ]

    [a,b]






    [


    a


    ,




    b


    ]





    中抽取



    n

    n






    n





    个样本



    x

    1

    ,

    ,

    x

    n

    x_1,\dots,x_n







    x










    1


















    ,









    ,





    x










    n





















  • 计算



    Q

    n

    =

    (

    b

    a

    )

    1

    n

    i

    =

    1

    n

    f

    (

    x

    i

    )

    Q_n=(b-a)\cdot\frac{1}{n}\sum^n_{i=1}f(x_i)







    Q










    n




















    =








    (


    b













    a


    )

























    n
















    1




































    i


    =


    1









    n




















    f


    (



    x










    i


















    )








  • Q

    n

    Q_n







    Q










    n





















    即为积分



    I

    =

    b

    a

    f

    (

    x

    )

    d

    x

    I=\int^a_bf(x)dx






    I




    =




















    b








    a




















    f


    (


    x


    )


    d


    x





    的近似值;

  • 大数定律保证蒙特卡洛的正确性:



    Q

    n

    I

    ,

     as 

    n

    Q_n\rightarrow I,\space \text{as}\space n\rightarrow\infty







    Q










    n





























    I


    ,







    as





    n




















2. 用蒙特卡洛求多元函数积分


Task

:给出多元函数



f

(

x

)

f(\bold x)






f


(


x


)





,其中向量



x

R

d

\bold x\in\Bbb R^d






x














R










d












,求函数在集合



Ω

\Omega






Ω









Ω

R

d

\Omega \subset \Bbb R^d






Ω














R










d












)上的定积分:



I

=

Ω

f

(

x

)

d

x

I=\int _\Omega f(\bold x)d\bold x






I




=




















Ω




















f


(


x


)


d


x





  • 随机抽样:从集合



    Ω

    \Omega






    Ω





    中均匀抽取



    n

    n






    n





    个样本,记作



    x

    1

    ,

    ,

    x

    n

    \bold x_1,\dots,\bold x_n







    x










    1


















    ,









    ,





    x










    n





















  • 计算集合



    Ω

    \Omega






    Ω





    的体积:



    V

    =

    Ω

    d

    x

    V=\int_\Omega d\bold x






    V




    =




















    Ω




















    d


    x





    • 求体积



      V

      V






      V





      也需要定积分,有可能与原问题同样困难,因此需要让集合



      Ω

      \Omega






      Ω





      是简单的形状(长方体、球体等),用公式直接计算出体积,避免积分运算。

  • 计算



    Q

    n

    =

    V

    1

    n

    i

    =

    1

    n

    f

    (

    x

    i

    )

    Q_n=V\cdot\frac{1}{n}\sum^n_{i=1}f(\bold x_i)







    Q










    n




















    =








    V

























    n
















    1




































    i


    =


    1









    n




















    f


    (



    x










    i


















    )








  • Q

    n

    Q_n







    Q










    n





















    即为积分



    I

    =

    Ω

    f

    (

    x

    )

    d

    x

    I=\int _\Omega f(\bold x)d\bold x






    I




    =




















    Ω




















    f


    (


    x


    )


    d


    x





    的近似估计。



五、 近似期望

  • 定义



    X

    {\color{d44d37}X}







    X










    d

    d






    d





    维随机变量;

  • 定义



    p

    (

    x

    )

    {\color{orange}p(\bold x)}







    p


    (


    x


    )






    为概率密度函数;

    • 性质:



      R

      d

      p

      (

      x

      )

      d

      x

      =

      1

      \int_{\Bbb R^d}{\color{orange}p(\bold x)}d\bold x=1




















      R










      d





























      p


      (


      x


      )



      d


      x




      =








      1





      (连续分布)。

  • 函数



    f

    (

    x

    )

    f(\bold x)






    f


    (


    x


    )





    的期望:



    E

    X

    p

    [

    f

    (

    X

    )

    ]

    =

    R

    d

    f

    (

    x

    )

    p

    (

    x

    )

    d

    x

    \Bbb E_{

    {\color{d44d37}X}\sim{\color{orange}p}}[f({\color{d44d37}X})]=\int_{\Bbb R^d}f(x)\cdot{\color{orange}p(\bold x)}d\bold x







    E












    X







    p




















    [


    f


    (



    X



    )


    ]




    =






















    R










    d




























    f


    (


    x


    )














    p


    (


    x


    )



    d


    x





  • 首先随机抽样:(注意此处不是均匀抽样)根据概率密度函数



    p

    (

    x

    )

    {\color{orange}p(\bold x)}







    p


    (


    x


    )






    随机抽取



    n

    n






    n





    个样本,记作



    x

    1

    ,

    ,

    x

    n

    \bold x_1,\dots,\bold x_n







    x










    1


















    ,









    ,





    x










    n





















  • 计算



    Q

    n

    =

    1

    n

    i

    =

    1

    n

    f

    (

    x

    i

    )

    Q_n=\frac{1}{n}\sum^n_{i=1}f(\bold x_i)







    Q










    n




















    =




















    n
















    1




































    i


    =


    1









    n




















    f


    (



    x










    i


















    )








  • Q

    n

    Q_n







    Q










    n





















    即为对期望



    E

    X

    p

    [

    f

    (

    X

    )

    ]

    \Bbb E_{

    {\color{d44d37}X}\sim{\color{orange}p}}[f({\color{d44d37}X})]







    E












    X







    p




















    [


    f


    (



    X



    )


    ]





    的估计。(样本数量



    n

    n






    n





    越大,蒙特卡洛估计越准确)



版权声明:本文为weixin_44005728原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。