增强学习(Reinforcement Learning)
2015-03-08 22:16
134 查看
机器学习算法大致可以分为三种:
1. 监督学习(如回归,分类)
2. 非监督学习(如聚类,降维)
3. 增强学习
什么是增强学习呢?
增强学习(reinforcementlearning, RL)又叫做强化学习,是近年来机器学习和智能控制领域的主要方法之一。
定义: Reinforcement learning is learning what to do ----how to map situations to actions ---- so as to maximize a numerical reward signal.[1]
也就是说增强学习关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。
通过增强学习,一个智能体应该知道在什么状态下应该采取什么行为。RL是从环境状态到动作的映射的学习,我们把这个映射称为策略。
那么增强学习具体解决哪些问题呢,我们来举一些例子:
例1. flappy bird 是现在很流行的一款小游戏,不了解的同学可以点链接进去玩一会儿。现在我们让小鸟自行进行游戏,但是我们却没有小鸟的动力学模型,也不打算了解它的动力学。要怎么做呢? 这时就可以给它设计一个增强学习算法,然后让小鸟不断的进行游戏,如果小鸟撞到柱子了,那就获得-1的回报,否则获得0回报。通过这样的若干次训练,我们最终可以得到一只飞行技能高超的小鸟,它知道在什么情况下采取什么动作来躲避柱子。
例2. 假设我们要构建一个下国际象棋的机器,这种情况不能使用监督学习,首先,我们本身不是优秀的棋手,而请象棋老师来遍历每个状态下的最佳棋步则代价过于昂贵。其次,每个棋步好坏判断不是孤立的,要依赖于对手的选择和局势的变化。是一系列的棋步组成的策略决定了是否能赢得比赛。下棋过程的唯一的反馈是在最后赢得或是输掉棋局时才产生的。这种情况我们可以采用增强学习算法,通过不断的探索和试错学习,增强学习可以获得某种下棋的策略,并在每个状态下都选择最有可能获胜的棋步。目前这种算法已经在棋类游戏中得到了广泛应用。
可以看到,增强学习和监督学习的区别主要有以下两点:
1. 增强学习是试错学习(Trail-and-error),由于没有直接的指导信息,智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。
2. 延迟回报,增强学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,就是获得正回报或者负回报以后,如何将回报分配给前面的状态。
增强学习是机器学习中一个非常活跃且有趣的领域,相比其他学习方法,增强学习更接近生物学习的本质,因此有望获得更高的智能,这一点在棋类游戏中已经得到体现。Tesauro(1995)描述的TD-Gammon程序,使用增强学习成为了世界级的西洋双陆棋选手。这个程序经过150万个自生成的对弈训练后,已经近似达到了人类最佳选手的水平,并在和人类顶级高手的较量中取得40 盘仅输1盘的好成绩。
下篇我们正式开始学习增强学习,首先介绍一下马尔可夫决策过程。
参考资料:
[1] R.Sutton et al. Reinforcement learning: An introduction , 1998
[2] T.Mitchell. 《机器学习》,2003
[3] Andrew Ng.CS229: Machine learning Lecture notes
1. 监督学习(如回归,分类)
2. 非监督学习(如聚类,降维)
3. 增强学习
什么是增强学习呢?
增强学习(reinforcementlearning, RL)又叫做强化学习,是近年来机器学习和智能控制领域的主要方法之一。
定义: Reinforcement learning is learning what to do ----how to map situations to actions ---- so as to maximize a numerical reward signal.[1]
也就是说增强学习关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。
通过增强学习,一个智能体应该知道在什么状态下应该采取什么行为。RL是从环境状态到动作的映射的学习,我们把这个映射称为策略。
那么增强学习具体解决哪些问题呢,我们来举一些例子:
例1. flappy bird 是现在很流行的一款小游戏,不了解的同学可以点链接进去玩一会儿。现在我们让小鸟自行进行游戏,但是我们却没有小鸟的动力学模型,也不打算了解它的动力学。要怎么做呢? 这时就可以给它设计一个增强学习算法,然后让小鸟不断的进行游戏,如果小鸟撞到柱子了,那就获得-1的回报,否则获得0回报。通过这样的若干次训练,我们最终可以得到一只飞行技能高超的小鸟,它知道在什么情况下采取什么动作来躲避柱子。
例2. 假设我们要构建一个下国际象棋的机器,这种情况不能使用监督学习,首先,我们本身不是优秀的棋手,而请象棋老师来遍历每个状态下的最佳棋步则代价过于昂贵。其次,每个棋步好坏判断不是孤立的,要依赖于对手的选择和局势的变化。是一系列的棋步组成的策略决定了是否能赢得比赛。下棋过程的唯一的反馈是在最后赢得或是输掉棋局时才产生的。这种情况我们可以采用增强学习算法,通过不断的探索和试错学习,增强学习可以获得某种下棋的策略,并在每个状态下都选择最有可能获胜的棋步。目前这种算法已经在棋类游戏中得到了广泛应用。
可以看到,增强学习和监督学习的区别主要有以下两点:
1. 增强学习是试错学习(Trail-and-error),由于没有直接的指导信息,智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。
2. 延迟回报,增强学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,就是获得正回报或者负回报以后,如何将回报分配给前面的状态。
增强学习是机器学习中一个非常活跃且有趣的领域,相比其他学习方法,增强学习更接近生物学习的本质,因此有望获得更高的智能,这一点在棋类游戏中已经得到体现。Tesauro(1995)描述的TD-Gammon程序,使用增强学习成为了世界级的西洋双陆棋选手。这个程序经过150万个自生成的对弈训练后,已经近似达到了人类最佳选手的水平,并在和人类顶级高手的较量中取得40 盘仅输1盘的好成绩。
下篇我们正式开始学习增强学习,首先介绍一下马尔可夫决策过程。
参考资料:
[1] R.Sutton et al. Reinforcement learning: An introduction , 1998
[2] T.Mitchell. 《机器学习》,2003
[3] Andrew Ng.CS229: Machine learning Lecture notes
相关文章推荐
- abap--一个功能非常全面的增强出口查找工具 (仅供学习)
- Atlas学习手记(21):使用行为增强用户界面(一):Click Behavior
- SQL Server 2005 T-SQL学习笔记:TOP的增强
- SQL Server 2005 T-SQL学习笔记:TOP的增强
- 多想别人学习。增强编程能力。
- 高级sql学习--增强group by!!!
- 2008.7.30 增强版“高校师生学习交流互动平台”在首届全国文科计算机设计大赛中荣获一等奖(50多评委)
- BW中变量增强学习
- directshow学习之语音程序有待增强的地方
- Atlas学习手记(22):使用行为增强用户界面(二):Floating Behavior
- abap--一个功能非常全面的增强出口查找工具 (仅供学习)
- Atlas学习手记(24):使用行为增强用户界面(四):Popup Behavior
- .NET Framework 3.5增强特性学习工具包已发布
- Atlas学习手记(21):使用行为增强用户界面(一):Click Behavior
- Atlas学习手记(23):使用行为增强用户界面(三):Hover Behavior
- Atlas学习手记(25):使用行为增强用户界面(五):AutoComplete Behavior
- abap--一个功能非常全面的增强出口查找工具 (仅供学习)
- Smart Client学习笔记(5) 托管代码的增强调试功能
- java学习之增强for循环
- abap--一个功能非常全面的增强出口查找工具 (仅供学习)