TD时间差分算法

news/2025/2/25 23:41:41/

TD算法用来估计value-state

给定data/experiece of algorithm,在这里插入图片描述
TD算法
在这里插入图片描述
其中TD error:
δ t = v ( s t ) − [ r t + 1 + γ v ( s t + 1 ) ] = v ( s t ) − v t ‾ \delta_t = v(s_t) -[r_{t+1}+ \gamma v(s_{t+1})]=v(s_t) - \overline{v_{t}} δt=v(st)[rt+1+γv(st+1)]=v(st)vt

其中 v t ‾ \overline{v_{t}} vt为目标值,该算法的目标是使得 v t v_t vt在下一个时刻t+1趋近于 v t ‾ \overline{v_{t}} vt.
证明:
在这里插入图片描述

最小化TD error为什么能求得最优策略?

假设最优策略为 π \pi π,
在这里插入图片描述
也就是说当 v t = v π v_t=v_{\pi} vt=vπ时,TD error = 0;所以最小化TD error可以求得最佳策略。

TD的数学含义

求解给定策略的Bellman公式:

Bellman exception equation:
在这里插入图片描述

TD就是求解该bellman公式的RM算法
推导过程:
在这里插入图片描述

在这里插入图片描述
可以看出这个解公式和TD算法非常相似,

TD与MC(蒙特卡洛)算法比较

TD:
  • online learning
  • Bootstrapping :更新value 的值依赖于之前对value的估计,需要随机初始值。
  • 低方差:随机采样值较少( R t + 1 R_{t+1} Rt+1 S t + 1 S_{t+1} St+1 A t + 1 A_{t+1} At+1
  • 有偏差:依赖于初始估计,如果初始估计不准,会造成误差。随着数据越来越多,bais会逐渐变小。
MC:
  • offline learning(必须要等到episode结束之后才能才能累计数据进行更新)只能处理episodic task;
  • Non-boostrapping:直接估计state/action values,不需要随机初始值。
  • 高方差:随机变量多: R t + 1 + R t + 2 + R t + 3 R_{t+1} + R_{t+2} + R_{t+3} Rt+1+Rt+2+Rt+3,且只用较少的采样数据来估计。假设整个episode的长度为L,每步的action的可能性有5个,那么会有 5 L 5^L 5L可能的episode。
  • 无偏估计:不依赖于初始估计。

Sarsa:

刚才介绍的TD算法只能估计state-values,Sarsa可以直接估计action values,并且结合policy improvement可以求解最优策略。

给定策略,如何估计action-value?
Sarsa(State-action-reward-state-action的缩写)就是将TD中的V换为Q:
在这里插入图片描述
Sarsa(policy evaluation)结合policy improvement求解最优策略:
首先在给定策略上求解bellman公式(TD算法
再进行policy improvement

和MC的不同:在对state进行估计update后,立马进行policy update,而不是积累很多数据对state进行一个相对准确的估计
在这里插入图片描述

Expected Sarsa:

与Sarsa的区别:
TD target由 r t + 1 + γ q ( s t + 1 , a t + 1 ) r_{t+1}+ \gamma q(s_{t+1},a_{t+1}) rt+1+γq(st+1,at+1)变为了 r t + 1 + γ v ( s t + 1 ) r_{t+1}+ \gamma v(s_{t+1}) rt+1+γv(st+1)

由于要计算期望,所以需要更多的数据;
由于不需要得到 a t + 1 a_{t+1} at+1,所以观测的随机变量变少了,随机性变少了,方差变小了
在这里插入图片描述

N-step Sarsa:

将Sarsa与MC相结合:
Sarsa基于一步的action来计算,N-step Sarsa等待n步的数据,再计算
在这里插入图片描述
N-step Sarsa 是一个更一般化的形式,当n=1,为Sarsa算法,当n-> ∞ \infty 时就变成了MC算法。N-step Sarsa是两个算法之间的一种平衡,可以平衡方差和偏差。
在这里插入图片描述


http://www.ppmy.cn/news/1574917.html

相关文章

Android之APP更新(通过接口更新)

文章目录 前言一、效果图二、实现步骤1.AndroidManifest权限申请2.activity实现3.有版本更新弹框UpdateappUtilDialog4.下载弹框DownloadAppUtils5.弹框背景图 总结 前言 对于做Android的朋友来说,APP更新功能再常见不过了,因为平台更新审核时间较长&am…

云夹平台:一站式学习与生活效率工具

在数字化时代,高效管理知识、资源和日常事务成为现代人的核心需求。云夹平台正是这样一款集多功能于一体的智能工具,致力于为用户提供便捷、个性化的服务体验。无论你是学生、职场人士还是终身学习者,云夹都能成为你的得力助手。 1. 书签管理…

elasticsearch在windows上的配置

写在最前面: 上资源 第一步 解压: 第二步 配置两个环境变量 第三步 如果是其他资源需要将标蓝的文件中的内容加一句 xpack.security.enabled: false 不同版本的yaml文件可能配置不同,末尾加这个 xpack.security.enabled: true打开bin目…

什么是DeFi (去中心化金融)

DeFi (去中心化金融) 概述 💰 1. DeFi 基础概念 1.1 什么是 DeFi? DeFi 是建立在区块链上的金融服务生态系统,它: 无需中心化中介开放且透明无需许可即可参与代码即法律 1.2 DeFi 的优势 开放性:任何人都可以参与…

AWS S3深度解析:十大核心应用场景与高可用架构设计实践

摘要:作为全球领先的对象存储服务,Amazon S3凭借其高扩展性、持久性和安全性,已成为企业云原生架构的核心组件。本文将深入探讨S3的典型技术场景,并揭秘其背后的架构设计逻辑。 一、AWS S3核心技术特性解析 Amazon Simple Storag…

蓝桥杯 Java B 组之最短路径算法(Dijkstra、Floyd-Warshall)

Day 2:最短路径算法(Dijkstra、Floyd-Warshall) 📖 一、最短路径算法简介 最短路径问题是图论中的经典问题,主要用于求解 单源最短路径 或 多源最短路径。在实际应用中,最短路径广泛应用于 导航系统、网络…

生活教练项目_Trae

XMXALifeCoach - 个人成长辅导网站 网址: https://github.com/zhangxiaomeng1/XMXALifeCoach 项目简介 这是一个基于DeepSeek R1 API开发的个人成长辅导网站。通过与AI进行对话,用户可以获得个性化的建议和指导,帮助个人成长。 技术架构 前端&#xff1a…

overflow-x: auto 使用鼠标实现横向滚动,区分触摸板和鼠标滚动事件的方法

假设一个 div 的滚动只设置了 overflow-x: auto 我们发现使用鼠标的滚轮是无法左右滚动的,但是使用笔记本电脑的触摸板,或者在移动设备上是可以滚动的。所以我们需要兼容一下鼠标的横向滚动功能。 我们可以监控 wheel 事件,然后根据位置来计…