版权声明:本文为博主原创文章,如若转载,请注明出处! https://blog.csdn.net/u013010889/article/details/82178341
预测就是估计值函数,上一次我们在讲解值函数估计时用了DP,但是DP只能解决known的MDP,即环境已知,但是实际中很多环境都不可知,因此需要用到这次讲的蒙特卡洛和时序差分
蒙特卡洛(Monte Carlo)
回顾下
就是求给定状态下所有episode获得的return的期望,根据统计学的知识,随着我们采样episode的增多,这些return的均值越来越接近概率上的期望
第一种是增量均值逼近
,第二种是Robbins-Monro 随机逼近
但是蒙特卡洛有个很大的缺点就是必须等到经过整个episode结束才能更新V(St),但是有些时候这个episode是很长很长的甚至是不可终结的,因此需要改进
时序差分( Temporal-Difference)
MC根据一次episode真实的return Gt来更新V(St),而TD根据之前存储的旧的V(St+1)来更新V(St), 而 被成为TD的target,一定要记住这个公式,之后的deep Q learning里的target也类似
DP MC DP对比
DP不进行采样,当前状态之后的所有后续状态都要考虑,当前状态的值函数依赖于所有后续状态,由递推式得到,是自举的
MC进行采样,跟着一条线发展到结束,需要完整的episode
DP也进行采样,跟着一条线发展但是不需要结束,比如发展一步(称为TD(0)),后面的用之前存储旧的V(s)
- David Silver RL Slides