【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)

【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
前面總結了馬爾科夫決策過程之Markov Processes(馬爾科夫過程),見下文:馬爾科夫決策過程之Markov Processes(馬爾科夫過程)
馬爾科夫決策過程之Markov Reward Process(馬爾科夫獎勵過程),見下文:馬爾科夫決策過程之Markov Reward Process(馬爾科夫獎勵過程)
本文總結一下馬爾科夫決策過程之Bellman Equation(貝爾曼方程)


1Bellman Equation for MRPs


首先我們從value function的角度進行理解,value function可以分爲兩部分:
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
見下面的推導公式:
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
我們直接從第一行到最後一行是比較好理解的,因爲從狀態s到狀態s+1,是不確定,還是之前的例子。



比如擲骰子游戲,當前點數是1的情況下,下一個狀態有可能是1,2,3,4,5,6的任意一種狀態可能,所以最外層會有一個期望符號。

如果我們跟着一直推下來的話:有疑問的會在導出最後一行時,將G(t+1)變成了v(St+1)。其理由是收穫的期望等於收穫的期望的期望。參考葉強童鞋的理解。

則最後我們得到了針對MRP的Bellman方程:
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
通過方程可以看出v(s)由兩部分組成,一是該狀態的即時獎勵期望,即時獎勵期望等於即時獎勵,因爲根據即時獎勵的定義,它與下一個狀態無關。

這裏解釋一下爲什麼會有期望符合,是因爲從狀態s的下一個狀態s+1可能有多個狀態,比如擲骰子,下一個狀態可能有1,2,3,4,5,6,從s到下一個狀態都是有一定概率,所以會有期望符合。

另一個是下一時刻狀態的價值期望,可以根據下一時刻狀態的概率分佈得到其期望,比如在上面擲骰子例子中,從狀態1到下一個狀態1,2,3,4,5,6求期望的做法,我們可以直接用概率公式p(1->1),p(1->2),p(1->3),p(1->4),p(1->5),p(1->6) 然後乘以對應下一狀態的價值函數即可。

如果用s’表示s狀態下一時刻任一可能的狀態,那麼Bellman方程可以寫成:
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
完整的slides如下:

【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)

2Example: Bellman Equation for Student MRP


好,我們在上面既然知道了通過Bellman Equation來迭代的計算每個狀態的價值函數,下面我們舉出一個例子來算一個狀態的value function幫助理解
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
通過上圖我們分析一下4.3如何計算?見下圖即可:
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
可能還有一些童鞋會問,算該狀態的value function的時候,其它的狀態的value function是怎麼知道的呢?



比如算4.3的時候,我們如何知道它後繼狀態的value funciton爲0.8,10。其實這些值一開始可以任意初始化,後面可以學習更新,就類似於神經網絡的權值參數,一開始任意初始化,後面通過loss反向更新一樣。

3Bellman Equation in Matrix Form


最後我們可以給出Bellman方程的矩陣形式和求解
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
結合矩陣的具體表達形式如下:
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)


總的slides如下:
【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)

Bellman方程是一個線性方程組,理論上解可以直接求解:

【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)
但是它的計算複雜度是0(n^3), 是狀態數量,因爲矩陣的求逆過程爲0(n^3)。
由於求解複雜度較高。因此直接求解僅適用於小規模的MRPs。

大規模MRP的求解通常需要使用迭代法。常用的迭代方法有:

  • 動態規劃Dynamic Programming、
  • 蒙特卡洛評估Monte-Carlo evaluation、
  • 時序差分學習Temporal-Difference,
    後面會分別介紹這些方法。

參考:
David Silver深度強化學習課程 第2課 - 馬爾科夫決策過程葉強:
葉強 https://zhuanlan.zhihu.com/p/28084942

【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)

推薦閱讀:

當RNN神經網絡遇上NER(命名實體識別):雙向LSTM,條件隨機場(CRF),層疊Stack LSTM, 字母嵌入
【深度學習實戰】pytorch中如何處理RNN輸入變長序列padding
【機器學習基本理論】詳解最大後驗概率估計(MAP)的理解

      歡迎關注公衆號學習交流~         

【強化學習】馬爾科夫決策過程之Bellman Equation(貝爾曼方程)

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