• 强化学习(David Silver)3:动态规划


    1、简介

    1.1、动态规划

    动态规划的性质:最优子结构;无后向性

    动态规划假定MDP所有信息已知,解决的是planning问题,不是RL问题

    1.2、两类问题

    预测问题:给定策略,给出MDP/MRP和策略,计算策略值函数

    控制问题:不给策略,给出MDP/MRP,得出最优策略值函数

    2、策略评估

    通过贝尔曼方程,进行值函数迭代,就完成了策略评估

    通过GridWorld的例子说明:值函数对于策略选择很有用;在策略评估中,随机策略迭代很多轮才得到最优策略;

    在基于值函数的贪心策略中,贪心选择了三次就得到了最优策略

    这个问题同时说明,寻找最优策略,不一定需要等到值函数收敛的时候,可能中途就已经是最优策略了

    3、策略迭代

    3.1、步骤

    1)策略评估

    2)通过贪心改善策略

    理论上说,收敛速率和初始状态无关;实践上说,但是收敛时间的确和初始状态有关,所以初始状态选择很重要

    4、值迭代

    来源:把MDP过程分解,每个状态下的最优策略都可以分解为,从这个状态出发,采用这个策略的到达的新状态的最优策略之和(好绕,哈哈哈哈)

    值迭代的中间过程,并不直接对应于某个策略;不需要策略评估,直接从贝尔曼最优方程迭代即可

    5、DP

    迭代更新的时候,值函数不需要批量更新,逐个更新就可以

    三种更新方式:

    1、In-place update:逐个更新

    2、优先更新:根据差值设置更新顺序,按差值从大到小排序

    3、Real-time update:找那些agent真正访问过的状态更新

    DP只能处理中等规模问题,也就是数量级为百万的问题;对于大型问题,backup代价很大,需要sample

    6、Contraction Mapping

    如果发现文中有问题,敬请联系作者批评指正,真诚欢迎您的指教,谢谢!

    微信: legelsr0808

    邮箱: legelsr0808@163.com

  • 相关阅读:
    第一节 2字符串 简单
    第一节 1C#基础 简单
    终于找到wamp修改密码方式了!
    js通过class name获得元素
    JavaScript中arguments
    对技术的态度
    C++的坑真的多吗?
    js 常用正则
    js利用Array.splice实现Array的insert/remove
    c# asp.net webform web页面打印,可以控制需要打印和不需要打印的位置
  • 原文地址:https://www.cnblogs.com/ai1024/p/7368313.html
Copyright © 2020-2023  润新知