前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是 Q-learning?

什么是 Q-learning?

作者头像
杨熹
发布2020-03-20 11:29:27
1.2K0
发布2020-03-20 11:29:27
举报
文章被收录于专栏:杨熹的专栏杨熹的专栏

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/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档