Recall: Markov Property
information state: sufficient statistic of history
State is Markov if and only if:
Future is independent of past given present
Markov Process or Markov Chain
無記憶性隨機過程
- 具有馬爾科夫性質的隨機狀態的序列
馬爾科夫過程(Markov Process)的定義:
- S是一個(有限)的狀態集(s )
- P是動態/變遷模型,它指定了
注意:沒有獎勵(reward),也沒有動作(actions)
如果狀態數(N)是有限的,可以把P表示成一個矩陣:
Markov Reward Process (MRP)
馬爾科夫獎勵過程 = 馬爾科夫過程 + 獎勵
馬爾科夫獎勵過程(MRP)的定義:
- S是一個狀態的有限集(s S)
- P是動態/變遷模型,它指定了
- R是一個獎勵函數
- 折扣因子
注意:沒有動作
如果狀態數(N)有限,R可以被表示成一個向量。
Return & Value Function
窗口(horizon)的定義:
- 每一輪(episode)的時間步數目
- 可以是有限的
- 也被稱作有限馬爾科夫獎勵過程
返回(return)的定義:
- 從t開始長達整個窗口的打折獎勵總和:
狀態獎勵方程(State Value Function foe a MRP)的定義:
- 從狀態s開始的返回的期望
如果過程是確定的,那麼返回和獎勵是相等的;大部分情況下過程是隨機的,它們會是不同的。
Discount Factor
折扣因子一方面是由於被啓發創造的,另一方面也是爲了數學上的方便。
- 數學上的方便(避免無限的返回(函數)和價值(函數))
- 人類通常是以折扣因子小於1的方式行動的
- 僅關心即時獎勵
- 未來獎勵將等於即時獎勵
- 如果一輪(episode)的長度一直是有限的,可以使用
Computing the Value of a Markov Reward Process
- 可以通過仿真(simulation)來估計
實驗平均接近真實期望值的準確度大致在,n代表仿真次數。 - 對返回取平均
- 專注不等式(Concentration inequalities)限定專注於期望值的速度
- 不需要對馬爾科夫結構做出假設
但是上述過程沒有利用任何world是馬爾科夫的這個事實。爲了得到更好的估計有額外的結構。
- 馬爾科夫性質產生額外的結構。
(the future is independent of past given present) - MRP的價值函數滿足
矩陣形式
然後就可以以解析方式求解:
直接求解的算法複雜度是
矩陣P必須是定義良好即能求逆的。在以上過程中,我們假定是固定的horizon,價值函數是固定的,所以狀態的下一個狀態可以指向自己,self-loop是允許存在的。
一定可以求逆嗎?
因爲P是馬爾科夫矩陣(隨機矩陣),那麼它的特徵值將總是小於等於1,如果折扣因子小於1,那麼總是可逆的(證明略,感興趣的朋友可以去查一下,博主數學不是很好。)。
Iterative Algorithm for Computing Value of a MRP
另一種求解方法是動態規劃:
Initializa for all s
For k = 1 until convergence
For all s in S
計算複雜度:
for each iteration (|S| = N)
收斂的條件通常使用範數來衡量,即
這種計算方式的優勢在於每次迭代平方複雜度,並且還有一些稍後會提及的引入actions之後的增益。
總結起來,計算MRP的價值有三種方法:
- 模擬仿真(Simulation)
- 解析求解(Analytic solve, requires us a step, a finite set of states)
- 動態規劃(DP)
Markov Decision Proces(MDP)
MDP = MRP + actions.
MDP的定義,MDP是一個五元組(quintuple)(S,A,P,R,):
- S 是一個有限的馬爾科夫狀態集
- A 是一個有限的動作集
- P 是針對每一個動作的動態/遷移模型,它指定了
- R是一個獎勵函數(回報函數)
- 折扣因子
MDP Policies
- 策略(Policy)指定了在每一個狀態採取什麼動作
- 可以是確定性的也可以是隨機的
- 更一般性,把策略考慮成一種條件分佈
-給定一個狀態,指定一個動作上的分佈 - Policy:
MDP + Policy
MDP + Policy可以指定一個Markov Reward Process,因爲Policy裏指定了每個狀態的動作,MDP就坍縮成了MRP。
更確切的講,它們指定的是:
這隱含着,只要你有確定的策略,我們可以使用前述的所有用來計算MRP的價值的相同方法,通過使用定義一個和,來計算MDP的一個策略的價值。
MDP Policy Evaluation, Iterative Algorithm
Initialize for all s
For k = 1 until convergence
For all s in S
對於一個特定的策略來說,這是一個Bellman backup。
在RL文獻中,上面等式的右邊被稱作"Bellman backup"。狀態或狀態 - 動作對的Bellman backup是Bellman方程的右側:即時獎勵加下一個值,這是一個迭代的過程,因此叫backup。
仔細對比一下,跟前面所述MRT計算價值是一樣的,只不過因爲有固定的策略,所以我們使用策略來索引獎勵。即爲了學習一個特定策略的價值,我們通過總是採取策略所指定的動作來初始化價值函數。
練習 計算一步迭代
這個真的很簡單,單純的代公式,只要前面所述內容你都記住了,就直接能理解。