什么是 Q-learning?

作者: 不会停的蜗牛 | 来源:发表于2020-02-28 23:43 被阅读0次

1. 什么是 Q-learning?

它是强化学习中的一种 values-based 算法,最终是会学习出一个表格 Q-Table,例如在一个游戏中有下面5种状态和4种行为,则表格为:

这个表格的每一行代表每个 state,每一列代表每个 action,表格的数值就是在各个 state 下采取各个 action 时能够获得的最大的未来期望奖励。

通过 Q table 就可以找到每个状态下的最优行为,进而通过找到所有最优的action得到最大的期望奖励。

2. 所以关键问题是表格的数值如何计算呢?


1. 首先 Q-table 初始化为 0。

2. 3. 然后根据当前的Q-Table给当前state选择一个action并执行。

执行过程是一直到本轮训练停止才算完成。不过因为初始的 Q-value 全是0,就要采取 epsilon greedy strategy 来选择。

所谓 epsilon greedy strategy 是指:

开始时通过设置一个较大的 epsilon,让agent探索环境并随机选择action。

随着agent对环境的了解,降低epsilon ,这样agent开始利用环境做出行动。

在当前state下选择了某个action后,就可以用Bellman equation计算Q-values:

4. 5. 评估:采取行动得到了奖励后就可以用Q函数更新 Q(s,a):

重复这个过程一直到训练停止,就可以得到最优的 Q-table。


参考文献:

https://www.freecodecamp.org/news/an-introduction-to-q-learning-reinforcement-learning-14ac0b4493cc/

相关文章

  • 什么是 Q-learning

    我们以一个迷宫寻宝的游戏为例来看什么是 Q-learning。 在这个游戏中,agent 从一个给定的位置开始,即...

  • 什么是 Q-learning?

    1. 什么是 Q-learning? 它是强化学习中的一种 values-based 算法,最终是会学习出一个表格...

  • 实战深度强化学习DQN-理论和实践

    1、Q-learning回顾 Q-learning 的 算法过程如下图所示: 在Q-learning中,我们维护一...

  • RL[0] - 初见

    结构 背景 Q-Learning with table Q-Learning with network 后记 背景...

  • 白话强化学习之Sarsa与Sarsa-lambda

    Sarsa Sarsa的学习过程和Q-Learning基本一样,不同的地方是Q-Learning在走下一步的时候是...

  • 莫烦强化学习笔记2- Q Learning

    Q-learning 决策: 根据Q表,选择reward较大的action. Q-learning 更新: 代码如下

  • DQN

    Q-learning q-learning是一种时间差分控制算法,其基础是时间差分预测:上一个状态的值=先前状态的...

  • 强化学习-什么是Q-learning,什么是sarsa

    发现很多博客文章对Q-learning和sarsa的描述不是很好理解,两者区别更是看不明白,误导初学者,遂自己把理...

  • RL

    Q-learning Sarsa Sara-lambda

  • 强化学习之Sarsa

    在强化学习中,Sarsa和Q-Learning很类似,本次内容将会基于之前所讲的Q-Learning的内容。 目录...

网友评论

    本文标题:什么是 Q-learning?

    本文链接:https://www.haomeiwen.com/subject/jkqjhhtx.html