人工智能機器學習有關(guān)算法內(nèi)容,請參見公眾號“科技優(yōu)化生活”之前相關(guān)文章。人工智能之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下Q Learning算法。 ^_^
通過前一篇TD-Learning時序差分(請參見人工智能(48)算法介紹,我們知道,TD-Learning時序差分是結(jié)合了動態(tài)規(guī)劃DP和蒙特卡洛MC(請參見人工智能(31))方法,并兼具兩種算法的優(yōu)點,是強化學習的中心。
TD-learning時序差分大概分了6類。其中,策略行動價值qπ的off-policy時序差分學習方法: Q-Learning(單步),Double Q-Learning(單步)。今天重點介紹Q-Learning算法。
Q Learning算法是由Watkins于1989年在其博士論文中提出,是強化學習發(fā)展的里程碑,也是目前應用最為廣泛的強化學習算法。
Q Learning算法概念:
Q Learning算法是一種off-policy的強化學習算法,一種典型的與模型無關(guān)的算法,即其Q表的更新不同于選取動作時所遵循的策略,換句化說,Q表在更新的時候計算了下一個狀態(tài)的最大價值,但是取那個最大值的時候所對應的行動不依賴于當前策略。
Q Learning始終是選擇最優(yōu)價值的行動,在實際項目中,Q Learning充滿了冒險性,傾向于大膽嘗試。
Q Learning算法下,目標是達到目標狀態(tài)(Goal State)并獲取最高收益,一旦到達目標狀態(tài),最終收益保持不變。因此,目標狀態(tài)又稱之為吸收態(tài)。
Q Learning算法下的agent,不知道整體的環(huán)境,知道當前狀態(tài)下可以選擇哪些動作。通常,需要構(gòu)建一個即時獎勵矩陣R,用于表示從狀態(tài)s到下一個狀態(tài)s’的動作獎勵值。由即時獎勵矩陣R計算得出指導agent行動的Q矩陣。
Q矩陣是agent的大腦。
Q Learning算法本質(zhì):
QLearning屬于TD-Learning時序差分學習。同樣,該算法結(jié)合了動態(tài)規(guī)劃和蒙特卡羅MC算法,模擬(或者經(jīng)歷)一個情節(jié),每行動一步(或多步)后,根據(jù)新狀態(tài)的價值,來估計執(zhí)行前的狀態(tài)價值。
下面提到的Q-Learning是單步更新算法。
Q Learning算法描述:
Q-learning是一個突破性的算法。
利用下面公式進行off-policy學習,即用公式來表示Q-Learning中Q表的更新:
Q(St,At)←Q(St,At)+α[Rt+1+γmax Q(St+1,a)?Q(St,At)]
其中:
St: 當前狀態(tài)state
At: 從當前狀態(tài)下,采取的行動action
St+1:本次行動所產(chǎn)生的新一輪state
At+1: 次回action
Rt: 本次行動的獎勵reward
γ為折扣因子,0<= γ<1,γ=0表示立即回報,γ趨于1表示將來回報,γ決定時間的遠近對回報的影響程度,表示犧牲當前收益,換取長遠收益的程度。將累計回報作為評價策略優(yōu)劣的評估函數(shù)。當前的回報值以及以前的回報值都可以得到,但是后續(xù)狀態(tài)的回報很難得到,因此累計回報就難以計算。而Q-learning用Q函數(shù)來代替累計回報作為評估函數(shù),正好解決這個問題。
α為控制收斂的學習率,0< α<1。通過不斷的嘗試搜索空間,Q值會逐步趨近最佳值Q*。
1)Q-learning單步時序差分學習方法算法描述
Initialize Q(s,a),?s∈S,a∈A(s) arbitrarily, and Q(terminal, ˙)=0Repeat (for each episode):? Initialize S? Choose A from S using policy derived from Q (e.g. ??greedy)? Repeat (for each step of episode):?? Take action A, observe R,S′?? Q(S,A)←Q(S,A)+α[R+γmaxa Q(S‘,a)?Q(S,A)] ?? S←S′; ? Until S is terminal
每個episode是一個training session,且每一輪訓練意義就是加強大腦,表現(xiàn)形式是agent的Q矩陣元素更新。當Q習得后,可以用Q矩陣來指引agent的行動。
Q-learning使用了max,會引起一個最大化偏差(Maximization Bias)問題??梢允褂肈ouble Q-learning可以消除這個問題。
2)Double Q-learning單步時序差分學習方法算法描述
Initialize Q1(s,a) and Q2(s,a),?s∈S,a∈A(s) arbitrarilyInitialize Q1(terminal, ˙)=Q2(terminal, ˙)=0Repeat (for each episode):? Initialize S? Repeat (for each step of episode):?? Choose A from S using policy derived from Q1 and Q2 (e.g. ??greedy)?? Take action A, observe R,S′?? With 0.5 probability:??? Q1(S,A)←Q1(S,A)+α[R+γQ2(S′,argmax Q1(S′,a))?Q1(S,A)] ?? Else:??? Q2(S,A)←Q2(S,A)+α[R+γQ1(S′,argmax Q2(S′,a))?Q2(S,A)] ?? S←S′;? Until S is terminal
Double Q Learning算法本質(zhì)上是將計算Q函數(shù)進行延遲,并不是得到一條樣本就可以更新價值函數(shù),而是一定的概率才可以更新。由原來的1條樣本做到影響決策變?yōu)槎鄺l(至少兩條)樣本影響決策。
Q Learning理論基礎(chǔ):
QLearning理論基礎(chǔ)如下:
1)蒙特卡羅方法
2)動態(tài)規(guī)劃
3)信號系統(tǒng)
4)隨機逼近
5)優(yōu)化控制
Q Learning算法優(yōu)點:
1)所需的參數(shù)少;
2)不需要環(huán)境的模型;
3)不局限于episode task;
4)可以采用離線的實現(xiàn)方式;
5)可以保證收斂到 qπ。
Q Learning算法缺點:
1) Q-learning使用了max,會引起一個最大化偏差問題;
2) 可能會出現(xiàn)更新速度慢;
3) 可能會出現(xiàn)預見能力不強。
注:使用Double Q-learning可以消除問題1);使用多步Q -learning可以消除問題2)和3)。
Q Learning算法應用:
從應用角度看,Q Learning應用領(lǐng)域與應用前景都是非常廣闊的,目前主要應用于動態(tài)系統(tǒng)、機器人控制、工廠中學習最優(yōu)操作工序以及學習棋類對弈等領(lǐng)域。
結(jié)語:
Q Learning是一種典型的與模型無關(guān)的算法,它是由Watkins于1989年在其博士論文中提出,是強化學習發(fā)展的里程碑,也是目前應用最為廣泛的強化學習算法。Q Learning始終是選擇最優(yōu)價值的行動,在實際項目中,Q Learning充滿了冒險性,傾向于大膽嘗試,屬于TD-Learning時序差分學習。Q Learning算法已經(jīng)被廣泛應用于動態(tài)系統(tǒng)、機器人控制、工廠中學習最優(yōu)操作工序以及學習棋類對弈等領(lǐng)域。
------以往文章推薦------
機器學習
深度學習
人工神經(jīng)網(wǎng)絡(luò)
決策樹
隨機森林
強化學習
遷移學習
遺傳算法
樸素貝葉斯
支持向量機
蒙特卡羅方法
馬爾科夫模型
Hopfield神經(jīng)網(wǎng)絡(luò)
回歸模型
K鄰近算法
卷積神經(jīng)網(wǎng)絡(luò)
受限玻爾茲曼機
循環(huán)神經(jīng)網(wǎng)絡(luò)
長短時記憶神經(jīng)網(wǎng)絡(luò)
Adaboost算法
ID3算法
CART算法
K-Means算法
Apriori算法
PCA算法
ICA算法
TD-Learning算法
(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )