Expected Sarsa 算法的數學原理


🌟 一、Expected Sarsa 算法的數學原理

1. 什么是 Expected Sarsa?

Expected Sarsa 是一種基于 時序差分(Temporal Difference, TD)學習 的強化學習算法,用于估計 動作值函數 ( q_{\pi}(s, a) )。它是 Sarsa 算法的一種改進版本,通過計算期望值來減少方差,提高學習的穩定性。

2. Expected Sarsa 的目標方程

Expected Sarsa 的目標是求解以下方程:

[qπ(s,a)=E[Rt+1+γEAt+1~π(St+1)[qπ(St+1,At+1)]∣St=s,At=a],?s,a.][ q_{\pi}(s,a)=\mathbb{E}\Big[R_{t+1}+\gamma\mathbb{E}_{A_{t+1}\sim\pi(S_{t+1})}[q_{\pi}(S_{t+1},A_{t+1})]\Big|S_{t}=s,A_{t}=a\Big],\quad\forall s,a. ][qπ?(s,a)=E[Rt+1?+γEAt+1?π(St+1?)?[qπ?(St+1?,At+1?)]?St?=s,At?=a],?s,a.]

  • ( q_{\pi}(s,a) ):在策略 ( \pi ) 下,狀態-動作對 ( (s,a) ) 的動作值函數。
  • ( R_{t+1} ):在狀態 ( s ) 執行動作 ( a ) 后獲得的即時獎勵。
  • ( \gamma ):折扣因子,平衡即時獎勵和未來獎勵。
  • ( \mathbb{E}{A{t+1}\sim\pi(S_{t+1})}[\cdot] ):表示在下一狀態 ( S_{t+1} ) 下,根據策略 ( \pi ) 選擇動作 ( A_{t+1} ) 的期望。

3. 與貝爾曼方程的關系

上述方程是 貝爾曼期望方程(Bellman Expectation Equation) 的另一種表達形式:

[qπ(s,a)=E[Rt+1+γvπ(St+1)∣St=s,At=a],][ q_{\pi}(s,a)=\mathbb{E}\Big[R_{t+1}+\gamma v_{\pi}(S_{t+1})\Big|S_{t}=s,A_{t}=a\Big], ][qπ?(s,a)=E[Rt+1?+γvπ?(St+1?)?St?=s,At?=a],]

  • ( v_{\pi}(S_{t+1}) ):在策略 ( \pi ) 下,下一狀態 ( S_{t+1} ) 的狀態值函數。
  • 這個方程表示動作值函數 ( q_{\pi}(s,a) ) 等于即時獎勵加上下一狀態的狀態值函數的折扣期望。

🌟 二、Expected Sarsa 與 Sarsa 的區別

特點SarsaExpected Sarsa
更新目標使用實際采樣的下一動作 ( A_{t+1} )使用下一狀態所有動作的期望值
方差較高(因為采樣動作隨機性大)較低(因為對所有動作取期望)
穩定性較低較高
計算復雜度較低較高(需要計算期望)

🌟 三、Expected Sarsa 的更新公式

Expected Sarsa 的動作值函數更新公式為:

[Q(St,At)←Q(St,At)+α[Rt+1+γEA′~π(St+1)[Q(St+1,A′)]?Q(St,At)]][ Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \Big[ R_{t+1} + \gamma \mathbb{E}_{A'\sim\pi(S_{t+1})}[Q(S_{t+1}, A')] - Q(S_t, A_t) \Big] ][Q(St?,At?)Q(St?,At?)+α[Rt+1?+γEAπ(St+1?)?[Q(St+1?,A)]?Q(St?,At?)]]

  • ( \alpha ):學習率。
  • ( \mathbb{E}{A’\sim\pi(S{t+1})}[Q(S_{t+1}, A’)] ):在下一狀態 ( S_{t+1} ) 下,根據策略 ( \pi ) 對所有動作 ( A’ ) 的 ( Q ) 值取期望。

🌟 四、總結

你提供的圖片內容強調了以下幾點:

  • Expected Sarsa 是一種用于求解動作值函數的強化學習算法。
  • 它通過計算期望值來減少方差,提高學習的穩定性。
  • 該算法的數學基礎是貝爾曼期望方程。

🌟 五、進一步學習建議

如果你想更深入地理解 Expected Sarsa 算法,可以:

  • 學習 SarsaQ-learning,比較它們與 Expected Sarsa 的異同。
  • 了解 on-policyoff-policy 的區別(Expected Sarsa 是 on-policy)。
  • 嘗試用 Python 實現 Expected Sarsa 算法,解決簡單的強化學習問題(如網格世界、懸崖行走等)。

希望這個解釋能幫助你更好地理解 Expected Sarsa 算法!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88340.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88340.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88340.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue的watch和React的useEffect

參考文章:https://zhuanlan.zhihu.com/p/686329898

idea中合并git分支

1.把本地dev代碼合并到本地master代碼在提交代碼之前,先確保dev和master都拉取了最新的代碼都進行了Git->pull了這時候確保Local的第一個分支是master分支,然后選擇dev分支 ,鼠標右鍵-》Merge dev into master這時候會提示 有合并到本地master最新的代…

《Spring 中上下文傳遞的那些事兒》Part 7:異步任務上下文丟失問題詳解

📝 Part 7:異步任務上下文丟失問題詳解 在現代 Java 應用中,異步編程已經成為提升性能、解耦業務邏輯的重要手段。無論是使用 CompletableFuture、線程池(ExecutorService)、定時任務(ScheduledExecutorSe…

大語言模型驅動智能語音應答:技術演進與架構革新

在智能客服、電話銀行等場景中,用戶時常遇到這樣的困境:“請描述您的問題...抱歉沒聽清,請重試...正在為您轉接人工”。傳統語音應答(IVR)系統受限于規則引擎與淺層語義理解,難以應對復雜多變的自然語言表達…

【Linux】內存管理

要求:1、編寫程序,實現如下功能。(1)隨機生成 1000000 個 0~1 之間的數;(2)統計分析這些數據,計算均值、方差和分布情況,分布情況按0.01 的步長進行統計;&…

蒼穹外賣—day1

文章目錄前言一、接口文檔導入與生成二、前端環境搭建三、后端環境搭建1. 了解項目結構2. 環境搭建常見問題總結前言 (簡要說明筆記的目的:記錄搭建過程、關鍵配置和結構理解) 一、接口文檔導入與生成 Apifox 導入 使用工具:https…

基于微信小程序的在線疫苗預約小程序源碼+論文

基于微信小程序的在線疫苗預約系統源碼論文代碼可以查看文章末尾??聯系方式獲取,記得注明來意哦~🌹 分享萬套開題報告任務書答辯PPT模板 作者完整代碼目錄供你選擇: 《SpringBoot網站項目》800套 《SSM網站項目》1200套 《小程序項目》600套…

Windows 11 安裝過程中跳過微軟賬戶創建本地賬戶

背景 在 Windows 11 的安裝和設置過程中,Microsoft 賬號登錄是默認的認證方式。然而,在某些情況下,可能需要繞過此步驟以創建本地賬戶。 微軟在 2025 年 3 月推送的 Windows 11 預覽版(Build 26120.3653 和 Build 26200.5516&am…

利用DBeaver實現異構數據庫數據定時任務同步

1、背景 本需求需要實現抽取KingBaseEs數據庫的某幾張表數據,定時同步到MySQL中 2、工具準備 2.1 DBeaverEE25.1(必須要企業版,如果用社區版沒有定時任務功能) https://dbeaver.io/download/ 2.2 KingBaseEs數據庫及驅動 https://www.kingbase.com…

【TCP/IP】1. 概述

1. 概述1. 概述1.1 因特網及技術催生新時代1.1.1 信息化時代1.1.2 關鍵技術1.1.3 國家戰略1.2 網絡互聯的動機和技術1.2.1 網絡互聯的動機1.2.2 網絡互聯技術1.3 因特網的形成和發展1.3.1 國際因特網發展軌跡1.3.2 中國互聯網發展1.4 有關因特網的組織機構1.5 請求注解&#xf…

中老年人的陪伴,貓咪與機器人玩具有什么區別?

在人口結構深度老齡化的背景下,中老年群體的精神需求與情感陪伴已成為重要的社會議題。貓咪作為活生生的伴侶動物,與日新月異的智能陪伴機器人,代表了兩種截然不同的情感慰藉路徑——前者承載著生命互動的溫度與責任,后者則彰顯了…

day11-微服務面試篇

微服務在面試時被問到的內容相對較少,常見的面試題如下:SpringCloud有哪些常用組件?分別是什么作用?服務注冊發現的基本流程是怎樣的?Eureka和Nacos有哪些區別?Nacos的分級存儲模型是什么意思?R…

昇騰 k8s vnpu配置

參考文檔: https://www.hiascend.com/document/detail/zh/mindx-dl/500/AVI/cpaug/cpaug_018.html 此文檔實現為NPU910B3卡 主機設置靜態虛擬npu 設置虛擬化模式 !本命令只支持再物理機執行,取值為0或1,(如果是在虛擬機內劃分vNPU…

Redis常用數據結構以及多并發場景下的使用分析:Set類型

文章目錄前言redis中的set結構疑問1 :為什么使用數組后 整體時間復雜度還是O(1)疑問2: set特性是無序的那為什么當元素少的時候 用連續數組 去存儲呢?疑問3:當元素少于512的時候即使用intset存儲的時候 是如何維護唯一性的&#x…

Linux中rw-rw-r--相關的訪問權限講解

下面就是關于 rw-rw-r-- 的知識圖譜式講解。核心節點:rw-rw-r-- (文件權限表示法) 這是一個在 Linux/Unix 操作系統中,通過 ls -l 命令查看到的,用于描述文件或目錄訪問權限的10字符字符串。分支一:字符串的解剖 (Anatomy of the …

C#異常處理:更優雅的方式

C#異常處理:更優雅的方式 在 C# 編程的世界里,異常處理是繞不開的重要環節。程序運行時難免會出現各種意外,若處理不當,可能導致程序崩潰,給用戶帶來糟糕體驗。所以,掌握更優雅的異常處理方式,對…

Qt6中模態與非模態對話框區別

一.阻塞 vs 非阻塞1.模態對話框阻塞父窗口:打開后,用戶必須先處理該對話框(關閉或完成操作),才能繼續操作父窗口。應用場景:強制用戶立即響應的場景,如確認對話框、登錄窗口、文件選擇器等。2.非…

處理Web請求路徑參數

目錄 1. 路徑變量(Path Variable) 2. 查詢參數(Query Parameter) 3. 表單參數(Form Data) 4. 請求體JSON參數(Request Body JSON) 5. 請求頭參數(Header Parameters&…

創客匠人:技術賦能下的創始人 IP 打造與內容創作新邏輯

在知識變現的浪潮中,創始人 IP 的核心競爭力始終圍繞內容展開,但內容創作的效率與質量往往成為瓶頸。創客匠人基于對行業的深刻洞察,探索出技術與內容融合的路徑,為創始人 IP 打造提供了新的思路 —— 不再將內容創作視為單純的輸…

Mysql分片:一致性哈希算法

一、一致性哈希的核心原理哈希取模最大的痛點是:當分片數量(例如數據庫節點數)發生變化時,幾乎所有數據的哈希結果都會改變,導致大規模的數據遷移。一致性哈希就是為了解決這個“伸縮性差”的問題而誕生的。核心思想&a…