强化学习2——Q算法、TD算法、Sarsa算法

一、强化学习算法分类

1.1 算法发展历程

  • 1956年Bellman提出了动态规划方法。
  • 1977年Werbos提出只适应动态规划算法。
  • 1988年sutton提出时间差分算法。
  • 1992年Watkins 提出Q-learning 算法。
  • 1994年rummery 提出Saras算法。
  • 1996年Bersekas提出解决随机过程中优化控制的神经动态规划方法。
  • 2006年Kocsis提出了置信上限树算法。
  • 2009年kewis提出反馈控制只适应动态规划算法。
  • 2014年silver提出确定性策略梯度(Policy Gradients)算法。
  • 2015年Google-deepmind 提出Deep-Q-Network算法。

1.2 按元素进行分类

从强化学习的几个元素的角度划分的话,方法主要有下面几类:

  • Policy based, 关注点是找到最优策略。

  • Value based, 关注点是找到最优奖励总和。

  • Action based, 关注点是每一步的最优行动。

1.3 按算法进行分类

  • Model-free:不尝试去理解环境, 环境给什么就是什么,一步一步等待真实世界的反馈, 再根据反馈采取下一步行动。
  • Model-based:先理解真实世界是怎样的, 并建立一个模型来模拟现实世界的反馈,通过想象来预判断接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略。它比 Model-free 多出了一个虚拟环境,还有想象力。

  • Policy based:通过感官分析所处的环境, 直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。

  • Value based:输出的是所有动作的价值, 根据最高价值来选动作,这类方法不能选取连续的动作。

  • Monte-carlo update:游戏开始后, 要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新行为准则。

  • Temporal-difference update:在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样就能边玩边学习了。

  • On-policy:必须本人在场, 并且一定是本人边玩边学习。

  • Off-policy:可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则。

 

二、常用算法原理

2.1 蒙特卡洛法(Monta Carlo )

一种无模型(model-free)的学习方法,不需要系统模型-状态转移函数和报酬函数,只需要通过与环境的交互获得的实际或模拟样本数据(状态、动作、报酬)序列,从而发现最优策略。MC 方法是基于平均化取样回报值来求解强化学习问题。 
 

2.2 Q-学习算法

 

2.3 TD  学习算法

 

2.4 Sarsa学习算法

 

2.5 Deep-Q-Network

 

 

 


Remark:上述三种算法共同特点:仅对值函数进行估计,动作选择策略则由值函数的估计完全确定。

你可能感兴趣的:(机器学习——强化学习)