欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程资源 > 编程问答 >内容正文

编程问答

强化学习4——无模型预测(蒙特卡洛法和td法) -凯发k8官方网

发布时间:2024/10/14 编程问答 141 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 强化学习4——无模型预测(蒙特卡洛法和td法) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 强化学习——无模型预测与控制
    • 无模型的概念
    • 无模型预测
      • 蒙特卡洛法
        • 基本蒙特卡洛
        • 改进增量mc更新算法
        • 动态规划(dp)与蒙特卡洛(mc)的区别
        • temporal difference(td)学习
        • td和mc的区别

无模型的概念

​ 状态转移的概率和相应的奖励都是未知的,需要agent试探,相当于经验主义。agent通过不断地执行action与环境交互,然后得到实际的return,执行n次求其平均值。

无模型预测

蒙特卡洛法

​ agent在现实中从状态sss通过一个策略与环境进行交互,得到多个轨迹,每个轨迹会得到一个实际的收益gt=rt 1 γrt 2 γ2rt 3 …g_t=r_{t 1} \gamma r_{t 2} \gamma^{2} r_{t 3} \ldotsgt=rt1γrt2γ2rt3,对多个轨迹收益进行一个平均,就可以得到在这个策略下面,状态sss的价值vπ(s)=eπ[gt∣st=s]v_{\pi}(s)=\mathbb{e}_{ \pi}\left[g_{t} \mid s_{t}=s\right]vπ(s)=eπ[gtst=s]

基本蒙特卡洛

​ 基本蒙特卡洛解析:

​ ① agent通过策略π\piπ与环境交互得到许多轨迹序列(agent通过action不停地和environment交互得到),每个轨迹中的状态都有对应的回报gt。

​ ② 开始估算v(s),n(s)=0,s(s)=0,t=0

​ ① 在每个 episode 中,如果在时间步 t 状态 s 被访问了,那么
​ ①状态 s 的访问数 n(s)n(s)n(s) 增加 1,

​ ② 状态 s 的总的回报 s(s)s(s)s(s) 增加 gtg_tgt

​ ③状态 s 的价值可以通过 return 的平均来估计,即 v(s)=s(s)/n(s)v(s)=s(s)/n(s)v(s)=s(s)/n(s)

根据大数定律只要n(s)→∞n_(s) \rightarrow \infinn(s)v(s)→vπ(s)v(s) \rightarrow v^\pi(s)v(s)vπ(s)

改进增量mc更新算法

红线公式推导如下

动态规划(dp)与蒙特卡洛(mc)的区别

​ 动态规划(dp)需要考虑到下一次转移的所有状态;蒙特卡洛因为是现实中得到的return,不存在不确定性,所以它下一次转移只可能是一个状态。

temporal difference(td)学习

v(st)←v(st) 1n(st)(gt−v(st))v\left(s_{t}\right) \leftarrow v\left(s_{t}\right) \frac{1}{n\left(s_{t}\right)}\left(g_{t}-v\left(s_{t}\right)\right)v(st)v(st)n(st)1(gtv(st)),其中gt=rt 1 γrt 2 γ2rt 3 …=rt 1 γgt 1g_t=r_{t 1} \gamma r_{t 2} \gamma^{2} r_{t 3} \ldots=r_{t 1} \gamma g_{t 1}gt=rt1γrt2γ2rt3=rt1γgt1,而由于这是一个确定的真实学习场景所以v(st 1)=e[gt 1∣st 1=s]=gt 1v(s_{t 1})=\mathbb{e}\left[g_{t 1} \mid s_{t 1}=s\right]=g_{t 1}v(st1)=e[gt1st1=s]=gt1

td和mc的区别

td:从不完整的序列开始学习;可以是连续的无终止的状态;利用了马尔科夫性质

mc:整个序列完成之后开始学习;必须有终止;可以不是马尔科夫的环境

总结

以上是凯发k8官方网为你收集整理的强化学习4——无模型预测(蒙特卡洛法和td法)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图