最近在学习强化学习,因此开设强化学习专栏,记下强化学习的学习笔记,
什么是强化学习?
强化学习又称再励学习、评价学习,是一种重要的机器学习方法,但是在传统的机器学习方法中并没有提到强化学习,而在连接主义学习中,把学习算法分为三种类型,即非监督学习(unsupervised learning)、监督学习(supervised leaning)和强化学习。
强化学习主要解决序贯决策问题。
什么叫序贯决策问题?
序贯决策是指按时间顺序排列起来,以得到按顺序的各种决策(策略),是用于随机性或不确定性动态系统最优化的决策方法。(此处参考百度百科)
如何解决?
它不关⼼输⼊⻓什么样, 只关⼼当前输⼊下应该采⽤什么动作才能实现最终的⽬标。 再
次强调, 当前采⽤什么动作与最终的⽬标有关。 也就是说当前采⽤什么动作, 可以使得整个任务序列达到最优。 如何使整个任务序列达到最优呢?这就需要智能体不断地与环境交互, 不断尝试, 因为智能体刚开始也不知道在当前状态下哪个动作有利于实现⽬标。 智能体通过动作与环境进⾏交互时, 环境会返给智能体⼀个当前的回报, 智能体则根据当前的回报评估所采取的动作:有利于实现⽬标的动作被保留, 不利于实现⽬标的动作被衰减。强化学习和监督学习的共同点是两者都需要⼤量的数据进行训练, 但是两者所需要的数据类型不同。 监督学习需要的是多样化的标签数据, 强化学习需要的是带有回报的交互数据。 由于输入的数据类型不同, 这就使得强化学习算法有它自己的获取数据、 利用数据的独特方法。
强化学习问题有以下几种分类:
1、 根据强化学习算法是否依赖模型可分为基于模型的强化学习算法和无模型的强化学习算法。
这两类算法的共同点是通过与环境交互获得数据,不同点是利用数据的方式不同。基于模型的强化学习算法利用与环境交互得到的数据学习系统或者环境模型,再基于模型进行序贯决策。无模型的强化学习算法则是直接利用与环境交互获得的数据改善自身的行为。两类方法各有优缺点,一般来讲基于模型的强化学习算法效率要比无模型的强化学习算法效率更高,因为智能体在探索环境时可以利用模型信息。但是有些根本无法建立模型的任务只能利用无模型的强化学习算法。由于无模型的强化学习算法不需要建模,所以和基于模型的强化学习算法相比,更具有通用性。
2、 根据策略的更新和学习方法,强化学习算法可分为基于值函数的强化学习算法、基于直接策略搜索的强化学习算法以及AC的方法。
所谓基于值函数的强化学习方法是指学习值函数,最终的策略根据值函数贪婪得到。也就是说,任意状态下,值函数最大的动作为当前最优策略。基于直接策略搜索的强化学习算法,一般是将策略参数化,学习实现目标的最优参数。基于AC的方法则是联合使用值函数和直接策略搜索。
3、 根据环境返回的回报函数是否已知,强化学习算法可以分为正向强化学习和逆向强化学习。
在强化学习中,回报函数是人为指定的,回报函数指定的强化学习算法称为正向强化学习。很多时候,回报无法人为指定,如无人机的特效表演,这时可以通过机器学习方法由函数自己学出来回报。
---------引用自《深入浅出强化学习:原理入门》