之前讲了监督学习和无监督学习,今天主要讲“强化学习”。

  • 马尔科夫决策过程;Markov Decision Process(MDP)
  • 价值函数;value function
  • 值迭代;value iteration(算法,解决MDP)
  • 政策迭代;policy iteration(算法,解决MDP)

什么是强化学习?

强化学习(reinforcement learning,又称再励学习,评价学习)是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。但在传统的机器学习分类中没有提到过强化学习,而在连接主义学习中,把学习算法分为三种类型,即非监督学习(unsupervised learning)、监督学习(supervised leaning)和强化学习。

  • 根据Agent当前状态,选择了动作a,这时与环境发生了交互,Agent观测到下一个状态,并收到了一定的奖赏r(有好有坏)。

  • 如此反复的与环境进行交互,在一定条件下,Agent会学习到一个最优/次优的策略。


马尔科夫决策过程

马尔可夫决策过程是基于马尔可夫过程理论的随机动态系统的最优决策过程。马尔可夫决策过程是序贯决策的主要研究领域。它是马尔可夫过程与确定性的动态规划相结合的产物,故又称马尔可夫型随机动态规划,属于运筹学中数学规划的一个分支。

(以下转自:http://blog.csdn.net/dark_scope/article/details/8252969

马尔科夫决策是一个五元组,,用一个机器人走地图的例子来说明它们各自的作用

S:状态集:就是所有可能出现的状态,在机器人走地图的例子中就是所有机器人可能出现的位置

A:action,也就是所有可能的行动。机器人走地图的例子假设机器人只能朝四个方向走,那么A就是{N,S,E,W}表示四个方向

P:就是机器人在S状态时采取a行动的概率

γ:叫做discount factor,是一个0到1之间的数,这个数决定了动作先后对于结果的影响度,在棋盘上的例子来说就是影响了这一步

棋对于最结果的影响有多大可能说起来比较模糊,通过后面的说明可能会讲得比较清楚。

R:是一个reward function,也就是可能是一个,也可能是,对应来说就是地图上的权值

有了这样一个决策过程,那么机器人在地图上活动的过程也可以表现为如下的形式:

也就是从初始位置开始,选择一个action到达另一个状态,直到到达终状态,因此我们这样来定义这个过程的价值:

可以看出越早的决定对价值影响越大,其后则依次因为γ而衰减

其实可以看出,给出一个MDP之后,因为各个元都是定值,所以存在一个最优的策略(ploicy),策略即是对于每个状态给出一个action,最优

策略就是在这样的策略下从任意一个初始状态能够以最大的价值到达终状态。策略用π表示。用

表示在策略π下以s为初始状态所能取得的价值,而通过Bellman equation,上式又等于:

注意这是一个递归的过程,在知道s的价值函数之前必去知道所有的s'的价值函数。(价值函数指的是Vπ())

而我们定义最优的策略为π*,最优的价值函数为V*,可以发现这两个东西互为因果,都能互相转化。


价值迭代(Value iteration )

这个过程其实比较简单,因为我们知道R的值,所以通过不断更新V,最后V就是converge到V*,再通过V*就可以得到最优策略π*,通

过V*就可以得到最优策略π*其实就是看所有action中哪个action最后的value值最大即可,此处是通过bellman equation,可以通过解bellman equation得到

所有的V的值,这里有一个动归的方法,注意马尔科夫决策过程中的P其实是指客观存在的概率,比如机器人转弯可能没法精确到一个方向,而不是指在s状态

机器人选择a操作   的概率,刚才没说清楚

在此说明,也就是说:

是一个客观的统计量。


策略迭代(policy iteration)

策略迭代法(policy iteration method),动态规划中求最优策略的基本方法之一。它借助于动态规划基本方程,交替使用“求值计算”和“策略改进”两个步骤,求出逐次改进的、最终达到或收敛于最优策略的策略序列。

这次就是通过每次最优化π来使π converge到π*,V到V*。但因为每次都要计算π的value值,所以这种算法并不常用

【cs229-Lecture16】马尔可夫决策过程的更多相关文章

  1. 增强学习(二)----- 马尔可夫决策过程MDP

    1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是 ...

  2. [Reinforcement Learning] 马尔可夫决策过程

    在介绍马尔可夫决策过程之前,我们先介绍下情节性任务和连续性任务以及马尔可夫性. 情节性任务 vs. 连续任务 情节性任务(Episodic Tasks),所有的任务可以被可以分解成一系列情节,可以看作 ...

  3. 强化学习-MDP(马尔可夫决策过程)算法原理

    1. 前言 前面的强化学习基础知识介绍了强化学习中的一些基本元素和整体概念.今天讲解强化学习里面最最基础的MDP(马尔可夫决策过程). 2. MDP定义 MDP是当前强化学习理论推导的基石,通过这套框 ...

  4. David Silver强化学习Lecture2:马尔可夫决策过程

    课件:Lecture 2: Markov Decision Processes 视频:David Silver深度强化学习第2课 - 简介 (中文字幕) 马尔可夫过程 马尔可夫决策过程简介 马尔可夫决 ...

  5. 【RL系列】马尔可夫决策过程——状态价值评价与动作价值评价

    请先阅读上两篇文章: [RL系列]马尔可夫决策过程中状态价值函数的一般形式 [RL系列]马尔可夫决策过程与动态编程 状态价值函数,顾名思义,就是用于状态价值评价(SVE)的.典型的问题有“格子世界(G ...

  6. 【RL系列】马尔可夫决策过程中状态价值函数的一般形式

    请先阅读上一篇文章:[RL系列]马尔可夫决策过程与动态编程 在上一篇文章里,主要讨论了马尔可夫决策过程模型的来源和基本思想,并以MAB问题为例简单的介绍了动态编程的基本方法.虽然上一篇文章中的马尔可夫 ...

  7. 【RL系列】马尔可夫决策过程——Jack‘s Car Rental

    本篇请结合课本Reinforcement Learning: An Introduction学习 Jack's Car Rental是一个经典的应用马尔可夫决策过程的问题,翻译过来,我们就直接叫它“租 ...

  8. 马尔可夫决策过程MDP

    1. 马尔可夫模型的几类子模型 马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是马尔可夫性(无 ...

  9. 转:增强学习(二)----- 马尔可夫决策过程MDP

    1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是 ...

随机推荐

  1. javaweb学习总结(十九)——JSP标签

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  2. Leetcode 121 Best Time to Buy and Sell Stock 动态规划

    由于题意太长,请自己翻译,很容易懂的. 做法:从前向后遍历数组,记录当前出现过的最低价格,作为买入价格,并计算以当天价格出售的收益,作为可能的最大收益,整个遍历过程中,出现过的最大收益就是所求.动态规 ...

  3. JavaScript的for循环编写九九乘法表

    for(var i = 1; i <= 10; i++) { for(var j = 1; j <= i; j++) { document.writeln(i + '*' + j + '= ...

  4. C# winform的WebBrowser非常规编程(强烈推荐)

    本文章被今日头条推荐 1.在WebBrowser中实现抓取301和302协议 在WebBrowser中抓取301和302协议目前官方提供的组件远远不够,需要借助HttpMonitor.dll.这个组件 ...

  5. iOS开发拓展篇——如何把项目托管到GitHub

    iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注 ...

  6. Installing Oracle and ArcSDE on separate servers

    http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002n0000000q000000

  7. 努力学习 HTML5 (2)—— 元素的增和删

    HTML5 放松了某些规则,HTML5 的制定者想让这门语言更紧密地反映浏览器的现实. 放松的规则 不要求包含 <html>.<head> 和 <body> 元素. ...

  8. mysql5.5 uuid做主键与int做主键的性能实测

    数据库:mysql5.5 表类型:InnoDB 数据量:100W条 第一种情况: 主键采用uuid 32位. 运行查询语句1:SELECT COUNT(id) FROM test_varchar; 运 ...

  9. 如何利用OCS缓存TomcatSession全局变量(转)

    转: 首先非常感谢阿里云给我们提供了一个如此省事的平台. 我们公司是一家物流公司,主要提供运输和仓储的服务.我们现在正在把我们的系统往阿里云迁移.当然,还在迁移过程中,所以还有很多是没办法现在说得太清 ...

  10. arcgis flexviewer中由Application向widget传值

    arcgis flexviewer所有的小部件类均继承自com.esri.viewer.BaseWidget基类,而BaseWidget又继承了com.esri.viewer.IBaseWidget接 ...