標籤:
之前講了監督學習和無監督學習,今天主要講“強化學習”。
- 馬爾科夫決策過程;Markov Decision Process(MDP)
- 價值函數;value function
- 值迭代;value iteration(演算法,解決MDP)
- 政策迭代;policy iteration(演算法,解決MDP)
什麼是強化學習?
強化學習(reinforcement learning,又稱再勵學習,評價學習)是一種重要的機器學習方法,在智能控制機器人及分析預測等領域有許多應用。但在傳統的機器學習分類中沒有提到過強化學習,而在串連主義學習中,把學習演算法分為三種類型,即非監督學習(unsupervised learning)、監督學習(supervised leaning)和強化學習。
馬爾科夫決策過程
馬爾可夫決策過程是基於馬爾可夫過程理論的隨機動態系統的最優決策過程。馬爾可夫決策過程是序貫決策的主要研究領域。它是馬爾可夫過程與確定性動態規劃相結合的產物,故又稱馬爾可夫型隨機動態規劃,屬於運籌學中數學規劃的一個分支。
(以下轉自:http://blog.csdn.net/dark_scope/article/details/8252969)
馬爾科夫決策是一個五元組,,用一個機器人走地圖的例子來說明它們各自的作用
S:狀態集:就是所有可能出現的狀態,在機器人走地圖的例子中就是所有機器人可能出現的位置
A:action,也就是所有可能的行動。機器人走地圖的例子假設機器人只能朝四個方向走,那麼A就是{N,S,E,W}表示四個方向
P:就是機器人在S狀態時採取a行動的機率
γ:叫做discount factor,是一個0到1之間的數,這個數決定了動作先後對於結果的影響度,在棋盤上的例子來說就是影響了這一步
棋對於最結果的影響有多大可能說起來比較模糊,通過後面的說明可能會講得比較清楚。
R:是一個reward function,也就是可能是一個,也可能是,對應來說就是地圖上的權值
有了這樣一個決策過程,那麼機器人在地圖上活動的過程也可以表現為如下的形式:
也就是從初始位置開始,選擇一個action到達另一個狀態,直到到達終狀態,因此我們這樣來定義這個過程的價值:
可以看出越早的決定對價值影響越大,其後則依次因為γ而衰減
其實可以看出,給出一個MDP之後,因為各個元都是定值,所以存在一個最優的策略(ploicy),策略即是對於每個狀態給出一個action,最優
策略就是在這樣的策略下從任意一個初始狀態能夠以最大的價值到達終狀態。策略用π表示。用
表示在策略π下以s為初始狀態所能取得的價值,而通過Bellman equation,上式又等於:
注意這是一個遞迴的過程,在知道s的價值函數之前必去知道所有的s‘的價值函數。(價值函數指的是Vπ())
而我們定義最優的策略為π*,最優的價值函數為V*,可以發現這兩個東西互為因果,都能互相轉化。 價值迭代(Value iteration )
這個過程其實比較簡單,因為我們知道R的值,所以通過不斷更新V,最後V就是converge到V*,再通過V*就可以得到最優策略π*,通
過V*就可以得到最優策略π*其實就是看所有action中哪個action最後的value值最大即可,此處是通過bellman equation,可以通過解bellman equation得到
所有的V的值,這裡有一個動歸的方法,注意馬爾科夫決策過程中的P其實是指客觀存在的機率,比如機器人轉彎可能沒法精確到一個方向,而不是指在s狀態
機器人選擇a操作 的機率,剛才沒說清楚
在此說明,也就是說:
是一個客觀的統計量。
策略迭代(policy iteration)
策略迭代法(policy iteration method),動態規劃中求最優策略的基本方法之一。它藉助於動態規劃基本方程,交替使用“求值計算”和“策略改進”兩個步驟,求出逐次改進的、最終達到或收斂於最優策略的策略序列。
這次就是通過每次最佳化π來使π converge到π*,V到V*。但因為每次都要計算π的value值,所以這種演算法並不常用
【cs229-Lecture16】馬爾可夫決策過程