强化学习从入门到放弃(二)Q-learning 与 Sarsa

Q-Learning 与 Sarsa

  • q-learning 与sarsa都是model free情况下通过 TD求解的Bellman equation的方法。他们的区别是q-learning是off-policy的,sarsa是on-policy的。
  • 公式对比
    Sarsa:
    Sarsa
    Q-learning:
    强化学习从入门到放弃(二)Q-learning 与 Sarsa_第1张图片
    二者的区别:
    强化学习从入门到放弃(二)Q-learning 与 Sarsa_第2张图片
    网上都在说sarsa是一个保守的算法,而q-learning是一个更价激进的算法,这是为什么呢?
    Sarsa是一个说到做到的算法, Q ( s , a ) Q(s,a) Q(s,a)的估计值与下一个状态S‘的最大值 Q ( s ′ , a ′ ) Q(s',a') Q(s,a)相关,因此为了达到这个值就需要下一步使用动作a’。
    而q-learning比较不讲道理, Q ( s , a ) Q(s,a) Q(s,a)的估计值虽然与下一个状态S‘的最大值 Q ( s ′ , a ′ ) Q(s',a') Q(s,a)相关,但是我只要你的最大值而不选你的动作(相当于白嫖了一个下一个时刻的最大价值 m a x Q ( s ′ , a ) maxQ(s',a) maxQ(s,a))。因为下一个动作不受 a r g m a x ( s ′ , a ) argmax(s',a) argmax(s,a)的束缚,因此可以走出更大胆的路径。
  • 这样做的后果就是q-learning走过的路径reward不一定很好,但是可以走出更多种的可能性,所以更可能求出最优解。而sarsa与之相反因此走法更保守所以走过(或者迭代过程中)reward比较好,但是很有可能求出的不是最优解。
    强化学习从入门到放弃(二)Q-learning 与 Sarsa_第3张图片

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