博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
增强学习(一) ----- 基本概念
阅读量:5359 次
发布时间:2019-06-15

本文共 1455 字,大约阅读时间需要 4 分钟。

机器学习算法大致可以分为三种:

    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. 是现在很流行的一款小游戏,不了解的同学可以点链接进去玩一会儿。现在我们让小鸟自行进行游戏,但是我们却没有小鸟的动力学模型,也不打算了解它的动力学。要怎么做呢? 这时就可以给它设计一个增强学习算法,然后让小鸟不断的进行游戏,如果小鸟撞到柱子了,那就获得-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

 

  

 

 

转载于:https://www.cnblogs.com/jinxulin/p/3511298.html

你可能感兴趣的文章
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Linux自己安装redis扩展
查看>>
luoguP3414 SAC#1 - 组合数
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
Spring mvc初学
查看>>
VTKMY 3.3 VS 2010 Configuration 配置
查看>>
01_1_准备ibatis环境
查看>>
windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决
查看>>
JavaScript中的BOM和DOM
查看>>
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
查看>>
spring注入Properties
查看>>
jmeter(五)创建web测试计划
查看>>
python基本数据类型
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>