機器學習方法篇(27)------時序差分方法

● 每週一言

智商決定深度,而情商決定高度。

導語

前面分別講解了增強學習當中的動態規劃方法和蒙特卡洛方法的算法思想。在實際問題當中,DP通常無法或者很難得到問題的真實模型結構,MC則很難估算一次行動的最終價值獎勵。

時序差分方法結合了動態規劃和蒙特卡洛方法的優點,是強化學習的核心思想。那麼,TD的算法思想是什麼?

時序差分方法

前文我們瞭解了MC是每次對樣本進行完整的採樣模擬,用最終的實際價值收穫來更新策略和價值函數。同樣的,TD也是每次對樣本進行採樣模擬,但並非完整採樣,而是每次只採樣單步或者幾步,根據新狀態的價值收穫來更新策略和價值函數。

fig1

因此,MC可以理解爲最大步數的TD。本節將介紹TD單步學習法,單步學習法理論上可以推廣到多步學習法。TD單步學習法最簡單的實現步驟如下:

1> 初始化價值函數V(s),s∈S;
2> 選擇一個狀態-行爲對(s, a);
3> 用當前策略函數F,向後模擬一步;
4> 用新狀態的獎勵R(s, a)更新價值函數V;
5> 用新的價值函數V優化策略函數F;
6> 轉第3步,直到模擬進入終止狀態。

上述算法中的字母含義可參見 機器學習方法篇(24)——理解RL中的MDP

fig2

在具體算法應用層面,主要有on-policy的 Sarsa算法 和off-policy的 Q-learning算法 兩種。

Sarsa算法的策略更新和行爲模擬是同一個函數。每一次模擬下一步時,預先計算所有可能的下一步,並隨之更新策略函數F,再根據新的F模擬下一步。

Q-learning算法的策略更新和行爲模擬不是同一個函數。每一次使用貪心策略直接模擬R最大的下一步,並更新策略函數F。

fig3

上述兩種方法的區別在於,更新策略函數F的時候,是先轉移狀態還是先計算更新。相比之下,Sarsa比較保守,而Q-learning則較爲大膽,二者各有優劣。

由於目前小鬥對這兩種算法還沒有實際使用經驗,只能暫時點到爲止,等日後實操再作進一步分享。

以上便是TD的講解,敬請期待下節內容。

結語

感謝各位的耐心閱讀,後續文章於每週日奉上,敬請期待。歡迎大家關注小鬥公衆號 對半獨白

face

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章