欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

强化学习4——无模型预测(蒙特卡洛法和TD法)

发布时间:2024/10/14 编程问答 169 豆豆
生活随笔 收集整理的这篇文章主要介绍了 强化学习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=Rt+1+γRt+2+γ2Rt+3+,对多个轨迹收益进行一个平均,就可以得到在这个策略下面,状态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=Rt+1+γRt+2+γ2Rt+3+=Rt+1+γGt+1,而由于这是一个确定的真实学习场景所以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(st+1)=E[Gt+1st+1=s]=Gt+1

TD和MC的区别

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

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

总结

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

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。