#David Silver Reinforcement Learning # 笔记3-DP

这节主要讲了动态规划在强化学习中的用法。

image.png

引入两个问题的定义,Prediction,Control。
Prediction:

image.png

预测问题,MDP的信息都知道,policy也知道。输出该策略下的V。
Control:

image.png

控制问题,MDP的信息都知道,但是不知道policy,输出最优情况下的,V和policy。

对于Prediction问题,只需要根据policy求出最优的value就行。
对于control问题,有两个方法,第一种是Policy Iteration。

Policy Iteration

  1. 随机初始化Value(一般全置0),然后随机初始化Policy。
  2. 贪心的优化Policy
  3. 然后依据新的Policy继续求Value。然后继续优化Policy,依次迭代。
image.png
image.png

Value Iteration

另一种方法是值迭代。根据bellman方程,迭代优化值函数,而不管policy,直到最后,得到最优的value。

image.png

我们可以将这个迭代公式分成两步:
第一步遍历所有的动作a得到不同动作a所对应的一个值函数更新,即:


[\upsilon_{l+1}\left(s,a\right)=R_{s}^{a}+\gamma\sum_{s'\in S}{P_{ss'}^{a}\upsilon_l\left(s'\right)}]
[\upsilon_{l+1}\left(s,a\right)=R_{s}^{a}+\gamma\sum_{s'\in S}{P_{ss'}^{a}\upsilon_l\left(s'\right)}]

(2.3)

第二步,对动作a进行遍历,找到最大的
\upsilon_{l+1}\left(s,a\right)
\upsilon_{l+1}\left(s,a\right)
,即:
[\upsilon_{l+1}\left(s\right)=\underset{a}{\max}\upsilon_{l+1}\left(s,a\right)]
[\upsilon_{l+1}\left(s\right)=\underset{a}{\max}\upsilon_{l+1}\left(s,a\right)]
(2.4)

https://www.bilibili.com/video/av9930653/
https://zhuanlan.zhihu.com/p/27330154
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/DP.pdf

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容