最近因為研究需要,要開始學習機器學習了。之前只是懂些cnn什麼的皮毛,對機器學習的整體認識都比較缺乏,後面我會從頭開始一點點打基礎,正好也用部落格把自己的學習歷程記錄一下,如果有大牛看到博文中有錯誤,歡迎指正!
正好目前有個智慧型控制的小專案,我就先從增強學習開始。主要的參考文獻是吳恩達的專題**:shaping and policy search in reinforcement learning
增強學習(reinforcement learning,rl)是近年來機器學習和智慧型
控制領域的主要方法之一。在增強學習中有三個概念:狀態、動作和回報。
「狀態(state)」是描述當前情況的。對乙個正在學習行走的機械人來說,狀態是它的兩條腿的位置。對乙個圍棋程式來說,狀態是棋盤上所有棋子的位置。
「動作(action)」是乙個智慧型體在每個狀態中可以做的事情。給定乙個機械人兩條腿的狀態或位置,它可以在一定距離內走幾步。通常乙個智慧型體只能採取有限或者固定範圍內的動作。例如乙個機械人的步幅只能是0.01公尺到1公尺,而圍棋程式只能將它的棋子放在19×19路棋盤(361個位置)的某一位置。
「回報(reward)」是乙個描述來自外界的反饋的抽象概念。回報可以是正面的或者負面的。當回報是正面的時候,它對應於我們常規意義上的獎勵。當回報是負面的時候,它就對應於我們通常所說的懲罰。
因此,增強學習的核心目標就是解決這樣的問題:乙個能夠感知環境的自治agent,怎樣學習到最優動作策略π:s->a,它能在給定當前狀態s集合中的s時,從集合a中輸出乙個合適的動作a。
在研究用於尋找策略的演算法之前,我們必須充分了解馬爾科夫決策過程(mdp)。
馬爾科夫決策過程(mdp)
在面對許多問題時,馬爾科夫決策過程為我們提供了一種對規劃和行動進行推理的形式。大家應該都知道馬爾科夫鏈(markov chain),它與mdp有乙個共同性質就是無後效性,也就是指系統的下個狀態只與當前狀態有關,而與更早之前的狀態無關,這一特性為我們增強學習打下了理論基礎。不同的是mdp考慮了動作,即系統下個狀態不僅和當前的狀態有關,也和當前採取的動作有關。
因此mdp可以表示為乙個元組(s, a, psa, r):
但是在選取最優策略的過程中,我們只看立即回報並不能判定哪種策略更優,我們希望的是在採取了策略π以後,可以使得整個狀態序列的折扣回饋最大:
r(s0, a0)+ γr(s1, a1) + γ2r(s2, a2)+ (1)
其中γ被稱為折扣因子,在經濟學上的解釋叫做無風險折現率(risk-freeinterest rate),意思是馬上得到的錢(回饋)比未來得到錢更有價值。
因此,以上概念就組成了增強學習的完整描述:找到一種策略,使得我們能夠根據狀態s0, s1, s2…採取策略中對應的動作a0, a1, a2…,並使公式(1)的期望值最大化,這也叫做價值函式(value function)v
π: s→r,表明當前狀態下策略π的長期影響。這個函式從狀態s開始,根據π來採取行動:
vπ(s) =eπ[ r(s0, a0) + γr(s1, a1)+ γ2r(s2, a2) + … | s0= s ]
這個函式也被稱為狀態價值函式(statevalue function),因為初始狀態s和策略π是我們給定的,動作a = π(s)。與之相對應的是動作價值函式(actionvalue function),也叫做q函式:
qπ(s, a)= eπ[ r0 + γr1 + γ2r2 + …| s0= s, a0= a]
其中的初始狀態和初始動作都是我們給定的。
進一步,我們定義了最優價值函式(optimalvalue function)和最優q函式(optimal q-function):
v*(s) =maxπ vπ(s)
q*(s, a)= maxπ qπ(s, a)
不難證明,v*和vπ滿足下面兩個方程:
上式稱為最優貝爾曼方程,給出了v*和vπ的遞迴定義形式,也是v的求解方法。v*的公式說明了通過每一步選取最優的動作a,並在後面的動作中也保持最優,就可以得到v*。vπ的含義是:如果我們持續根據策略π來選擇動作,那麼策略π的期望回報就是當前的回報加上未來的期望回報。
相似的,下列對於q函式的方程也成立:
這種遞迴的定義形式也有利於我們在具體實現時的求解。
在知道v*和q*後,我們可以通過下面的公式來得到最優的策略π
也就是說,如果我們知道了q*,可以更加方便的計算出最優策略,而要從v*得到最優策略,還必須知道狀態轉換分布psa才行。
對於尋找最優策略的具體演算法,包括了價值迭代、策略迭代、蒙特卡洛演算法和q學習演算法等,後期我會繼續整理。
馬爾科夫決策過程
1.能夠檢測到理想狀態 2.可以多次嘗試採取不同動作 3.系統的下乙個狀態只與當前狀態有關,而與之前的狀態無關。在決策過程中還和當前採取的動作有關。s 表示狀態集 a 表示一組動作 p 表示狀態轉移概率。psa表示在當前狀態s下,執行動作a,轉移到其他狀態的概率。r 獎勵還是。表示agent採取某個...
馬爾科夫過程,馬爾科夫獎勵過程和馬爾科夫決策過程
馬爾科夫決策過程是強化學習中的乙個基本框架,用來表示agent與環境的互動過程 agent觀測得到環境的當前狀態之後,採取動作,環境進入下乙個狀態,agent又得到下乙個環境狀態的資訊,形成乙個迴圈迴路。在理解馬爾科夫決策過程之前,首先要理解馬爾科夫 馬爾科夫獎勵過程。1.馬爾科夫過程 滿足馬爾科夫...
馬爾科夫決策過程(MDP)學習筆記
1.概述 mdp由乙個 agent和乙個環境 e 一組可能的狀態 s 一組可用的行動 a 和獎勵函式 r s a r 構成。在離散時間的步驟中,agent不斷地從與環境的互動中 學習並作出決策。在每個時間步 t 觀察環境的當前狀態,記作 st s 並根據策略 選擇執行乙個動作 at a 之後,從環境...