强化学习各种算法分析及Eligibility Trace教程
来源:互联网 发布:面向接口编程 编辑:程序博客网 时间:2024/05/18 00:52
Monte Carlo算法需要运行完整的episode,利用所有观察到的真是的reward(奖励值)来更新算法。Temporal Difference(TD)算法仅当前时刻采样的reward(奖励值)进行value function的估计。一个折中的方法就是利用n步的reward(奖励进行估计)。
TD(λ)算法:定义0<λ<1,使第k步的奖励乘以系数。
实际中使用的TD(λ)算法称为backward view of the TD(λ) algorithm,该方法通常使用eligibility traces。
eligibility traces是一种将n步的信息备份起来的简洁方式。用来存储信息,其值初始化为0,根据以下规则在每一步中更新:
或见过另一种更新方法:
其中λ为衰减因子。该trace在每次访问状态中都会增加,并且上一时刻的trace指数衰减。在时刻t的temporal difference error可以表示如下:
因此,每一步中的value function更新律如下:
对于TD(λ),如果λ=1,则变为Monte Carlo算法,因为考虑了所有时刻的reward返回值。如果λ=0,则变为TD(0)算法,只考虑当前时刻的reward返回值。
eligibility traces算法可以跟所有的model-free(无模型)算法结合使用。
MC使用准确的return reward进行value function的更新,TD使用Bellman equation对value function进行估计,将估计值value的目标值进行更新。TD由于每一步都可以更新,因此学习速度快,用作online learning。由于TD是估计值,因此算法是存在偏差的。但是由于TD对每一步进行估计,只有最近的一步对其有影响,而MC收到整个episode时间段中所有的动作影响,因此TD算法的方差相对MC算法比较小,即波动小。
- 强化学习各种算法分析及Eligibility Trace教程
- 强化学习之Eligibility Traces
- RL强化学习各种算法流程伪代码
- 强化学习简明教程
- Actor-Critic强化学习教程
- 各种排序算法分析及java实现
- java实现各种排序算法及分析
- 强化学习入门及资料
- 机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍
- 强化学习(reinforcement learning)教程
- 强化学习(reinforcement learning)教程
- 模型汇总19 强化学习(Reinforcement Learning)算法基础及分类
- EBS并发请求生成trace及分析
- 当强化学习遇见泛函分析
- 强化学习算法的原理理解
- 深度强化学习中的DQN系列算法
- 深度强化学习中DDPG算法
- 强化学习A3C与UNREAL算法
- C++ string assign()赋值常用方法
- Echarts图表通过Ajax动态更新数据
- Struts2和Spring
- java equals ==
- 正则表达式
- 强化学习各种算法分析及Eligibility Trace教程
- C(单链表)实现的员工管理系统
- ImageRequest 过时的处理方式
- Java并发之Timer,TimerTask
- Linux shell 循环
- 十六进制RGB三色原理
- java 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
- 温故而实习之
- 使用sftp对文件进行上传或者是下载