最近轉(zhuǎn)向深度學習方向的學習,遇到一些卡殼。
查閱了部分資料,獲得一些個人的理解如下:
馬爾可夫決策過程 【定義】
是基于馬爾可夫過程理論的隨機動態(tài)系統(tǒng)的最優(yōu)決策過程。
它是馬爾可夫過程與確定性的動態(tài)規(guī)劃相結(jié)合的產(chǎn)物,故又稱馬爾可夫型隨機動態(tài)規(guī)劃。
1?? 具備 馬爾科夫鏈 屬性:
即 簡單點說,一個事件/物體 可視為是 無數(shù)(狀態(tài),動作)的切片積分而成,而下一個狀態(tài)s` 僅與 當前狀態(tài)s 有關(guān),與歷史狀態(tài)無關(guān)。
舉例:就像下棋一樣,你下棋的每一個決策 都僅與當前棋局的狀態(tài) 有關(guān), 而你是基于最終收益(贏)作為動作 的策略依據(jù)。
2?? 由(S, A, R, P)四個變量 描述
S: State 狀態(tài)序列
A: Action 由狀態(tài) 映射到 的動作序列
R:Reward 回報函數(shù),立即回報
P:狀態(tài)轉(zhuǎn)移概率序列
3?? 引入 值函數(shù)概率來衡量 當前狀態(tài)的長期收益
3.1狀態(tài)值函數(shù):
γ 為 折扣因子:用來 加權(quán) 與當前狀態(tài) 時間 最接近的 動作影響力 越大。
γ=0時,相當于只考慮立即不考慮長期回報,
γ=1時,將長期回報和立即回報看得同等重要。
3.2 加入(狀態(tài),動作)轉(zhuǎn)移概率后
3.3 MDP的最優(yōu)策略
即 能夠使得Vπ(s)在任意 狀態(tài)s下 均能 獲得最大值 的策略 π
那么 怎么樣 進行求解呢?
獲得最優(yōu)策略的三種方法:
動態(tài)規(guī)劃法(dynamic programming methods)
蒙特卡羅方法(Monte Carlo methods)
時間差分法(temporal difference)
3.4 動態(tài)規(guī)劃法(貝爾曼方程)
3.5 Q函數(shù)-(引入了動作的值函數(shù))
1?? 定義動作值函數(shù)(action value function Q函數(shù))如下:
2?? 給定當前狀態(tài)s和當前動作a,在未來遵循策略π,那么系統(tǒng)將以概率p(s'|s,a)轉(zhuǎn)向下個狀態(tài)s',上式可以重寫為:
3?? 值迭代:
Q(s,a) = r + γ * max{ Q(基于s'下 任意a' ) }