Reinforcement Learning 笔记(3)
Sarsa & Q-Learning
根据公示表,似乎Sarsa相对于Q的区别在于,Sarsa的学习更新过程中,
Q(s', a')的获取方式与Q(s, a)相同,都是通过类似的epsilon-greedy方法获取的.
而Q-Learning 的思路则是直接抓取s',将其对应的所有action中,选取最大的作为学习来源,即max(a') [Q(s', a')]
对于Q:
我们有了s,我们选择了a,然后得到了s',用已存在的q_table中s'的信息,选取最大者作为a'进行学习,这样可以最快逼近终点.但是当s'->s的时候,a'并不保留,也就是说,新的一步中,可能并不会选取曾经的a',而是重新用 policy
对于sarsa:
我们有了s,我们选择了a,然后得到了s',直接用policy选取下回合的a',作为学习内容修改当前的权重,而下次的state和action都已确定.
因此结果就是,Q的learning是直奔终点去的,如果是单reward系统的话,就是明显的从后向前逐步传递,而对于sarsa,则是逐步试探,第一次获得的经验可能不会很快就被第二次用上,最后的结果是,尝试了足够多的路径,最终逐渐找出最优方案.