> 目  录 

 > 笔  记 

Dynamic programming(DP)

定义:a collection of algorithms that can be used to compute optimal policies given a perfect model of the environment as a Markov decision process (MDP).

经典的DP算法处理RL problem的能力有限的原因:(1) 假设a perfect model with complete knowledge;(2) 巨大的计算开销

Policy Evaluation (Prediction)

policy evaluation: the iterative computation of the state-value function $v_{\pi}$ for a given policy $\pi$.

用迭代=的方法实现评估: 旧的value = expected immediate rewards + 从后继states获得的values

这种更新操作叫做expected update,因为它基于所有可能的后继states的期望,而非单个next state sample。

存储方式:有two-array version(同时存储old和new value) 和 in-place algorithm(只存储new value)两种,通常采用后者,收敛的更快。

Policy Improvement

我们计算policy的价值函数的目的是希望能够帮助我们找到更好的policy。

Policy improvement theorem:

两个确定的策略$\pi$和$\pi'$,如果满足:

那么策略$\pi'$一定比$\pi$好or跟它一样好。因此,策略$\pi'$可以在所有state上得到更多or相等的expected return:

证明如下:

Policy improvement:

定义: Policy improvement refers to the computation of an improved policy given the value function for that policy.

相比原始策略$\pi$,如果我们在所有states上采用贪心算法来选择action,那么得到的新策略如下:

因为其满足policy improvement theorem的条件,所以新的greedy policy $\pi'$要比old policy更好。我们可以根据这一性质,不断地对policy进行改进,直到new policy和old policy一样好,即$v_{\pi}=v_{\pi'}$,此时对所有的states满足:

该式子正是Bellman optimality equation,因此$v_{\pi'}$一定是$\v_{*}$, 策略$\pi$和$\pi‘’$一定是最优策略。

Policy Iteration

定义: 一种把policy evaluation和policy improvement结合在一起的常见的DP方法。

因为finite MDP只有有限数量的策略,因此最终总会在有限步数内收敛到一个optimal policy和optimal value function。

Value Iteration

policy iteration的缺点:每一轮迭代都需要执行policy evaluation,而policy evaluation需要对state set扫描多次并且$\v_{\pi}$最终很久才能收敛。

改进方法:可否让policy evaluation早一些停止?value iteration不再等policy evaluation收敛,而是只对所有state扫描一次就停止。将policy evaluation和policy improvement的步骤同时进行:

Asynchronous Dynamic Programming

之前讨论的DP方法的缺点在于:需要对MDP中所有states进行扫描、操作,导致效率低下。

Asynchronous DP algorithms: 是in-place iterative DP algorithms,这类算法可以按照任意顺序更新state的value,并且不管其他states当前的value是何时更新的。

需要注意的是,avoiding state sweeps并不意味着我们可以减少计算量,其好处是(1) 可以让我们尽快利用更新后的value来提升policy,并且减少更新那些无用的states。(2)可以实时计算,所以可以实现iterative DP algorithm  at the same time that agent is actually experiencing the MDP。agent经历可以用于决定更新那些states。

Generalized Policy Iteration

generalized policy iteration (GPI):policy-evaluation and policy-improvement processes interaction

                 

Reinforcement Learning: An Introduction读书笔记(4)--动态规划的更多相关文章

  1. Reinforcement Learning: An Introduction读书笔记(3)--finite MDPs

     > 目  录 <  Agent–Environment Interface Goals and Rewards Returns and Episodes Policies and Val ...

  2. Reinforcement Learning: An Introduction读书笔记(1)--Introduction

      > 目  录 <   learning & intelligence 的基本思想 RL的定义.特点.四要素 与其他learning methods.evolutionary m ...

  3. Reinforcement Learning: An Introduction读书笔记(2)--多臂机

     > 目  录 <  k-armed bandit problem Incremental Implementation Tracking a Nonstationary Problem ...

  4. 《Machine Learning Yearing》读书笔记

    ——深度学习的建模.调参思路整合. 写在前面 最近偶尔从师兄那里获取到了吴恩达教授的新书<Machine Learning Yearing>(手稿),该书主要分享了神经网络建模.训练.调节 ...

  5. Machine Learning for hackers读书笔记(六)正则化:文本回归

    data<-'F:\\learning\\ML_for_Hackers\\ML_for_Hackers-master\\06-Regularization\\data\\' ranks < ...

  6. 《算法导论》读书笔记之动态规划—最长公共子序列 & 最长公共子串(LCS)

    From:http://my.oschina.net/leejun2005/blog/117167 1.先科普下最长公共子序列 & 最长公共子串的区别: 找两个字符串的最长公共子串,这个子串要 ...

  7. Machine Learning for hackers读书笔记(三)分类:垃圾邮件过滤

    #定义函数,打开每一个文件,找到空行,将空行后的文本返回为一个字符串向量,该向量只有一个元素,就是空行之后的所有文本拼接之后的字符串 #很多邮件都包含了非ASCII字符,因此设为latin1就可以读取 ...

  8. Machine Learning for hackers读书笔记_一句很重要的话

    为了培养一个机器学习领域专家那样的直觉,最好的办法就是,对你遇到的每一个机器学习问题,把所有的算法试个遍,直到有一天,你凭直觉就知道某些算法行不通.

  9. Machine Learning for hackers读书笔记(十二)模型比较

    library('ggplot2')df <- read.csv('G:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\12-Model_C ...

随机推荐

  1. 从NoSQL到NewSQL,谈交易型分布式数据库建设要点

    在上一篇文章<从架构特点到功能缺陷,重新认识分析型分布式数据库>中,我们完成了对不同"分布式数据库"的横向分析,本文Ivan将讲述拆解的第二部分,会结合NoSQL与Ne ...

  2. git学习笔记 看廖大神视频小记

    1.创建一个空目录 $ mkdir gittemp $cd gittemp $pwd //x显示当前目录 2.$ git init 把这个目录变成git可以管理的仓库 多的一个隐藏的.git 目录 可 ...

  3. Javascript高级编程学习笔记(64)—— 事件(8)键盘与文本事件

    键盘与文本事件 用户在使用键盘时会触发键盘事件 “DOM2级事件”最初规定了键盘事件,但是最后在定稿时又删除了相应内容 所以键盘事件被放入了DOM3级事件的规范中 总的来说有三个键盘事件: keydo ...

  4. Javascript高级编程学习笔记(54)—— DOM2和DOM3(6)范围选择

    范围 为了让开发人员更加方便地控制页面“DOM2级遍历和范围”模块定义了“范围”接口 通过该接口开发人员可以选择文档中的一个区域,而不必考虑元素的界限 在常规操作不能有效地修改文档时,使用范围往往可以 ...

  5. mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间

    1.当前日期 select DATE_SUB(curdate(),INTERVAL 0 DAY) ; 2.明天日期select DATE_SUB(curdate(),INTERVAL -1 DAY) ...

  6. 从面试连跪到收割offer,回顾我的春招面试历程(研发岗位)

    本文首发于自微信公众号[程序员江湖] 作者How 2 Play Life,985 软件硕士,阿里 Java 研发工程师,在技术校园招聘.自学编程.计算机考研等方面有丰富经验和独到见解,目前致力于分享程 ...

  7. 物流一站式查询之TrackingMore篇

    连载篇提前看 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100篇 快递查询接口 目前提供快递查询的接口平台有: Trackingmore 快递100 ...

  8. 为hexo博客添加基于gitment评论功能

    关于gitment gitment其实就是利用你的代码仓库的Issues,来实现评论.每一篇文章对应该代码仓库中的 一个Issues,Issues中的评论对应你的博客每篇文章中的评论.如果你是用git ...

  9. TCP/IP 笔记 - TCP数据流和窗口管理

    TCP流量控制机制通过动态调整窗口大小来控制发送端的操作,确保路由器/接收端消息不会溢出. 交互式TCP连接 交互式TCP连接指该连接需要在客户端和服务器之间传输用户输入信息,如按键操作.短消息.操作 ...

  10. Linux 权限位详解

    1. Linux 权限位 对于权限,有点绕,因为文件的权限和目录的权限是有一些区别的. 在Linux中,有5种权限,分别是,r.w.x.s.t. 可读权限:r 可写权限:w 可执行权限:x Setui ...