机器学习算法之Q Learning算法

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。人工智能之机器学习主要有三大类:1)分类;2)回归;3)聚类。今天我们重点探讨一下Q Learning算法。 

 
通过前一篇TD-Learning时序差分(请参见人工智能(48)算法介绍,我们知道,TD-Learning时序差分是结合了动态规划DP和蒙特卡洛MC(请参见人工智能(31))方法,并兼具两种算法的优点,是强化学习的中心。
机器学习算法之Q Learning算法
TD-learning时序差分大概分了6类。其中,策略行动价值qπ的off-policy时序差分学习方法: Q-Learning(单步),Double Q-Learning(单步)。今天重点介绍Q-Learning算法。
 
Q Learning算法是由Watkins于1989年在其博士论文中提出,是强化学习发展的里程碑,也是目前应用最为广泛的强化学习算法。
  
Q Learning算法概念:
  
Q Learning算法是一种off-policy的强化学习算法,一种典型的与模型无关的算法,即其Q表的更新不同于选取动作时所遵循的策略,换句化说,Q表在更新的时候计算了下一个状态的最大价值,但是取那个最大值的时候所对应的行动不依赖于当前策略。
  
Q Learning始终是选择最优价值的行动,在实际项目中,Q Learning充满了冒险性,倾向于大胆尝试。
机器学习算法之Q Learning算法
Q Learning算法下,目标是达到目标状态(Goal State)并获取最高收益,一旦到达目标状态,最终收益保持不变。因此,目标状态又称之为吸收态。
  
Q Learning算法下的agent,不知道整体的环境,知道当前状态下可以选择哪些动作。通常,需要构建一个即时奖励矩阵R,用于表示从状态s到下一个状态s’的动作奖励值。由即时奖励矩阵R计算得出指导agent行动的Q矩阵。
  
Q矩阵是agent的大脑。
  
Q Learning算法本质:
  
QLearning属于TD-Learning时序差分学习。同样,该算法结合了动态规划和蒙特卡罗MC算法,模拟(或者经历)一个情节,每行动一步(或多步)后,根据新状态的价值,来估计执行前的状态价值。
机器学习算法之Q Learning算法