[强化学习-3] 蒙特卡洛和时序差分法-预测

版权声明:本文为博主原创文章,如若转载,请注明出处! https://blog.csdn.net/u013010889/article/details/82178341

预测就是估计值函数,上一次我们在讲解值函数估计时用了DP,但是DP只能解决known的MDP,即环境已知,但是实际中很多环境都不可知,因此需要用到这次讲的蒙特卡洛和时序差分

蒙特卡洛(Monte Carlo)

回顾下 v π ( s )

v π ( s ) = E π ( G t | S t = s )

就是求给定状态下所有episode获得的return的期望,根据统计学的知识,随着我们采样episode的增多,这些return的均值越来越接近概率上的期望

第一种是增量均值逼近 v π ( s ) = E π ( G t | S t = s ) ,第二种是Robbins-Monro 随机逼近 v π ( s ) = E π ( G t | S t = s )
这里写图片描述

但是蒙特卡洛有个很大的缺点就是必须等到经过整个episode结束才能更新V(St),但是有些时候这个episode是很长很长的甚至是不可终结的,因此需要改进

时序差分( Temporal-Difference)

这里写图片描述

MC根据一次episode真实的return Gt来更新V(St),而TD根据之前存储的旧的V(St+1)来更新V(St), 而 R t + 1 + γ V ( S t + 1 ) 被成为TD的target,一定要记住这个公式,之后的deep Q learning里的target也类似

DP MC DP对比

DP不进行采样,当前状态之后的所有后续状态都要考虑,当前状态的值函数依赖于所有后续状态,由递推式得到,是自举的

这里写图片描述

MC进行采样,跟着一条线发展到结束,需要完整的episode

这里写图片描述

DP也进行采样,跟着一条线发展但是不需要结束,比如发展一步(称为TD(0)),后面的用之前存储旧的V(s)

这里写图片描述


  • David Silver RL Slides

猜你喜欢

转载自blog.csdn.net/u013010889/article/details/82178341
今日推荐