zoukankan      html  css  js  c++  java
  • 增强学习笔记 第六章 TD方法

    TD是一个结合DP和MC之间的方法。TD不需要环境模型,但是又可以bootstrap。

    6.1 TD预测

    典型的TD(0)预测方程:

    看第三章关于状态价值的等式:

    MC用的是第一行,它之所以为估计,因为不知道$G_t$的期望值,而使用的采样来做的平均。

    DP用的是最后一行,它之所以为估计,是因为不知道$v_{pi}(S_{t+1})$,是通过迭代方式不断更新的。

    而TD则是两者的结合,它通过采样来获得$R_{t+1}$,通过迭代来获取$v_{pi}(S_{t+1})$

    6.2 TD方法的优点

    相对于DP,TD不需要模型,相对于MC,TD是一种在线算法。同时TD通常比MC收敛更快。

    6.3 TD(0)的最优化

    MC收敛到最小均方

    TD收敛到马尔科夫过程的最大似然,但是TD接近最小均方的效率也比MC要好。

    6.4 Sarsa:On-Policy TD控制

    我们这是使用action value

     6.5 Q学习:Off-Policy TD控制

    把上面的式子作修改:

     

    之所以称为off-policy,是因为红框处的a的选取是根据最大值,而不是由当前策略决定的。

     6.6 期望Sarsa

    我们对Sarsa的迭代式作另外一种修改:

    三者在Cliff Walking问题上的表现差异:

    Expected Sarsa也是一种在线算法,因为它是根据当前策略来定的下一个A,只是做了平均。当然也可以修改成一个off-line的算法,例如用一对policy的方式。

    三种方法非常类似,唯一区别就是在估算过程中选择下一个action的方式。

    6.7 最大化偏差和成对学习

    上面三种方法都存在最大化偏差问题:

     

    根据上面这个式子,对初始点$S_t=A$来说,当$A_t=left$时,红框中的数值通常大于零。但是实际上均值是-0.1。对Sarsa,Expected Sarsa也是如此。

    观察上面的曲线,一开始会偏差很远,之后渐进到最佳值,依然还是有偏差。

    这个问题并不会导致算法失败,但是会导致收敛较慢较差。

    造成问题的原因是:我们用了同一个序列来做选择动作和评估,解决问题的方法使用:double Q-learning,建立两个Q函数。

     6.8 案例(略)

  • 相关阅读:
    总结一些关于操作数据库是sql语句还是存储过程问题
    vs2010 创建预编译头 Debug 正常 Release Link Error问题解决
    创建Unicode格式的INI文件
    dos命令记录以及dos下通过进程id查找工作路径
    windows下多字节和宽字节转换
    关于多字节传输导致的乱码问题
    关于mysql数据库字符集优先级问题
    转: Apache开启gzip
    HTML 5 drag and drop 简介
    转: ES6异步编程: co函数库的含义与用法
  • 原文地址:https://www.cnblogs.com/milaohu/p/7624751.html
Copyright © 2011-2022 走看看