马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)
引言
在概率論及統計學中,馬爾可夫過程(英語:Markov process)是一個具備了馬爾可夫性質的隨機過程,因為俄國數學家安德雷·馬爾可夫得名。馬爾可夫過程是不具備記憶特質的(memorylessness)。換言之,馬爾可夫過程的條件概率僅僅與系統的當前狀態相關,而與它的過去歷史或未來狀態,都是獨立、不相關的。
概論
馬爾可夫模型分成四種:馬爾可夫鏈、隱馬爾可夫模型(HMM)、馬爾可夫決策過程(MDP)和部分可觀測馬爾可夫決策過程(POMDP)
最簡單的馬爾可夫模型是馬爾可夫鏈。它用一個隨時間變化的隨機變量來模擬系統的狀態。在這種情況下,馬爾可夫性質表明,這個變量的分布只取決于之前狀態的分布。當馬爾可夫鏈的狀態只能部分觀察到,這就是隱馬爾可夫模型。隱馬爾可夫模型常用的用途是語音識別,它是大多數現代自動語音識別系統的基礎。
馬爾可夫決策過程也是馬爾可夫鏈,但其狀態轉換取決于當前狀態和應用于系統的動作向量。通常,使用馬爾可夫決策過程來計算行動策略,該行為策略將最大限度地提高與預期獎勵相關的某種效用。它與強化學習密切相關,可以用價值迭代法和相關方法解決。
部分可觀測馬爾可夫決策過程是一個系統的狀態只被部分觀察到的馬爾可夫決策過程,其中系統的狀態只被部分觀察到。部分可觀測馬爾可夫決策過程可以用于控制簡單代理或機器人。
馬爾可夫模型還包括馬爾可夫隨機場(MRF)和馬爾可夫鏈蒙特卡洛(MCMC)——這兩個模型也常常被用于近似和預測—— Tolerant Markov model (TMM)、層級馬爾科夫模型(Hierarchical Markov models)、層級隱馬爾可夫模型(hierarchicalhiddenMarkov model)等。
一、馬爾科夫決策過程
機器學習算法(有監督,無監督,弱監督)中,馬爾科夫決策過程是弱監督中的一類叫增強學習。增加學習與傳統的有監督和無監督不同的地方是,這些方法都是一次性決定最終結果的,而無法刻畫一個決策過程,無法直接定義每一次決策的優劣,也就是說每一次的決策信息都是弱信息,所以某種程度上講,強化學習也屬于弱監督學習。從模型角度來看,也屬于馬爾科夫模型,其與隱馬爾科夫模型有非常強的可比性。
下面是一個常用的馬爾科夫模型的劃分關系
1.1 馬爾科夫決策過程定義
馬爾可夫決策過程并不要求 SSS 或者 AAA 是有限的,但基礎的算法中假設它們由有限的
狀態(state): 智能體在每個步驟中所處于的狀態集合
行為(action): 智能體在每個步驟中所能執行的動作集合
轉移概率(transition): 智能體處于狀態s下,執行動作a后,會轉移到狀態s’的概率
獎勵(reward): 智能體處于狀態s下,執行動作a后,轉移到狀態s’后獲得的立即獎勵值
策略(policy): 智能體處于狀態s下,應該執行動作a的概率
MDP考慮了動作,即系統下個狀態不僅和當前的狀態有關,也和當前采取的動作有關。舉下棋的例子,當我們在某個局面(狀態s)走了一步(動作a),這時對手的選擇(導致下個狀態s’)我們是不能確定的,但是他的選擇只和s和a有關,而不用考慮更早之前的狀態和動作,即s’是根據s和a隨機生成的。
值得注意的是,在馬爾科夫決策過程中,狀態集合是離散的,動作集合是離散的,轉移概率是已知的,獎勵是已知的。在這個條件下的學習稱之為有模型學習。
1.1.1 MDP的動態過程
1.1.2 策略 π\piπ
a policy π\piπ is a distribution over actionsgiven states
π(a∣s)=P[At=a∣St=s]\pi(a|s)=P[A_t = a | S_t =s]π(a∣s)=P[At?=a∣St?=s]
A policy fully defines the behaviour of an agent
1.1.3 值函數
1.1.4 馬爾科夫過程的描述
我們分三種情況來討論:
- T=1, greedy case. 這時算法是退化的,拿我們的例子而言,機器人只會考慮下一步動作帶來的影響,而不會考慮之后一系列動作帶來的影響。但是這個算法卻在實際應用中起著重要作用,是很多機器人問題的最優解。因為它計算起來非常簡單。它的缺點也很明顯,容易陷入局部最優。很明顯,此時 γ 的取值不影響結果,只要滿足 γ>1 即可。
- 1<T<∞, finite?horizon case. 此時,一般會取 γ=1. 意思是說每個狀態轉換的收益權重是一樣的。有人會說這種 finite-horizon 的處理方式是最符合實際情況的。但事實上,這種 finite-horizon的情況處理起來比下邊提到的infinite-horizon更加復雜。因為我們要求的動作序列是時間的函數。也就是說,即便是從相同的狀態開始計算,由于時間參數 T 不同,最后得到的最優動作序列會不同。課本里的原話是, Near the far end of the time horizon, for example, the optimal policy might differ substantially from the optimal choice earlier in time, even under otherwise identical conditions (e.g., same state, same belief). As a result, planning algorithms with finite horizon are forced to maintain different plans for different horizons, which can add undesired complexity.
- T=∞, infinite?horizon case. 這種情況不會有上邊所提到的計算復雜度增加的問題,因為 T 是無窮大的。在這種情況下, γ 的取值很重要,因為它需要保證計算結果是收斂的。假設 RatR_{at}Rat? 是有界的, |Rat|≤rmaxr_{max}rmax?. 那么我們可以得到
1.2 問題求解
兩種求解有限狀態MDP具體策略的有效算法。這里,我們只針對MDP是有限狀態、有限動作的情況。
1.2.1 策略迭代算法
1.2.2 值迭代算法
1.3 實例
1.3.1 策略迭代實例
使用馬爾科夫決策過程策略迭代算法進行計算,具體過程詳見,
https://github.com/persistforever/ReinforcementLearning/tree/master/carrental
1.3.2 值迭代實例
賭徒問題 :一個賭徒拋硬幣下賭注,如果硬幣正面朝上,他本局將贏得和下注數量相同的錢,如果硬幣背面朝上,他本局將輸掉下注的錢,當他輸光所有的賭資或者贏得$100則停止賭博,硬幣正面朝上的概率為p。賭博過程是一個無折扣的有限的馬爾科夫決策問題。
使用馬爾科夫決策過程值迭代算法進行計算,具體過程詳見,
https://github.com/persistforever/ReinforcementLearning/tree/master/gambler
1.4 MDP中的參數估計
1.4.1 Policies策略
1.4.2 Policy based Value Function基于策略的價值函數
1.4.3 Bellman Expectation Equation貝爾曼期望方程
1.4.4 Optimal Value Function最優價值函數
1.4.5 Theorem of MDP定理
1.4.6 Finding an Optimal Policy尋找最優策略
1.4.7 Bellman Optimality Equation貝爾曼最優方程
1.4.7.1 Solving the Bellman Optimality Equation求解貝爾曼最優方程
貝爾曼最優方程是非線性的,通常而言沒有固定的解法,有很多著名的迭代解法:
- Value Iteration 價值迭代
- Policy Iteration 策略迭代
- Q-learning
- Sarsa
這個可以大家之后去多了解了解。
1.5 最優決策
也許上面的目標函數還不清晰,如何求解最有決策,如何最大化累積回報
下面結合例子來介紹如何求解上面的目標函數。且說明累積回報函數本身就是一個過程的累積回報,回報函數才是每一步的回報。
下面再來看求解上述最優問題,其中 就是以s為初始狀態沿著決策函數走到結束狀態的累積回報。
1.6 值迭代
1.7 策略迭代
值迭代是使累積回報值最優為目標進行迭代,而策略迭代是借助累積回報最優即策略最優的等價性,進行策略迭代。
1.8 MDP中的參數估計
回過頭來再來看前面的馬爾科夫決策過程的定義是一個五元組,一般情況下,五元組應該是我們更加特定的問題建立馬爾科夫決策模型時該確定的,并在此基礎上來求解最優決策。所以在求解最優決策之前,我們還需更加實際問題建立馬爾科夫模型,建模過程就是確定五元組的過程,其中我們僅考慮狀態轉移概率,那么也就是一個參數估計過程。(其他參數一般都好確定,或設定)。
假設,在時間過程中,我們有下面的狀態轉移路徑:
二、連續時間馬爾科夫過程
2.1 連續時間馬爾科夫鏈的一般定義
和起始時間t無關的話,我們稱這是時間齊次的馬爾科夫鏈。這個轉移矩陣和離散時間不同的是,離散時間給出的是一步轉移概率,但是連續馬爾科夫鏈的轉移概率給出的是和時間相關的。
2.2 連續時間馬爾科夫鏈的另一類定義
我們考慮連續時間馬爾科夫鏈從一個狀態 i開始,到狀態發生變化,比如變成j所經過的時間,由于馬爾科夫鏈的馬爾科夫性,這個時間是具有無記憶性的,所以這個時間是服從指數分布的。這和離散時間馬爾科夫鏈是密切相關的,離散時間馬爾科夫鏈中的時間是離散時間,因為由無記憶性,所以是服從幾何分布的。
這樣我們就可以這樣定義連續時間馬爾科夫鏈。馬爾科夫鏈是這樣的一個過程。
- (i)在轉移到不同的狀態 iii前,它處于這個狀態的時間是速率為viv_ivi?的指數分布。
- (ii)當離開狀態 iii時,以某種概率PijP_{ij}Pij?進入下一個狀態jjj,當然PijP_{ij}Pij?滿足
對比于半馬爾科夫鏈,我們可以發現,連續時間馬爾科夫鏈是一種特殊的半馬爾科夫鏈,在一個狀態所待的時間是只不過是一個具體的分布–指數分布,而半馬爾科夫鏈只是說所待的時間是任意的一個隨機時間。
2.3 生滅過程
2.4 連續時間馬爾科夫鏈的兩個定義(2.1和2.2)之間的關系
接下來,我們舉個例子來說明馬爾科夫鏈的極限分布的應用
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2.5 最優決策
也許上面的目標函數還不清晰,如何求解最優決策,如何最大化累積回報
下面結合例子來介紹如何求解上面的目標函數。且說明累積回報函數本身就是一個過程的累積回報,回報函數才是每一步的回報。
下面再來看求解上述最優問題,其中 就是以s為初始狀態沿著決策函數走到結束狀態的累積回報。
2.5.1 值迭代
2.5.2 策略迭代
值迭代是使累積回報值最優為目標進行迭代,而策略迭代是借助累積回報最優即策略最優的等價性,進行策略迭代。
2.6 MDP中的參數估計
回過頭來再來看前面的馬爾科夫決策過程的定義是一個五元組,一般情況下,五元組應該是我們更加特定的問題建立馬爾科夫決策模型時該確定的,并在此基礎上來求解最優決策。所以在求解最優決策之前,我們還需更加實際問題建立馬爾科夫模型,建模過程就是確定五元組的過程,其中我們僅考慮狀態轉移概率,那么也就是一個參數估計過程。(其他參數一般都好確定,或設定)。
假設,在時間過程中,我們有下面的狀態轉移路徑:
2.7 轉移速率
連續時間馬爾科夫鏈的假設
- 當前狀態i到下一個轉移的時間服從參數viv_ivi?的指數分布,且獨立于之前的歷史過程和下一個狀態
- 當前狀態i以概率pijp_{ij}pij?到達下一個狀態j,而且獨立于之前的歷史過程和下一個狀態
三、馬爾可夫鏈
3.1 一些定義
3.2 C-K方程
查普曼-柯爾莫格洛夫方程(Chapman-Kolmogorov equation,C-K equation)給出了計算 [公式] 步轉移概率的一個方法:
3.3 狀態的分類
命題得證。
很顯然,暫態也是一個類性質。而利用上述性質可以得到:有限馬爾可夫鏈的所有狀態不可能都是暫態,有限不可約馬爾可夫鏈的所有狀態都是常返態。
3.4 長程性質和極限概率
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
馬爾可夫決策過程為決策者在隨機環境下做出決策提供了數學架構模型,為動態規劃與強化學習的最優化問題提供了有效的數學工具,廣泛用于機器人學、自動化控制、經濟學、以及工業界等領域。當我們提及馬爾可夫決策過程時,我們一般特指其在離散時間中的隨機控制過程:即對于每個時間節點,當該過程處于某狀態(s)時,決策者可采取在該狀態下被允許的任意決策(a),此后下一步系統狀態將隨機產生,同時回饋給決策者相應的期望值
,該狀態轉移具有馬爾可夫性質。
https://zhuanlan.zhihu.com/p/35354956
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
四、馬爾可夫過程
https://zhuanlan.zhihu.com/p/30317123
五、Markov Reward Process馬爾可夫獎勵過程
5.1 MRP
簡單來說,馬爾可夫獎勵過程就是含有獎勵的馬爾可夫鏈,要想理解MRP方程的含義,我們就得弄清楚獎勵函數的由來,我們可以把獎勵表述為進入某一狀態后收獲的獎勵。獎勵函數如下所示:
5.2 Return回報
5.3 Value Function價值函數
5.4 Bellman Equation貝爾曼方程
六、廣義馬爾科夫模型
廣義馬爾科夫模型 (generalized Markov model) 指的是連續時間上的隨機過程,在一系列時間點0≤S1≤S2≤≤...0 \leq S_1 \leq S_2 \leq \leq ...0≤S1?≤S2?≤≤...上滿足Markov特性。
6.1 Markov renewal process
In probability and statistics, a Markov renewal process (MRP) is a random process that generalizes the notion of Markov jump processes. Other random processes like Markov chains, Poisson processes and renewal processes can be derived as special cases of MRP’s.
Consider a state space S\mathrm{S}S. Consider a set of random variables (Xn,Tn)(X_{n},T_{n})(Xn?,Tn?), where TnT_{n}Tn? are the jump times and $X_{n} $are the associated states in the Markov chain (see Figure above). Let the inter-arrival time, τn=Tn?Tn?1\tau_n=T_n-T_{n-1}τn?=Tn??Tn?1?. Then the sequence (Xn,Tn)(X_n,T_n)(Xn?,Tn?) is called a Markov renewal process if
What is Markov Modulated Poisson Process (MMPP)
1.A process, belonging to the class of markov renewal processes, where arrivals occur according to a statedependent poisson process with different rates governed by a continuous-time markov chain.
https://mp.weixin.qq.com/s?__biz=Mzg3OTAyMjcyMw==&mid=2247485738&idx=1&sn=f31a646d6cee548fd99525d2c798fdf4&chksm=cf0b8ec6f87c07d05960be03b64eddbce47426bc6ccaef7a97c49c2ff5f23c07a940e2b557cf&token=1326040548&lang=zh_CN#rd
https://zhuanlan.zhihu.com/p/149765762
http://xtf615.com/2017/07/15/RL/
https://zhuanlan.zhihu.com/p/271221558
https://zhuanlan.zhihu.com/p/148932940
總結
以上是生活随笔為你收集整理的马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 弗林斯传输公式、天线温度
- 下一篇: 最小生成树、最短路径树