相關代碼鏈接:https://pan.baidu.com/s/1otkNz0QeqzYbKD9ON2Xy5A
提取碼:brus
TD預測:TD(0):
- 雖然蒙特卡洛 (MC) 預測方法必須等到階段結束時才能更新值函數估值,但是時間差分 (TD) 方法在每個時間步之後都會更新值函數。
- 對於任何固定策略,一步 TD(或 TD(0))保證會收斂於真狀態值函數,只要步長參數 足夠小。
- 在實踐中,TD 預測的收斂速度比 MC 預測得要快。
TD預測:動作值
和 TD(0) 算法相似,該算法保證會收斂於真動作值函數,只要步長參數 足夠小。
TD控制:Sarsa(0)
- Sarsa(0)(或 Sarsa)是既定策略 TD 控制方法。它保證會收斂於最優動作值函數 q_*q∗,只要步長參數 \alphaα足夠小,並且所選的 \epsilonϵ 滿足有限狀態下的無限探索貪婪算法 (GLIE) 條件。Sarsa得名原因是每個動作值更新都使用狀態動作獎勵,後續狀態,後續動作,互動元組。
TD控制:Sarsamax
- Sarsamax(或 Q 學習)是一種新策略 TD 控制方法。它會在保證 Sarsa 算法會收斂的相同條件下保證收斂於最優動作值函數 。
TD控制:預期Sarsa
- 預期 Sarsa 是一種新策略 TD 控制方法。它會在保證 Sarsa 和 Sarsamax 算法會收斂的相同條件下保證收斂於最優動作值函數 。
分析性能
- 既定策略 TD 控制方法(例如 Sarsa 和 Sarsa)比新策略 TD 控制方法(例如 Q 學習)的在線性能好。
- 預期 Sarsa 通常性能比 Sarsa 好。
該圖顯示了 Sarsa 和 Q 學習在懸崖行走環境中的效果,常量 \epsilon = 0.1ϵ=0.1。正如在教科書中所描述的,在這種情況下,
- Q 學習的在線效果更差(智能體在每個階段平均收集的獎勵更少),但是能夠學習最優策略,以及
- Sarsa 可以獲得更好的在線效果,但是學到的是次最優“安全”策略。