强化学习的数学原理-05蒙特卡洛方法
MC Basic
从
这里面就有一个重要的
下面有一个抛硬币的例子:
用一个随机变量
如果正面朝上,
如果反面朝上,
我们的目标是计算
这里有两种方法去计算
一种方法是:
假设随机变量模型已知:
根据数学期望的定义,就可以计算出随机变量
这样期望计算起来就很简单了,但是问题是我们无法做到精确地知道这样的模型
另一种方法
idea:投掷硬币多次,然后计算结果的平均值
我们多次投掷硬币得到一系列结果
然后期望可以用上面的采样去估计
第二种方法就是
这里是近似就会存在一个问题,这样去近似得到的结果是否是精确的?
答案是:当
经过上面的前置知识,接下来就是蒙特卡洛算法了。
所以关键是计算
要计算
第一种就是
第二种是从
然后这就是一个
下面详细看一下是如何做到的
- 首先从任意一个
出发,然后根据当前的策略 生成一个 - 然后计算出这个
的 用 表示 是 的一个采样- 假设我们有一个
的集合 ,那么我们就可以用这个集合去求一个平均值去估计这个 的期望
总结:当模型未知的时候,我们就需要知道数据.没有数据的时候,需要有模型,反正两者需要其中的一个
数据在统计或者概率里面叫
然后这个算法就比较清楚了
首先给定一个初始的策略
第一步是:
这一步就是对所有的
第二步是:
这一步就是去解决
实际上
算法和 是一样的,唯一的区别就是在第一步 的时候, 第一步先求解 然后再根据 去求解 ,而 算法是直接根据数据 得到
总结:
是 的一个变型,把 部分基于 计算的部分去掉,换成不需要- 所以要学习基于蒙特卡洛的强化学习算法首先要学习基于
的强化学习算法 这个算法是很重要的,他清楚地揭示了怎么把 的算法变为 但是 这种算法并不适用,因为 的效率 低
例子:
第一步:
第二步:
MC Exploring Starts
是
下面是
考虑一个网格世界,按照一个策略
首先引入一个
在
事实上还是有两种方法
:只在第一次 的时候估计 :在每一次 的时候都估计
除了让数据的使用更加
而还有一种方法就是在计算出一个
这里会有一个问题就是用一个
解释
MC Epsilon-Greedy
policy分为两种,一种是
的, 就是其中之一,还有一种是 如 以及下面的
引入
然后
虽然给其他
为什么使用
平衡了
(剥削充分利用)和 (探索)
实际中,我们可以让
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署