强化学习-01--Q-learning,Sarsa


这一个多月想把强化学习的几种算法再重新学习一遍,与前几次一样,这次也有新的收获。我写这篇文章就是想把我这次学习的收获,记录下来,同时也分享给大家。有写的不对,还请大家指正 。

一、Q-learning与Sarsa算法的区别

1、Q-learning 算法

在这里插入图片描述

2、Sarsa算法

在这里插入图片描述

3、理解

Q-learning更新公式: Q ( S t , a t ) = Q ( S t , a t ) + α [ R ( S t + 1 ) + γ ∗ m a x a Q ( S t + 1 , a ) − Q ( S t , a t ) ] Q(S_{t},a_{t}) = Q(S_{t},a_{t}) + α[R(S_{t+1}) + γ*maxaQ(S_{t+1},a)-Q(S_{t},a_{t})] Q(St,at)=Q(St,at)+α[R(St+1)+γmaxaQ(St+1,a)Q(St,at)]

Sarsa更新公式: Q ( S t , a t ) = Q ( S t , a t ) + α [ R ( S t + 1 ) + γ ∗ Q ( S t + 1 , a t + 1 ) − Q ( S t , a t ) ] Q(S_{t},a_{t}) = Q(S_{t},a_{t}) + α[R(S_{t+1}) + γ*Q(S_{t+1},a_{t+1})-Q(S_{t},a_{t})] Q(St,at)=Q(St,at)+α[R(St+1)+γQ(St+1,at+1)Q(St,at)]
从公式中可以看出,这两种算法的区别在于Q现实值的计算,其余地方都一样。

Sarsa是在线学习(On Policy)的算法,使用了两次greedy方法来选择出了 Q ( S t , a t ) Q(S_{t},a_{t}) Q(St,at) Q ( S t + 1 , a ) Q(S_{t+1},a) Q(St+1,a) 。而Q-learning离线学习(Off Policy)的算法,Q-learning选择 Q ( S t , a t ) Q(S_{t},a_{t}) Q(St,at)用了greedy方法,而计算 Q ( S t + 1 , a t + 1 ) Q(S_{t+1},a_{t+1}) Q(St+1,at+1) 时用的是max方法,而真正选择的时候又不一定会选择max的行动。

二、Sarsa与Sarsa( λ )的区别

1、Sarsa( λ )算法

在这里插入图片描述

2、理解

Q-learning 和 Sarsa都是单步更新的算法。单步跟新的算法缺点就是在没有到达目的地之前,机器人在原地打转的那些行动也被记录在案,并更新了Q表,即便那些行动都是没有意义的。为解决这个问题,便引入了Sarsa( λ )算法。

Sarsa( λ \lambda λ )与Sarsa 算法不同的地方就是多乘了一个 E ( s , a ) E(s, a) E(s,a) (Eligibility Trace"不可或缺性值"),而这个 E ( s , a ) E(s, a) E(s,a)又同时受 γ \gamma γ λ \lambda λ调控。并且在更新Q表的时候,不仅仅是更新一个 Q ( S , A ) Q(S,A) Q(S,A),而是整个Q表所有的Q值都被更新了。
Sarsa( λ )更新公式: Q ( S t , a t ) = Q ( S t , a t ) + α ∗ E ( S t , a t ) ∗ [ γ ∗ Q ( S t + 1 , a t + 1 ) − Q ( S t , a t ) ] Q(S_{t},a_{t}) = Q(S_{t},a_{t}) + α*E(S_{t},a_{t})*[γ*Q(S_{t+1},a_{t+1})-Q(S_{t},a_{t})] Q(St,at)=Q(St,at)+αE(St,at)[γQ(St+1,at+1)Q(St,at)]

三、Q learning的公式推导

在这里插入图片描述

这次强化学习算法温习总结到此就基本结束了,十分感谢大家花费宝贵的时间看我写的文章,谢谢大家!

参考链接:

AI学习笔记——Sarsa算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值