亚历山大·安德鲁斯 通过 Unsplash
为了理解 Q 学习,你需要一些强化学习的知识。
1. 谷歌网络安全证书 - 快速开启网络安全职业生涯。
2. 谷歌数据分析专业证书 - 提升你的数据分析技能
3. 谷歌 IT 支持专业证书 - 支持你的组织 IT
强化学习 源于机器学习,它旨在通过一系列为特定问题创建的解决方案来训练一个返回最佳解决方案的模型。
模型会有多种解决方案,当选择正确的方案时,会生成奖励信号。如果模型的表现接近目标,则生成正奖励;如果模型的表现远离目标,则生成负奖励。
强化学习包括两种算法
-
无模型的: 这排除环境的动态性来估计最佳策略
-
基于模型的: 这包括环境的动态性来估计最佳策略。
Q-Learning 是一种无模型的强化学习算法。它尝试随机找出可以最大化奖励的最佳行动。该算法基于一个方程更新价值函数,使其成为一种基于价值的学习算法。
就像当你试图找到当前情况的解决方案,以确保你获得最大的利益一样。模型可以生成自己的规则,甚至在提供的策略之外运行。这意味着不需要策略,使其成为一种离策略学习者。
离策略学习者 是指模型学习最佳策略的价值而不管代理的行动。而 在策略学习者 是指模型学习代理所执行的策略的价值,找到最佳策略。
让我们来看看基于推荐系统的广告。如今的广告基于你的搜索历史或之前的观看记录。然而,Q-Learning 可以更进一步,通过优化广告推荐系统来推荐那些经常被一起购买的产品。奖励信号是用户是否购买或点击了推荐的产品。
Q 学习中的‘Q’代表质量。它表示给定动作在获得奖励方面的有效性。
贝尔曼方程以理查德·E·贝尔曼的名字命名,他被称为动态规划的奠基人。动态规划旨在通过将复杂问题/任务分解成更小的问题,然后递归解决这些小问题,从而简化复杂问题。
贝尔曼方程确定特定状态的值,并得出该状态的价值。Q 函数使用贝尔曼方程,并使用两个输入:状态(s)和动作(a)。
如果我们知道每个动作的所有期望奖励,怎么知道选择哪个动作?你可以选择生成最佳奖励的动作序列,我们可以将其表示为 Q 值。使用这个方程:
-
Q(s, a)代表在状态‘s’下执行动作‘a’所得到的 Q 值。
-
这通过 r(s, a)计算,其中 r(s, a)代表立即获得的奖励 + 状态‘s’的最佳 Q 值。
该方程包括当前状态、学习率、折扣因子、与特定状态相关的奖励以及最大期望奖励。这些用于确定代理的下一个状态。
你可以想象 Q 学习所提供的不同路径和解决方案。因此,为了管理和确定哪个是最好的,我们使用 Q 表。
Q 表只是一个简单的查找表。它的创建是为了便于计算和管理最大期望的未来奖励。我们可以轻松识别环境中每个状态的最佳动作。通过在每个状态下使用贝尔曼方程,我们获得期望的未来状态和奖励,然后将其保存在表中,以便与其他状态进行比较。
例如:
状态: | 动作: |
---|---|
0 | 0 |
.. | |
250 | -2.07469 |
.. | |
500 | 11.47930 |
第一步是创建 Q 表
-
n = 动作数量
-
m = 状态数量
例如,n 可以是左、右、上或下,而 m 可以是在游戏中的开始、空闲、正确动作、错误动作和结束。
我们的 Q 表应该全部为 0,因为尚未执行任何动作。然后,我们选择一个动作并在 Q 表中正确的部分更新它。这表示动作已被执行。
使用贝尔曼方程,计算实际奖励的值以及刚刚执行的动作的 Q 值。
重复步骤 2 和 3 直到一个回合结束或 Q 表被填满。
来源:作者图片
这是一个简单的初学者指南,如果你想更好地理解 Q 学习和强化学习,可以阅读这本书:强化学习:导论(第 2 版) 作者为 Richard S. Sutton 和 Andrew G. Barto。
尼莎·阿里亚 是一名数据科学家和自由技术写作人。她特别感兴趣于提供数据科学职业建议或教程,以及数据科学相关的理论知识。她还希望探索人工智能如何对人类寿命产生好处。作为一个渴望学习的人,她寻求拓宽自己的技术知识和写作技能,同时帮助指导他人。