• 强化学习(David Silver)4:免模型学习


    0、为什么免模型学习?

    在已知的MDP中,可以使用DP来计算求解RL

    但是在未知MDP中,没有转移函数,不能直接求解,此时MDP未知,需要使用采样方法,也就是本课中的Model-Free方法

    PS:课程中迭代的值是值函数;周志华老师的西瓜书中迭代的是状态值函数;课程中迭代的是状态-动作值函数

    1、蒙特卡洛方法

    直接通过采样求和(v(s) = S(s)/n(s),其中S(s) = S(s) + G(t),G(t)=r(t+1)+r(t+2)+...)

    1.1、蒙特卡洛增量计算方法(v(s) = v(s) + a*(G(t)))

    2、TD算法

    自举:从原样本自身的数据抽样得到新的样本的统计量(参考:http://blog.csdn.net/omenglishuixiang1234/article/details/50281249)

    2.1、思想

    用样本值函数均值代替值函数期望

    2.2、计算公式

    1) 全量计算: N(s)<-N(s)+1; S(s)<-S(s)+G(t); V(s)<-S(s)/N(s)  V(s)=S(s)/N(s)

    2) 增量计算: N(s)<-N(s)+1; V(St)<-V(St) + (Gt - V(St)) / N(St); V(St)<-V(St) + lambda * (Gt - V(St)) 

    3、TD(0)

    3.1、计算公式

    V(St)=V(St)+lambda * (R(t+1) + lambda2 * V(St+1)- V(St))

    其中: R(t+1) + lambda2 * V(St+1) 称为TD target;R(t+1) + lambda2 * V(St+1) - V(St) 称作TD error;

    注意:这里的下一个状态并非和上一个状态相同

    3.2、优势

    TD不需要知道完整序列,随时都可以学习;MC相反

    3.3、偏差/方差分析

    True TD target是值函数的无偏估计;采样的TD target是有偏估计

    TD算法方差低,因为它只依赖一个动作就更新

    4、MC和TD的比较

    MC高方差, 无偏; 对初始值不敏感; 容易理解和使用; 在函数逼近(用函数逼近值函数,而不是backup值函数)时好使???

    TD低方差, 有偏;对初始值敏感; 在函数逼近时不好使???

    AB Example说明MC/TD的结果可能不一致

    MC向着最小二乘收敛;TD向MDP的最大似然收敛

    TD探索马尔科夫性,在马尔科夫环境更有效;MC不探索马尔科夫性,在非马尔科夫环境更有效

    5、DP/MC/TD的比较

    从是否自举和backup数考虑

    1)只使用sample backup值,自举,是TD

    2)只使用sample backup值,不自举,是MC

    3)使用full backup值,自举,是DP

    4)使用full backup值,不自举,是穷举搜索

    6、TD(lambda):TD和MC的融合

    6.1、TD(n)

    TD(0)是n=1,向前看一步;TD(infinite)是看到结束,相当于MC

    6.2、定义

    TD(lambda)是TD(0)/TD(1)/TD(2)……的等比加权(几何加权:无记忆, 适合高效计算)组合; 这样TD算法会更加鲁棒

    6.3、后向算法

    优势: 前向算法需要完整的样本, 和MC一样

    信用分配: 频次分配/近邻分配

    基于资格迹的TD(lambda)算法:V(s)=V(s) + td-error*Et(S),其中Et(S)是资格迹(E0(s)=0; Et+1(S) = r*lambda*E(S) + 1(St=s))

    资格迹表征了一个状态在时间和频次上的可信度!!!!

    前向更新和后向更新是一致的

    Question:

    MC在函数逼近时好使;TD在函数逼近时不好使,这是什么意思??? 

    TD(lambda)的后向算法形式上和TD(lambda)有区别,如何等价???

    (课程中只说了lambda为0/1时, 是相等的, 然后就得到了结论95:00-95:09前后, PPT中有证明,哈哈哈)

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

    微信: legelsr0808

    邮箱: legelsr0808@163.com

  • 相关阅读:
    深入理解Mysql——锁、事务与并发控制
    深入理解Mysql——锁、事务与并发控制
    vs code中Vue代码格式化的问题
    Vue中的父子传值问题
    用画布canvas画安卓logo
    用画布canvas画安卓logo
    用画布canvas画安卓logo
    用画布canvas画安卓logo
    软中断
    软中断
  • 原文地址:https://www.cnblogs.com/ai1024/p/7376368.html
Copyright © 2020-2023  润新知