Sarsa的决策部分与Q-Learning一样,使用Q表形式,挑选值较大的动作施加在环境中来换取奖惩,但sarsa的更新方式不同。其更新准则如下:

Sarsa

 同样, 在 时挑选一个带来最大潜在奖励的动作 a2Sarsa继续写作业状态 s2。

 此时, 如果是 Q learning, 首先会观看一下在 s2 上选取哪一个动作会带来最大的奖励, 但是在真正要做决定时, 却不一定会选取到那个带来最大奖励的动作, Q-learning 在这一步只是估计了一下接下来的动作值. 而 Sarsa  在 s2 这一步估算的动作也是接下来要做的动作. 所以 Q(s1, a2) 现实的计算值, 也会稍稍改动, 去掉maxQ, 取而代之的是在 s2 上选取的 a2 的 Q 值. 最后像 Q learning 一样, 求出现实和估计的差距 并更新 Q 表里的 Q(s1, a2).

sarsa与Q-learning的算法对比如下:

Sarsa

Q-learning永远都会选择通往成功最近的道路而不顾危险;sarsa则会离危险远远的而把成功放在第二位。 

(图片来源于莫烦python)

相关文章:

  • 2021-11-02
  • 2021-10-06
  • 2021-12-21
  • 2022-12-23
  • 2021-05-14
  • 2021-08-05
  • 2021-05-31
  • 2021-11-09
猜你喜欢
  • 2021-04-05
  • 2021-09-19
  • 2021-09-28
  • 2021-09-01
  • 2021-12-17
  • 2021-08-01
  • 2021-05-12
相关资源
相似解决方案