一、时序差分法
时序差分是一种用来估计一个策略的价值函数的方法,它结合了蒙特卡洛和动态规划算法的思想。时序差分方法和蒙特卡洛的相似之处在于可以从样本数据中学习,不需要事先知道环境;和动态 规划的相似之处在于根据贝尔曼方程的思想,利用后续状态的价值估计来更新当前状态的价值估计。蒙特卡洛方法必须要等整个序列结束之后才能计算得到这一次的回报G(t),而时序差分方法只需要当前步结束即可进行计算。具体来说,时序差分算法用当前获得的奖励加上下一个状态的价值估计来作为在当前状态会获得的回报,即:
TD(0)与蒙特卡洛对比
二、Sarsa
三、Expected Sarsa
四、Q-learning
1 on-policy vs off-policy
首先介绍一下on-policy 和 off-policy的概念:
- On-policy:我们把用于产生采样样本的策略称为behavior-policy,在policy-improvement步骤进行改进的策略称为target-policy.如果这两个策略相同,我们称之为On-policy算法。
- Off-policy:如果behavior-policy和target-policy不同,我们称之为Off-policy算法。
比如在Monte-Carlo算法中,我可以用一个给定策略πa来产生样本,这个策略可以是ε-greedy策略,以保证能够访问所有的s和a。而我们目标策略可以是greedy策略πb,在policy-imporvement阶段我们不断改进,最终得到一个最优的策略。这样我们最后得到的最优策略πb*就是一个贪婪策略,不用去探索不是最优的动作,这样我们用可以得到更高的回报。
2 Q-learning