深度强化学习

基本概念

  • 强化学习

    强化学习(Reinforcement Learning)是机器学习的一个重要的分支,主要用来解决连续决策的问题。强化学习可以在复杂的、不确定的环境中学习如何实现我们设定的目标。

  • 深度学习

    深度学习(Deep Learning)也是机器学习的一个重要分支,也就是多层神经网络,通过多层的非线性函数实现对数据分布及函数模型的拟合。(从统计学角度来看,就是在预测数据分布,从数据中学习到一个模型,然后通过这个模型去预测新的数据)

  • 深度强化学习

    深度强化学习(Deep Reinforcement Learning)是一种用于做决策(Decision Making)学习的算法,深度学习善于做非线性拟合,强化学习适合做决策学习。二者结合形成了深度强化学习算法。

初探强化学习

  • 定义:受到行为心理学启发,强化学习主要在关注智能体如何在环境中采取不同的行动,以最大限度地提高累积奖励。

  • 基本框架:智能体(Agent)、环境(Environment)、状态(State)、动作(Action)、奖励(Reward)

  • 核心元素

    • 智能体:强化学习的本体,作为学习者和决策者。
    • 环境:强化学习智能体以外的一切,主要由状态集构成。
    • 状态:表示环境的数据。状态集是环境中所有可能的状态。
    • 动作:智能体可以做出的动作。动作集是智能体可以做出的所有动作。
    • 奖励:智能体在执行一个动作后,获得的正/负奖励信号。奖励集是智能体可以获得的所有反馈信息,正/负奖励信号亦可称作正/负反馈信号。
    • 策略:强化学习是从环境状态到动作的映射学习,该映射关系称为策略。(即:智能体选择动作的思考过程为策略)
    • 目标:智能体自主寻找在连续时间序列里的最优策略,而最优策略通常指最大化长期累积奖励。

因此,强化学习实际上是智能体在与环境进行交互的过程中,学会最佳决策序列

强化学习和机器学习

  • 著名的机器学习十大算法:

    1. 决策树
    2. 支持向量机SVM
    3. 随机森林
    4. 逻辑回归
    5. 朴素贝叶斯
    6. KNN算法
    7. K-means算法
    8. AdaBoost算法
    9. Apriori算法
    10. PageRank算法
  • 强化学习和机器学习的关系

强化学习和监督学习

  • 区别

    1. 两者学习方式不尽相同。
    2. 两者所需的数据类型有差异,监督学习需要多样化的标签数据,强化学习则需要带有回报的交互数据。
  • 学习方式

    • 监督学习

      ​ 监督学习是对数据进行分析,找到数据的表达模型;然后利用这个模型,在新输入的数据上进行决策(即主要分为训练阶段预测阶段)。学习只发生在训练阶段,该阶段会出现一个预测阶段不会出现的监督信号。

    • 强化学习

      ​ 智能体在与环境的互动中,通过不断探索试错的方式,利用基于正/负奖励的方式进行学习。强化学习的学习过程与生物的自然学习过程非常相似。

  • 先验知识与标注数据

    ​ 强化学习不需要像监督学习那样依赖先验知识数据,它通过自我博弈的方式产生更多的标准数据。强化学习可以利用较少的训练信息,让系统自主学习补充更多信息使整个系统不受标注数据和先验知识的限制。

​ 拿围棋游戏来说,围棋的棋谱数据很容易获得,这些数据都是人类玩家的动作行为记录。如果利用监督学习模型建模,模型模拟出的对弈技能很有可能只局限在所收集的有限棋谱内。当出现新的下棋方式时,模型可能就因为找不到全局最优解而棋力大减。强化学习模型则不同,它可以利用系统自我学习和奖励的方式,让系统自动学习更多棋谱或者进行智能体间的博弈,这样可以为系统补充更多棋谱信息,进而免受监督者的限制。

深度强化学习day01初探强化学习的更多相关文章

  1. c++学习day01基础知识学习

    一.代码示例解析: #include <iostream> int main() { using namespace std; cout << "come up an ...

  2. [强化学习]Part1:强化学习初印象

    引入 智能 人工智能 强化学习初印象 强化学习的相关资料 经典书籍推荐:<Reinforcement Learning:An Introduction(强化学习导论)>(强化学习教父Ric ...

  3. 强化学习之 免模型学习(model-free based learning)

    强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...

  4. Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks(用于深度网络快速适应的元学习)

    摘要:我们提出了一种不依赖模型的元学习算法,它与任何梯度下降训练的模型兼容,适用于各种不同的学习问题,包括分类.回归和强化学习.元学习的目标是在各种学习任务上训练一个模型,这样它只需要少量的训练样本就 ...

  5. (zhuan) 深度学习全网最全学习资料汇总之模型介绍篇

    This blog from : http://weibo.com/ttarticle/p/show?id=2309351000224077630868614681&u=5070353058& ...

  6. linux ubuntu 学习总结(day01)基本命令学习

    个人总结,请尊重版权,转载请在显眼地方注明出处:https://www.cnblogs.com/sunshine5683/p/9948259.html day(01)基本命令学习 今天开始自学linu ...

  7. (转)2019年 React 新手学习指南 – 从 React 学习线路图说开去

    原文:https://www.html.cn/archives/10111 注:本文根据 React 开发者学习线路图(2018) 结构编写了很多新手如何学习 React 的建议.2019 年有标题党 ...

  8. JavaWeb学习总结-04 Servlet 学习和使用

    一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...

  9. 如何学习FPGA?FPGA学习必备的基础知识

    如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA   基础知识       FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...

随机推荐

  1. Delphi 中的字符串(还解释了shortstring)good

    一.Delphi 2009 之前的字符串(不支持 Unicode): Delphi 2009 之前的字符串分为 3 种:ShortString.AnsiString.WideString. [Shor ...

  2. 音频、视频等文件格式(.ts、.meta)及其认识

    MPEG:Moving Picture Experts Group,动态图像专家组, JPEG:Joint Photographic Experts Group,联合图像专家组 1. .ts .ts ...

  3. 拦截和跟踪HTTP请求的主要方法及实现

    一.HTTP 请求的拦截技术可以广泛地应用在反向代理.拦截 Ajax 通信.网页的在线翻译.网站改版重构等方面.而拦截根据位置可以分为服务器端和客户端两大类,客户端拦截借助 JavaScript 脚本 ...

  4. Modbus TCP 示例报文

    调试modbus  tcp 整理百度文库文档如下 <modbus-tcp-报文举例分析> <MODBUSTCP通讯报文> Client request: 19 B2 00 00 ...

  5. java构造器的作用

    通常通过在构造器中传入参数,对字段进行初始化,以达到初始化所创建的对象实例的目的.

  6. C# WPF 仿网易云音乐(PC)Banner动画控件

    在自定义用户控件内添加3个border(左.中.右,以下分别简称为:b1.b2.b3),对border进行缩放和移动动画.往右切换时b1放大平移到b2的位置,b2缩小平移到b3的位置,b3平移到b1的 ...

  7. 简明Python3教程 13.面向对象编程

    简介 (注: OOP代表面向对象编程,OO代表面向对象,以后全部使用英文缩写) 迄今为止我们编写的所有程序都是围绕函数创建的,函数即操纵数据的语句块.这称作面向过程编程. 除此之外还有另一种组织程序的 ...

  8. WPF 3D模型的一个扩展方法

    原文:WPF 3D模型的一个扩展方法 在WPF 3D中,我们常常需要改变一个ModelVisual3D对象的颜色. 先说说ModelVisual3D,本质上3D模型都是由一个个的三角形构成的,并且经过 ...

  9. ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新建项目(Windows) 对于任何语言和框架,都 ...

  10. C# 读取大文件 (可以读取3GB大小的txt文件)

    原文:C# 读取大文件 (可以读取3GB大小的txt文件) 在处理大数据时,有可能 会碰到 超过3GB大小的文件,如果通过 记事本 或 NotePad++去打开它,会报错,读不到任何文件. 如果你只是 ...