深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法

目录

1. 大数定律
2. 估算圆周率
2.1 公式
2.2 代码
2. 估算定积分
3.1 公式
3.2 代码

1. 大数定律 大数定律是蒙特卡罗算法的理论依据,大数定律的内容如下
在随机事件的大量重复出现中,往往呈现几乎必然的规律,这个规律就是大数定律。
我们来简单看看伯努利大数定律的严格数学表达:
深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
次独立试验中事件A发生的次数,且事件A在每次试验中发生的概率为深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,则对任意正数深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片

深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片

通俗地说,这个定理就是在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。
2. 估算圆周率 蒙特卡罗算法可以用来估计面积,而圆的面积和深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
有关,所以我们也可以用蒙特卡罗算法来估计深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
的值。
深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片


2.1 公式 我们来在正方形内撒深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
个点,记落在圆内的点的个数为深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
个,记点落在圆内的概率为深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,那么由古典概型我们知道深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,由伯努利大数定律我们知道 深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,于是我们得到 深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
.
2.2 代码 代码基本思路就是生成大量随机数,判断是否在圆内得到深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,直接代公式就行。

import randomdef pai(): n = 1000000 r = 1.0 a, b = (0.0, 0.0) x_neg, x_pos = a - r, a + r y_neg, y_pos = b - r, b + rm = 0 for i in range(0, n): x = random.uniform(x_neg, x_pos) y = random.uniform(y_neg, y_pos) if x*x + y*y <= 1.0: m += 1print 4*m/float(n)

2. 估算定积分 蒙特卡罗算法还常用于计算定积分的近似值。
3.1 公式 首先由积分第一中值定理我们得到:深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,这里的 深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
就相当于这个区间上所有函数值的平均值,我们现在在x轴上随机取深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
个点深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,计算对应函数值深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,计算平均值深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,于是我们有 深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
,最后得到 深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片

3.2 代码 我们以深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法
文章图片
为例。
def integral(): n = 1000000 x_min, x_max = 0.0, 1.0 y_min, y_max = 5.0, 8.0m = 0 for i in range(0, n): x = random.uniform(x_min, x_max) y = random.uniform(y_min, y_max) # x*x*x+2*x*x+5 > y, if x*x*x+2*x*x+5 > y: m += 1integral_value = https://www.it610.com/article/m / float(n) print integral_value

【深度学习|基于Pytorch的强化学习(DQN)之蒙特卡罗算法】

    推荐阅读