q-learning精讲

Q-learning

Q-learning是一种用于机器学习的强化学习技术。 Q-learning的目标是学习一种策略,告诉Agent在什么情况下要采取什么行动。 它不需要环境模型,可以处理随机转换和奖励的问题,而无需进行调整。

对于任何有限马尔可夫决策过程(FMDP),Q学习找到一种最优的策略,即从当前状态开始,它在任何和所有后续步骤中最大化总奖励的预期值。在给定无限探索时间和部分随机策略的情况下,Q学习可以为任何给定的 FMDP 确定最佳动作选择策略。“Q”命名函数返回用于提供强化的奖励,并且可以说代表在给定状态下采取的动作的“质量”。

  • Reinforcement learning
    强化学习涉及一个代理,一组状态 S,以及一组动作A. 通过在A中执行动作,Agent程序从一个状态转换到另一个状态。 在特定状态下执行动作为Agent提供奖励(数字分数)。

Agent的目标是最大化其总(未来)奖励。 它通过将未来状态可获得的最大奖励添加到实现其当前状态的奖励来实现这一点,从而通过潜在的未来奖励有效地影响当前行动。 该潜在奖励是从当前状态开始的所有未来步骤的奖励的预期值的加权和。
例如,考虑登上火车的过程,其中奖励是通过登机总时间的负值来衡量的(或者,登上火车的费用等于登机时间)。 一种策略是一旦打开就进入火车门,最大限度地缩短了自己的初始等待时间。 然而,如果火车很拥挤,那么在你进入大门的最初动作之后你将会进入缓慢状态,因为当你试图登机时,人们正在打你离开火车。 总的登机时间或成本是:
0秒等待时间+ 15秒战斗时间
第二天,通过随机机会(探索),你决定等待并让其他人先离开。 这最初导致更长的等待时间。 然而,进入速度减慢,因为与其他乘客上班的时间没有得到回报。 总体而言,此路径的奖励高于前一天,因为总的登机时间现在是:

5秒等待时间+ 0秒战斗时间。
通过探索,尽管最初(患者)行动导致更大的成本(或负面奖励),而不是强有力的策略,总体成本更低,从而揭示了更有价值的策略。

  • Algorithm

q-learning精讲_第1张图片

  • q-table
    q-learning精讲_第2张图片

Influence of variables

  • Explore vs exploit

对未知特征空间的采样称为探索(exploration),利用探索的结果更有效的预测称为利用(exploitation)。

  • Discount factor

  • Initial conditions (Q0)

Implementation

最简单的Q-learning在表格中存储数据。 这种方法随着越来越多的状态/行动而改变。

  • Function approximation

Q学习可以与函数逼近相结合。 这使得即使在状态空间是连续的时候也可以将算法应用于更大的问题。一种解决方案是使用(适应的)人工神经网络作为函数逼近器。函数逼近可以加速有限问题中的学习,因为该算法可以将较早的经验推广到先前看不见的状态。

  • Quantization

减少状态/动作空间的另一种技术量化可能的值。 考虑学习平衡手指上的棍子的例子。 描述某个时间点的状态涉及手指在空间中的位置,其速度,杆的角度和杆的角速度。 这产生了描述一个状态的四元素向量,即编码为四个值的一个状态的快照。 问题是存在无限多种可能的状态。 要缩小有效操作的可能空间,可以将多个值分配给存储桶。 手指从其起始位置(-Infinity到Infinity)的确切距离是未知的,而是它是否远离(近,远)。

你可能感兴趣的:(AI程序员,算法,机器学习)