Q_learning:取max,也就是不考虑最终走到很大负奖励的值,只考虑会不会最终获得最大奖励,如果获得了,那这条路就牛逼,所以么Q_learning更勇猛,不害怕错,更激进 Sarsa :是取某具体的一步,只要周围有错(很大的负奖励),那么就有机会获得这个不好的奖励,那么整条路反馈都会评分很差。之后会尽量避开。那么最终导致...
从上面的更新可以看出这两个方法非常相似,主要区别在于它们的更新策略。在Sarsa中,更新策略考虑了在新状态下采取的下一个动作,而在Q-learning中,更新策略总是选择了新状态下使值函数最大化的动作。因此,Sarsa更倾向于跟随当前策略进行学习,而Q-learning更倾向于学习最优策略。cliff walking环境下的表现 这是RL...
SarsaSarsa和Q-learning很相似,主要区别在是Sarsa是在线策略 强化学习(2):Sarsa 算法及 Sarsa(lambda) 算法 (St,At)] 其中Q(St+1,At+1)Q(S_{t+1},A_{t+1})Q(St+1,At+1)是下一时刻的状态和实际采取的行动对应的Q值;而在Q-Larning 中是下一时刻的状态对应的Q值的最大值,但是在实际中可能不...
。 2.4Q-learning算法Q-learning算法和SARSA算法非常相似,只不过是off-policy的,即采样预测和学习的策略不一样,只在采样预测过程中有e-greedy,学习过程中的target则没有,是直接选择maxQ值的。 展开来更方便理解: 整体的流程图如下: Q-learning应用于Cliff环境中,则会学到一个靠近悬崖的最短路线: On-policy和Off...
Q-Learning和Sarsa的基本思想相信大家都会,本文总结了Sarsa和Q-learning在逻辑和代码层面的不同之处 Q-Learning和Sarsa的基本框架 class xxxAgent(object): def __init__(self, obs_n, act_n, learning_rate=0.01, gamma=0.9, e_greed=0.1): # 智能体在训练过程中与环境进行交互 def sample(self, obs):...
Q-learning是off-policy,而Sarsa是on-policy学习。 Q-learning在更新Q table时,它只会需要Q值最大,但是不一定会选择使这个Q值最大的动作,因为选择哪个动作是由其他的策略决定的,但是Sarsa在更新Q table时,不一定是Q最大的那个,而且接下来会选择此Q对应的action。Q-learning属于勇敢型,无论前方的路上有什么危险,...
在选取下一步的Action时, sarsa和q-learning是一样的,都是 epislon-greedy, 这不一定保证选中那个 最大reward值的action,而是有一定的随机性。 二者的区别在于 更新-q_table的时候, q-learning在更新时,选取了 max Q(s', a) , 而sarsa直接选取 Q(s', a'),这就有区别了。 q-learning在更新q-table上...
Qlearning: Sarsa: 这里可以看到,Qlearning的更新方式是强制性的,或者可以说是人为的,偏置的,虎头虎脑的,在衰减的后面乘上了一个Q的最大值。 而Sarsa是通过greedy的方式选择下一次的行动。 这个就是说到底的区别 5|0那么为啥Sarsa胆小呢 这里首先给大家缕清一个概念,他们两个虽然在更新Q表上的方式不一样,但是...
sarsa-learning q-learning都是reinforcement learning中用来解决MDP最优化值函数问题的temporal-difference方法,跟DL没啥卵关系,虽然RL可以深度化 区别在于,在更新Q(S_t, A_t)时,前者Q(S_t+1)的动作A_t+1通过episinon-greedy确定,而后者的A_t+1通过greedy确定;共同点在于S_t选择动作的策略是...