#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)

计算方法

#David Silver Reinforcement Learning # 笔记4 MC-TD_第1张图片
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)$

#David Silver Reinforcement Learning # 笔记4 MC-TD_第2张图片
image.png

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

#David Silver Reinforcement Learning # 笔记4 MC-TD_第3张图片
image.png

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

5. 总结

#David Silver Reinforcement Learning # 笔记4 MC-TD_第4张图片
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/

你可能感兴趣的:(#David Silver Reinforcement Learning # 笔记4 MC-TD)