強化學習學習筆記 馬爾可夫決策過程(一)

2021-10-10 08:28:03 字數 1611 閱讀 5934

雖然不是第一次學強化學習的內容,但這確實是我第一次在網上開始寫學習筆記。

寫學習筆記的原因有兩個:

首先是因為,自己學了好久都學不明白,現在開始下決心把這套東西學透。學習筆記有助於我整理學習的思路,相當於再自己複習一遍,看能否用自己的話把所學的東西說明白。也借用各位的評價來審視自己的理解是否有誤。

希望用這種方式豐富一下自己的生活,經營乙個我自己的部落格。藉此,希望逼迫自己堅持下來。畢竟我還是缺乏一點點毅力。

這裡,我需要說明的是,我學強化學習的資料比較雜,手頭目前有一本pdf版的《深入淺出強化學習》(郭憲 方勇純編著)(以後稱它為「教程」),但之前看的時候就發現有挺多筆誤,字型也是挺奇怪的,比如「門」字用的是「冂」上加一短豎,讀起來挺費勁。除了主要參考這一本書以外,看不懂的時候就網上找資料,弄明白為止。

以上是一堆廢話,下面正式開始。

機器學習分為:有/無監督學習,強化學習

此外,深度學習和強化學習可以結合,形成成深度強化學習。

為什麼強化學習都從馬爾科夫開始呢?

因為強化學習解決的是「序貫決策」問題,與之對應的是單階段決策。

根據教程,「一般的序貫決策問題可以利用馬爾科夫決策過程的框架來表述」(說明:這裡我不懂為什麼,但接受就好,有空再細研究),因此我們需要從馬爾科夫開始學起。

漸進地,要學馬爾科夫決策過程,我們需要從以下幾個點,層層遞進,逐漸學起

什麼是馬爾科夫性?

假設有乙隻馬爾科夫蛙在2b荷葉上,這只蛙忘性大,它永遠記不住自己是從哪兒跳到目前這個荷葉上的。那麼,現在它累了,想跳到別的荷葉上去。它將跳到哪個荷葉上?有可能是3a,也可能是1c,還可能是2b(忘性太大),這決定於馬爾科夫蛙自己的決策策略。好了,故事結束了,下課。

上面故事中,馬爾科夫蛙就是決策者(或者叫」agent「,教程中叫」智慧型體「),它目前所在的2b荷葉就是當前所處的狀態(state),那麼它跳向的下乙個荷葉(狀態)只與它當前所處的荷葉有關,與之前的它從哪兒跳來的無關。這就是馬爾科夫性。

故事繼續,這只蛙不斷跳啊跳,我們記錄下它每次跳的荷葉編號,形成乙個狀態序列,這就是馬爾科夫鏈。那麼,這只青蛙的馬爾科夫鏈可能是:

2b-3a-1c-2a-1a-3a…

2b-2c-1a-1c-3a-3c…

2b-2b-2b-2b-2b-2b…

…上面可能有無窮多種馬爾科夫鏈,但是鏈上每乙個狀態都是符合馬爾科夫性的。上述蛙選擇跳躍的過程就是馬爾科夫過程。

定義:馬爾科夫過程是乙個二元組(s,

p)(s,p)

(s,p

),並且滿足以下條件:

其中psi−

>sj

p_ps

i​−>sj

​​表示從狀態s

is_i

si​跳轉到狀態s

js_j

sj​的概率。很明顯,p

pp矩陣的每一行之和、每一列之和都為1。

還以馬爾科夫蛙為例,狀態集合為s

=s=\

s=這些荷葉,表示它當前所在的位置,狀態轉移矩陣表示馬爾科夫蛙在當前荷葉有多大可能跳向某乙個荷葉。

未完待續…

強化學習 馬爾可夫決策過程

參考 推薦 一 馬爾可夫性 agent與environment的互動過程可以表示為乙個序列 馬爾可夫性 下乙個狀態的產生只和上乙個狀態有關,而與更之前的狀態無關。即 p left s s 1,s 2,s t right p left s s t right 這個條件雖然在某些問題上有些理想,但是極大...

《強化學習》馬爾可夫決策過程MDP

狀態自動機 mdp和nfa唯一相似的地方就是它們都有狀態轉移,拋掉這一點兩者就八竿子打不著了。我們用貝爾曼期望方程求解在某個給定策略 和環境env下的價值函式 具體解法是 下面是對於v s 的解法 從而對於每乙個特定的 都能得到其對應的價值函式。所以我們可以有一組的 但是我們解決問題的目標是拿到最優...

強化學習 馬爾科夫決策

ps 本書的符號標記基本嚴格遵守相關數學領域的慣例,對於變數,大寫字母表示隨機變數,小寫字母表示普通變數 對於確定性函式而言均使用小寫字母表示函式名及引數名 關於隨機變數的運算通常也用大寫字母表示如期望。強化學習馬爾科夫鏈決策過程 mdp 這與馬爾科夫鏈不同,也隱馬爾科夫鏈不同,mdp模型增加了中間...