馬爾可夫決策過程MDP


 

1. 馬爾可夫模型的幾類子模型

  馬爾科夫鏈(Markov Chain),了解機器學習的也都知道隱馬爾可夫模型(Hidden Markov Model,HMM)。它們具有的一個共同性質就是馬爾可夫性(無后效性),也就是指系統的下個狀態只與當前狀態信息有關,而與更早之前的狀態無關。

  馬爾可夫決策過程(Markov Decision Process, MDP)也具有馬爾可夫性,與上面不同的是MDP考慮了動作,即系統下個狀態不僅和當前的狀態有關,也和當前采取的動作有關。還是舉下棋的例子,當我們在某個局面(狀態s)走了一步(動作a),這時對手的選擇(導致下個狀態s’)我們是不能確定的,但是他的選擇只和s和a有關,而不用考慮更早之前的狀態和動作,即s’是根據s和a隨機生成的。

  我們用一個二維表格表示一下,各種馬爾可夫子模型的關系就很清楚了:

  不考慮動作 考慮動作
狀態完全可見 馬爾科夫鏈(MC) 馬爾可夫決策過程(MDP)
狀態不完全可見 隱馬爾可夫模型(HMM) 不完全可觀察馬爾可夫決策過程(POMDP)

2. 馬爾可夫決策過程

一個馬爾可夫決策過程由一個四元組構成M = (S, A, Psa, R ) [注1]

  • S: 表示狀態集(states),有s∈S,si表示第i步的狀態。
  • A:表示一組動作(actions),有a∈A,ai表示第i步的動作。
  • Psa: 表示狀態轉移概率。Psa 表示的是在當前s ∈ S狀態下,經過a ∈ A作用后,會轉移到的其他狀態的概率分布情況。比如,在狀態s下執行動作a,轉移到s'的概率可以表示為p(s'|s,a),也可以說s‘的分布服從Psa
  • R: S×A€ℝ ,R是回報函數(reward function)。有些回報函數狀態S的函數,可以簡化為R: S € ℝ。如果一組(s,a)轉移到了下個狀態s',那么回報函數可記為r(s'|s, a)。如果(s,a)對應的下個狀態s'是唯一的,那么回報函數也可以記為r(s,a)。(這里分為確定性和不確定。確定性的回報,即當在s下執行a時,下個狀態s’是確定的;而不確定性的回報是指當在s下執行a時,下個狀態s’是不確定的,即帶概率的,這時我們需要用確定的期望值來代替不確定,即 E(r(s'|s, a)) = Σs1[p(s1|s,a) * r(s1|s,a)] )

  MDP 的動態過程如下:某個agent(智能體,也翻譯成代理、學習者)的初始狀態為s0,然后從 A 中挑選一個動作a0執行,執行后,agent 按Psa概率隨機轉移到了下一個s1狀態,s1∈ Ps0a0。然后再執行一個動作a1,就轉移到了s2,接下來再執行a2…,我們可以用下面的圖表示狀態轉移的過程。

如果回報r是根據狀態s和動作a得到的,則MDP還可以表示成下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM