增强学习算法
增强学习(Q-learning)要解决的是这样的问题:一个能感知环境的自治agent,怎样通过学习选择能达到其目标的最优动作。这个很具有普遍性的问题应用于学习控制移动机器人,在工厂中学习最优操作工序以及学习棋类对奕等。当agent在其环境中做出每个动作时,施教者会提供奖励或惩罚信息,以表示结果状态的正确与否。例如,在训练agent进行棋类对奕时,施教者可在游戏胜利时给出正回报,而在游戏失败时给出负回报,其他时候为零回报。agent的任务就是从这个非直接的,有延迟的回报中学习,以便后续的动作产生最大的累积效应。
Q学习算法在确定性回报和动作假定下的Q学习算法:
(s表示状态,a表示动作,Q(s,a)表示对状态s下动作a得到的总体回报的一个估计,r为此动作的立即回报)
1。对每个s,a初始化表项Q(s,a)为0
2。观察当前状态s
3。一直重复做:
选择一个动作a并执行它,该动作为使Q(s,a)最大的a。
接收到立即回报r。
观察新状态s'。
对Q(s',a')按照下式更新表项:
Q(s,a)=r+gama * max Q (s',a')。
s=s'。