#David Silver Reinforcement Learning # 笔记4 MC-TD

本节主要介绍 Model-free prediction。从一个未知的MDP中估计出值函数。

1. Monte-Carlo Reinforcement Learning

蒙特卡洛方法直接从环境中选择一条路,然后走到重点才结束,最后用平均的return G值來更新值函数。有种初生牛犊不怕虎的精神,勇于试错。
first-visit :只记录每条路经中首次访问状态s的次数。
记录每个状态s被访问的次数。N(s) = N(s) + 1
累计所有的return S(s) = S(s) + Gt
最后评估用均值 V (s) = S(s)/N(s)
这个计算方法的理论依据就是大数定理。

every-visit :只记录每条路经中每次访问状态s的次数。
记录每个状态s被访问的次数。N(s) = N(s) + 1
累计所有的return S(s) = S(s) + Gt
最后评估用均值 V (s) = S(s)/N(s)
同理 理论依据就是大数定理。

这两种方法具有微微不同的理论基础,当s被访问的次数趋于无穷大时,两者都收敛于v_\pi(s)

计算方法

image.png

所以,递推公式
N(S_t) = N(S_t) + 1
V(S_t) = V(S_t) + 1/N(S_t)(G_t - V(S_t))
而一般$1/N(S_t)$取常数,所以公式变为:
V(S_t) = V(S_t) + \alpha(G_t - (S_t))

2. Temporal-Difference Learning

时序差分方法可以直接从路径中学习,并不一定等到走到终点才更新。
TD(0)算法更新公式如 V(S_t) = V(S_t) + \alpha(G_t - (S_t))
但是这里因为未走到终点,所以将G_t$改为 $R_t+1 + \gammaV(S_t+1)
所以,公式为:
V(S_t) = V(S_t) + \alpha(R_t+1 + \gammaV(S_t+1) - (S_t))

3. 偏差权衡于方差权衡 (Bias/Variance Trade-Off)

MC是对价值函数的无偏估计,只是对预期样本作采样,大数定理的作用下最终会得到真值。对初始化值不敏感。
TD是将真值替换为当前情况下最好的估计,会有偏差,TD(0)是无偏估计,但是这样做方差是小的。因为总是及时的更新值函数,使得其不易落入特别遭的情况。对初始化值敏感。
MC方法中没有计算状态转移概率,也不考虑状态转移,它的目标是最小化均方误差,这样的行为实际上并不符合马尔可夫性质,而TD方法会找出拟合数据转移概率和reward函数,还是在解决MDP问题[1]。

4. $TD(\lammda)$

image.png

然后可以对不同的return做集成

image.png

从而可以通过控制$\lammda$来调整偏差与方差

5. 总结

image.png

[1] https://chenrudan.github.io/blog/2016/07/11/reinforcementlearninglesssion4.html
[2] http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/MC-TD.pdf
[3] https://www.bilibili.com/video/av9831252/

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

推荐阅读更多精彩内容

  • 一. 增强学习简介 1.1 什么是增强学习? 机器学习的算法可以分为三类:监督学习,非监督学习和增强学习。 增强学...
    阿阿阿阿毛阅读 31,368评论 0 25
  • 昨天,我怀着激动的心情,招待了我的朋友,不,应该说是我家的朋友。 我们两夫妇有着七八年的同...
    何必曾相逢阅读 517评论 0 0
  • 站在正午的阳光里 等待钱塘江水涨起 一线潮的隆隆声渐近 心底的汹涌却化作涟漪 本想随潮水一同远去 怎奈脚力不济 追...
    一袍风阅读 147评论 0 0