深度强化学习day01初探强化学习
深度强化学习
基本概念
强化学习
强化学习(Reinforcement Learning)是机器学习的一个重要的分支,主要用来解决连续决策的问题。强化学习可以在复杂的、不确定的环境中学习如何实现我们设定的目标。
深度学习
深度学习(Deep Learning)也是机器学习的一个重要分支,也就是多层神经网络,通过多层的非线性函数实现对数据分布及函数模型的拟合。(从统计学角度来看,就是在预测数据分布,从数据中学习到一个模型,然后通过这个模型去预测新的数据)
深度强化学习
深度强化学习(Deep Reinforcement Learning)是一种用于做决策(Decision Making)学习的算法,深度学习善于做非线性拟合,强化学习适合做决策学习。二者结合形成了深度强化学习算法。
初探强化学习
定义:受到行为心理学启发,强化学习主要在关注智能体如何在环境中采取不同的行动,以最大限度地提高累积奖励。
基本框架:智能体(Agent)、环境(Environment)、状态(State)、动作(Action)、奖励(Reward)
核心元素
- 智能体:强化学习的本体,作为学习者和决策者。
- 环境:强化学习智能体以外的一切,主要由状态集构成。
- 状态:表示环境的数据。状态集是环境中所有可能的状态。
- 动作:智能体可以做出的动作。动作集是智能体可以做出的所有动作。
- 奖励:智能体在执行一个动作后,获得的正/负奖励信号。奖励集是智能体可以获得的所有反馈信息,正/负奖励信号亦可称作正/负反馈信号。
- 策略:强化学习是从环境状态到动作的映射学习,该映射关系称为策略。(即:智能体选择动作的思考过程为策略)
- 目标:智能体自主寻找在连续时间序列里的最优策略,而最优策略通常指最大化长期累积奖励。
因此,强化学习实际上是智能体在与环境进行交互的过程中,学会最佳决策序列。
强化学习和机器学习
著名的机器学习十大算法:
- 决策树
- 支持向量机SVM
- 随机森林
- 逻辑回归
- 朴素贝叶斯
- KNN算法
- K-means算法
- AdaBoost算法
- Apriori算法
- PageRank算法
强化学习和机器学习的关系
强化学习和监督学习
区别
- 两者学习方式不尽相同。
- 两者所需的数据类型有差异,监督学习需要多样化的标签数据,强化学习则需要带有回报的交互数据。
学习方式
监督学习
监督学习是对数据进行分析,找到数据的表达模型;然后利用这个模型,在新输入的数据上进行决策(即主要分为训练阶段和预测阶段)。学习只发生在训练阶段,该阶段会出现一个预测阶段不会出现的监督信号。
强化学习
智能体在与环境的互动中,通过不断探索与试错的方式,利用基于正/负奖励的方式进行学习。强化学习的学习过程与生物的自然学习过程非常相似。
先验知识与标注数据
强化学习不需要像监督学习那样依赖先验知识数据,它通过自我博弈的方式产生更多的标准数据。强化学习可以利用较少的训练信息,让系统自主学习补充更多信息使整个系统不受标注数据和先验知识的限制。
拿围棋游戏来说,围棋的棋谱数据很容易获得,这些数据都是人类玩家的动作行为记录。如果利用监督学习模型建模,模型模拟出的对弈技能很有可能只局限在所收集的有限棋谱内。当出现新的下棋方式时,模型可能就因为找不到全局最优解而棋力大减。强化学习模型则不同,它可以利用系统自我学习和奖励的方式,让系统自动学习更多棋谱或者进行智能体间的博弈,这样可以为系统补充更多棋谱信息,进而免受监督者的限制。
深度强化学习day01初探强化学习的更多相关文章
- c++学习day01基础知识学习
一.代码示例解析: #include <iostream> int main() { using namespace std; cout << "come up an ...
- [强化学习]Part1:强化学习初印象
引入 智能 人工智能 强化学习初印象 强化学习的相关资料 经典书籍推荐:<Reinforcement Learning:An Introduction(强化学习导论)>(强化学习教父Ric ...
- 强化学习之 免模型学习(model-free based learning)
强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...
- Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks(用于深度网络快速适应的元学习)
摘要:我们提出了一种不依赖模型的元学习算法,它与任何梯度下降训练的模型兼容,适用于各种不同的学习问题,包括分类.回归和强化学习.元学习的目标是在各种学习任务上训练一个模型,这样它只需要少量的训练样本就 ...
- (zhuan) 深度学习全网最全学习资料汇总之模型介绍篇
This blog from : http://weibo.com/ttarticle/p/show?id=2309351000224077630868614681&u=5070353058& ...
- linux ubuntu 学习总结(day01)基本命令学习
个人总结,请尊重版权,转载请在显眼地方注明出处:https://www.cnblogs.com/sunshine5683/p/9948259.html day(01)基本命令学习 今天开始自学linu ...
- (转)2019年 React 新手学习指南 – 从 React 学习线路图说开去
原文:https://www.html.cn/archives/10111 注:本文根据 React 开发者学习线路图(2018) 结构编写了很多新手如何学习 React 的建议.2019 年有标题党 ...
- JavaWeb学习总结-04 Servlet 学习和使用
一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...
- 如何学习FPGA?FPGA学习必备的基础知识
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA 基础知识 FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...
随机推荐
- 设计模式在JDK中的应用
在JDK(Java Development Kit)类库中,开发人员使用了大量设计模式. 创建型模式: (1) 抽象工厂模式(Abstract Factory) • java.util.Calenda ...
- Bitmap,byte[],Drawable相互转化
1.Drawable就是一个可画的对象.其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable).还有可能是一个图层(LayerDrawable),我们依据绘图 ...
- url操作等
取得url ?及以前: baseUrl = url.substr(0,url.indexOf('?')+1) searchParam = searchParam.slice(0, -1);//去掉最后 ...
- 张忠谋:3nm制程会出来 2nm后很难(摩尔定律还可维持10年)
集微网消息,台积电董事长张忠谋表示,摩尔定律可能还可再延续10年,3nm制程应该会出来,2nm则有不确定性,2nm之后就很难了. 张忠谋表示,1998年英特尔总裁贝瑞特来台时,两人曾针对摩尔定律还可延 ...
- 【书单】matlab 科学计算、数值分析以及数学物理问题
1. 数学计算 MATLAB数值计算 MATLAB之父 : 编程实践 2. 数学物理问题 高等应用数学问题的MATLAB求解(第3版)(豆瓣评价极好) 3. 模式识别
- Java利用Zxing生成二维码
Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法,现在我简单介绍一下使用Java利用Zxing生成与解析二维码 1.二维码的生成 1.1 将Zxing ...
- sdutoj1225--编辑距离(dp:字符串转换)
编辑距离 nid=24#time" style="padding-bottom:0px; margin:0px; padding-left:0px; padding-right:0 ...
- Lexer的设计--中(4)
设计一个小型的内存池以及链表 上一节撸到万事俱备只欠真正的lex, 但是lex的作用是将源代码转化为Token流, 用什么保存Token? 这就涉及到我们要接触的第一个数据结构-链表, 虽然标准库中很 ...
- linux命令行模式下实现代理上网 专题
有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...
- python3 提示No module named _sqlite3
yum install sqlite-devel 下载python3.6.3 重新编译安装 ./configure --enable-loadable-sqlite-extensions & ...