1. 程式人生 > >強化學習入門基礎——馬爾可夫決策過程(MDP)

強化學習入門基礎——馬爾可夫決策過程(MDP)

## MDP背景介紹 ### Random Variable **隨機變數(Random Variable)**,通常用大寫字母來表示一個隨機事件。比如看下面的例子: $X$: 河水是鹹的 $Y$: 井水是甜的 很顯然,$Y$, $Y$兩個隨機事件是沒有關係的。也就是說$X$和$Y$之間**是相互獨立**的。記作: $$ X \bot Y $$ ### Stochastic Process 對於一類隨機變數來說,它們之間存在著某種關係。比如: $S_{t}$:表示在 $t$ 時刻某支股票的價格,那麼 $S_{t+1}$ 和 $S_t$ 之間一定是有關係的,至於具體什麼樣的關係,這裡原先不做深究,但有一點可以確定,兩者之間一定存在的一種關係。隨著時間 $t$ 的變化,可以寫出下面的形式: $$ ...S_t, S_{t+1},S_{t+2}... $$ 這樣就生成了一組隨機變數,它們之間存在著一種相當複雜的關係,也就是說,各個隨機變數之間存在著關係,即不相互獨立。由此,我們會把按照某個時間或者次序上的一組不相互獨立的隨機變數的這樣一個整體作為研究物件。這樣的話,也就引出了另外的一個概念:**隨機過程(Stochastic Process)**。也就是說隨機過程的研究物件不在是單個的隨機變數,而是一組隨機變數,並且這一組隨機變數之間存在著一種非常緊密的關係(不相互獨立)。記作: $$ \lbrace S_t \rbrace ^\infty_{t=1} $$ ### Markov Chain/Process **馬爾科夫鏈(Markov Chain)**即馬爾可夫過程,是一種特殊的隨機過程——具備馬爾可夫性的隨機過程。 * 馬爾可夫性:(Markov Property): 還是上面股票的例子,如果滿足 $P(S_{t+1}) \mid S_t,S_{t-1}...S_1) = P(S_{t+1}\mid S_t)$,即具備了馬爾可夫性。簡單來說,$S_{t+1} 之和S_t$之間存在關係,和以前的時刻的沒有關係,即只和“最近的狀態” 有關係。 * 現例項子:下一個時刻僅依賴於當前時刻,跟過去無關。比如:一個老師講課,明天的講課狀態一定和今天的狀態最有關係,和過去十年的狀態基本就沒關係了。 * 最主要考量:為了簡化計算。$P(S_{t+1}) \mid S_t,S_{t-1}...S_1) = P(S_{t+1}\mid S_t)$ 如果 $S_{t+1}$ 和 $S_t,S_{t-1}...S_1$ 都有關係的話,計算的話就會爆炸了。 馬爾可夫鏈/過程 即滿足馬爾可夫性質的隨機過程,記作: $$ P(S_{t+1}) \mid S_t,S_{t-1}...S_1) = P(S_{t+1}\mid S_t) $$ ### State Space Model **狀態空間模型(State Space Model)**,常應用於 HMM,Kalman Filterm Particle Filter,關於這幾種這裡不做討論。在這裡就是指馬爾可夫鏈 + 觀測變數,即`Markov Chain + Obervation` ![spm](https://gitee.com/YJLAugus/pic-go/raw/master/img/spm.svg) 如上圖所示,s1-s2-s3為馬爾可夫鏈,a1, a2, a3為觀測變數,以a2為例,a2只和s2有關和s1, s3無關。狀態空間模型可以說是由馬爾可夫鏈演化而來的模型。記作:
Markov Chain + Obervation
### Markov Reward Process **馬爾可夫獎勵過程(Markov Reward Process)**,即馬爾可夫鏈+獎勵,即:`Markov Chain + Reward`。如下圖: ![](https://gitee.com/YJLAugus/pic-go/raw/master/img/reward.svg) 舉個例子,比如說你買了一支股票,然後你每天就會有“收益”,當然了這裡的收益是泛化的概念,收益有可能是正的,也有可能是負的,有可能多,有可能少,總之從今天的狀態$S_t$ 到明天的狀態 $S_{s+1}$ ,會有一個`reward`。記作:
Markov Chain + Reward
### Markov Decision Process **馬爾可夫決策過程(Markov Decision Process)**,即馬爾可夫獎勵過程的基礎上加上`action`,即:`Markov Chain + Reward + action`。如果還用剛才的股票為例子的話,我們只能每天看到股票價格的上漲或者下降,然後看到自己的收益,但是無法操作股票的價格的,只有看到份,只是一個“小散戶”。這裡的馬爾可夫決策過程相當於政策的制定者,相當於一個操盤手,可以根據不同的狀態而指定一些政策,也就相當於 action。 在馬爾可夫決策過程中,所有的**狀態**是我們看成離散的,有限的集合。所有的**行為**也是離散有限的集合。記作: $$ { \it S: \quad state \quad set \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad S_t \\ \it A: \quad action \quad set ,\quad \quad \forall s \in S,A_{(s)} \quad\quad A_t\\ \it R: \quad reward \quad set \quad\quad\quad\quad\quad\quad\quad\quad\quad R_t, R_{(t+1)} \\ } $$ 對於上述公式簡單說明,$S_t$ 用來表示某一個時刻的狀態。$A_{(s)}$ 表示在**某一個狀態**時候的行為 ,這個行為一定是基於某個狀態而言的,假設在$t$ 時刻的狀態為$S$ 此時的`action`記作 $A_t$ 。$R_t 和 R_{(t+1)}$ 只是記法不同,比如下面的例子:從$S_t$狀態經過 $A_t$ 到$S_{t+1}$狀態,獲得的獎勵一般記作$R_{(t+1)}$。 也就是說$S_t$, $A_t$ ,$R_{(t+1)}$ 是配對使用的。 ![](https://gitee.com/YJLAugus/pic-go/raw/master/img/coupleR.svg) ### Summary ![](https://gitee.com/YJLAugus/pic-go/raw/master/img/sum01.png) **Reference** https://www.bilibili.com/video/BV1RA411q7wt?p=1 未完待續...今天就先寫這