TD Learning,SARSA,Q Learning

最近在读一篇增强学习的综述
DEEP REINFORCEMENT LEARNING : AN OVERVIEW
发现里边介绍SARSA时,伪代码是错误的。
1.TD Learning
TD Learning,SARSA,Q Learning_第1张图片
2.SARSA
TD Learning,SARSA,Q Learning_第2张图片
错误就在于,sarsa算法的下一个动作在这次更新时就已经确定了。所以需要在step迭代之前对action进行初始化。
3.Q Learning
TD Learning,SARSA,Q Learning_第3张图片
TD Learning包含Q Learning和sarsa。
我们说Q Learning是off-policy的,而sarsa是on-policy的。为什么这么说呢?
是因为更新Q时,sarsa是确定好下一个状态和action才进行更新的。但是Q Learning更新时,是选取下一个state的最优动作进行更新,而下一个state实际上采取的action是不能在这次更新时确定的。Q Learning好比是观察你上一次的情况,这次我在做决定。但是sarsa这次更新之前就已经确定好了下一个state和action。这也是Q Learning和sarsa的区别。
这三种方法在特定条件下收敛。根据最优值函数,我们能得到最优策略。

你可能感兴趣的:(强化学习)