强化学习中的Q-learning算法和Sarsa算法的区别

欢迎点击参观我的 ——> 个人学习网站 & 技术杂谈

Q-learning

算法描述:
这里写图片描述

Sarsa

算法描述:
这里写图片描述

假设我们的 Q(s, a) 是一个 Q table ,如下图所示,该表格表示共有三个 state (状态): s 1 s_{1} s1 s 2 s_{2} s2 s 3 s_{3} s3 ,每个状态都有三个可选 action (动作) : a 1 a_{1} a1 a 2 a_{2} a2 a 3 a_{3} a3 ,对所有的状态-动作以 0 赋值:

Q(s, a) a 1 a_{1} a1 a 2 a_{2} a2 a 3 a_{3} a3
s 1 s_{1} s1000
s 2 s_{2} s2000
s 3 s_{3} s3000

Q-learning 算法和 Sarsa 算法都是从状态 s 开始,根据当前的 Q table 使用一定的策略(ε - greedy)选择一个动作 a’ ,然后观测到下一个状态 s’ ,并再次根据 Q table 选择动作 a’

  • Q-learning 算法更新 Q(s, a)
    这里写图片描述
  • Sarsa 算法更新 Q(s, a)
    这里写图片描述
    可以看出更新 Q(s, a) 需要用到下一个状态的动作 a’ ,而两种算法的不同点正是选取 a’ 的方法不同。

不同点: 根据算法描述,在选择新状态 s‘ 的动作 a’ 时,Q-learning 使用贪心策略(greedy),即选取值最大的 a‘ ,此时只是计算出哪个 a‘ 可以使 Q(s, a) 取到最大值,并没有真正采用这个动作 a‘ ;而 Sarsa 则是仍使用 ε - greedy 策略,并真正采用了这个动作 a‘ 。如下图所示:

  • Q-learning 选取 a’
    这里写图片描述
  • Sarsa 选取 a’
    这里写图片描述
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值