iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0

強化學習之Q learning

介紹完監督式學習與非監督式學習,我們來介紹強化學習!

Q learning

Q learning為強化學習,根據wiki的描述

Q-學習就是要記錄下學習過的政策,因而告訴智能體什麼情況下採取什麼行動會有最大的獎勵值。

我們使用一個經典的例子來解釋。

本篇圖片皆來自http://mnemstudio.org/path-finding-q-learning-tutorial.htm

這張圖片是一個屋子的平面圖,有編號0~4的房間,5則是屋子外面。

我們的目標是走出屋子外面(5)。
現在我們給予每次的行動一個獎勵值,每次行動可以從某一個房間,到達另一個房間。

假設我們從1走到5,那麼我們得到獎勵100。
現在我們依照這個獎勵表,把Q表初始值填上去,如果無法做到的行動(如從1走到2)就把獎勵設為-1。

現在開始我們的Q learning!

公式


η為學習率,r為獎勵值,γ為disconut factor
Q(s',a')為下一步的Q值

episode 1

為了簡化計算過程,我們把Q表先都設為0。

假設我們的起點是房間1(s=1),現在Action隨機選一個選到5。
假設$η=0.1,γ=0.8,Q(s,a)=Q(1,5)=0,r(1,5)=100,Max (Q(5,1), Q(5,4), Q(5,5))=0$

接著更新Q表,$Q(1,5)=0+0.1*(100+0.8*0-0)=10$

且因為走到5了,因此episode 1終止。

episode 2

假設我們的起點是房間3(s=3),現在Action隨機選一個選到1(因為Q值都一樣才隨機選擇,如果Q值不同時找最大的Q值走)。

$r(3,1)=0,Q(3,1)=0$

$Max (Q(1,3), Q(1,5) ) = Max(0,10)=10$
接著我們更新Q表。

Q(3,1)=0+0.1*(0+0.8*10-0)=0.8

那麼新的Q表長這樣

接著繼續做,直到走到5為止,又或者到達最大步數。

結論

今天學習了Q learning,會有Q表,且透過與環境的探索慢慢更新Q表,學習最佳的方法。

參考資料

http://mnemstudio.org/path-finding-q-learning-tutorial.htm
Q learning


上一篇
Day 6 強化學習就是一直學習?
下一篇
Day 8 Q learning如何實現
系列文
Machine Learning與軟工是否搞錯了什麼?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言