大家好,今天跟大家分享一下强化学习。
1.强化学习的历史发展
- 1956年Bellman提出了动态规划方法。
- 1977年Werbos提出只适应动态规划算法。
- 1988年sutton提出时间差分算法。
- 1992年Watkins 提出Q-learning 算法。
- 1994年rummery 提出Saras算法。
- 1996年Bersekas提出解决随机过程中优化控制的神经动态规划方法。
- 2006年Kocsis提出了置信上限树算法。
- 2009年kewis提出反馈控制只适应动态规划算法。
- 2014年silver提出确定性策略梯度(Policy Gradents)算法。
- 2015年Google-deepmind 提出Deep-Q-Network算法。
2.强化学习的介绍
- Supervised learning:监督学习有标签,能告诉你训练结果的对与错。可以看成根据监督者的先验知识提供的先例进行监督学习。
- Unsupervised learning:非监督学习无标签,算法能够通过数据之间的关联性将数据分类进行处理。
- Reinforcement learning:强化学习的目标是使得回报最大化。强化学习和非监督学习的关键部分就是回报的选择。强化学习是学习状态和行为之间的映射关系,以使得数值回报达到最大化。换句话说,在未知采取何种行为的情况下,学习者必须通过不断尝试才能发现采取哪种行为能够产生最大回报。
随机博弈包括两个框架:
1.马尔科夫决策过程(MDP):MDP包括一个智能体和多个状态。
2.矩阵博弈:矩阵博弈包括多个智能体和一个状态。
随机博弈可以看成是多个智能体和多个状态的问题。
3.常用强化学习算法介绍
强化学习从提出到现在,也差不多半个世纪左右。到目前为止,常见的强化学习的算法有下面几种,以及不同的分类。
- Model-free:不尝试去理解环境, 环境给什么就是什么,一步一步等待真实世界的反馈, 再根据反馈采取下一步行动。
- Model-based:先理解真实世界是怎样的, 并建立一个模型来模拟现实世界的反馈,通过想象来预判断接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略。它比 Model-free 多出了一个虚拟环境,还有想象力。
- Policy based:通过感官分析所处的环境, 直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。
- Value based:输出的是所有动作的价值, 根据最高价值来选动作,这类方法不能选取连续的动作。
- Monte-carlo update:游戏开始后, 要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新行为准则。
- Temporal-difference update:在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样就能边玩边学习了。
- On-policy:必须本人在场, 并且一定是本人边玩边学习。
- Off-policy:可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则。
4.基本的数学知识和理论
1.LS算法
inputs:x(n) outputs:y(n)
成本函数为:
求得LS解为:
预测误差为:
2.RLS算法:
等式中
求得RLS的解为:
3.LMS算法:
LMS相对与LS来说,其解析解为:
LMS的迭代解为: