解锁Q学习算法:在不可预测环境中寻找最优策略
1. 算法改进的契机
在面对一些算法在不可预测环境中表现不佳的情况时,并非毫无办法。以Flippers游戏为例,可能会有大卡车突然经过,偶尔随机翻转一个瓷砖,这就带来了不可预测性。不过,大部分算法本身是可行的,我们只需解决其在不可预测性面前的失效问题。
2. Q学习算法概述
我们可以轻松地将L学习升级为如今常用且更有效的Q学习算法(Q代表质量)。Q学习与L学习很相似,但它用Q值填充Q表。其重大改进在于,Q学习在随机或不可预测的环境中表现出色。从L学习到Q学习,我们进行了三项升级:
- 改进Q表单元格新值的计算方式。
- 改进现有值的更新方式。
- 改进选择动作的策略。
Q表算法基于两个重要原则:
- 我们预期结果存在不确定性,所以从一开始就将其纳入考虑。
- 我们边进行边计算新的Q表值,而不是等待最终奖励。这一理念使我们能够处理持续时间很长甚至可能永远没有结论的游戏或过程,比如电梯调度。通过即时更新,即使没有最终奖励,我们也能开发出有用值的表格。
为了实现这一点,我们还需要升级环境的奖励过程。不再是除了最后一步总是奖励为零,环境会在每次采取动作后立即返回估计该动作质量的即时奖励。
3. Q值及其更新
Q值是一种在不知道事情最终结果的情况下近似总未来奖励的方法。要计算Q值,我们将即时奖励与所有未来奖励相加。目前,这只是总未来奖励的定义。不同之处在于,现在我们通过下一个状态的奖励来计算未来奖励。
在每一步行动中,我们会保存四条信息:起始状态、选择的动作、获得的奖励以及该动作使我们进入
超级会员免费看
订阅专栏 解锁全文
1613

被折叠的 条评论
为什么被折叠?



