1. 程式人生 > >機器學習(二十四)——資料不平衡問題, 強化學習

機器學習(二十四)——資料不平衡問題, 強化學習

資料不平衡問題

如何處理不均衡資料?

如何解決機器學習中資料不平衡問題

七招教你處理非平衡資料

機器學習中的資料不平衡解決方案大全

Imbalanced Classification Problems

關於處理樣本不平衡問題的Trick整理

機器學習中樣本比例不平衡的處理方法

強化學習

監督學習的侷限

舉個例子,如果我們想讓機器學會開車,一個很直接的想法是觀察人類行為,並且模仿人類,在相應觀測下做出人類所做行為。這種方法也叫作模仿學習(Imitation Learning)。

將這個想法實現起來也很簡單,只需要收集該任務的一些觀測(路面的畫面),以及每個觀測人類會做出的反應(轉動方向盤),然後像監督學習一樣訓練一個神經網路,以觀測為輸入,人類行為為標籤,其中行為是離散時是分類任務,連續時是迴歸任務。

然而這簡單的監督學習理論上並不可行,一個直觀的原因是由於現實的隨機性或者複雜性,使得機器所採用的動作和人類的動作有偏差或者動作所產生的結果有偏差,這樣在有偏差的下一狀態,機器還會做出有偏差的動作,使得之後狀態的偏差積累,導致機器遇到監督學習時沒有碰到過的狀態,那機器就完全不知道該怎麼做了,也就是如下圖所示:

這裡寫圖片描述

即使我們可以使用一些演算法來改善模仿學習的效果,但模仿學習始終有如下問題:

1.需要人類提供的大量資料(尤其是深度學習,需要大量樣本)。

2.人類對一些任務也做的不太好,對於一些複雜任務,人類能做出的動作有限。

3.我們希望機器能自動學習,即能不斷地在錯誤中自我完善,而不需要人類的指導。

概述

強化學習是一個多學科交叉的領域。它的主要組成以及和其他學科的關係如下圖所示:

這裡寫圖片描述

這裡寫圖片描述

上圖是Reinforcement Learning和其他型別演算法的關係圖。

這裡寫圖片描述

不像監督學習,對於每一個樣本,都有一個確定的標籤與之對應,而強化學習沒有標籤,只有一個時間延遲的獎勵,而且遊戲中我們往往犧牲當前的獎勵來獲取將來更大的獎勵。這就是信用分配問題(Credit Assignment Problem),即當前的動作要為將來獲得更多的獎勵負責。

而且在我們找到一個策略,讓遊戲獲得不錯的獎勵時,我們是選擇繼續堅持當前的策略,還是探索新的策略以求更多的獎勵?這就是探索與開發(Explore-exploit Dilemma)

的問題。

因此,強化學習某種意義上可看做具有延遲標記資訊的監督學習

這裡寫圖片描述

上圖是強化學習的基本流程圖。從控制論的角度來說,這是一個反饋控制系統,和經典的Kalman filters系統非常類似。因此,目前強化學習的主要用途,也多數和系統控制相關,例如機器人和自動駕駛。

在推薦系統領域,由於有使用者的反饋資訊,亦可使用相關強化學習演算法。

MDP

強化學習任務通常用馬爾可夫決策過程(Markov Decision Process)來描述:

<S,A,P,R,γ>

這個五元組依次代表:states、actions、state transition probability matrix、reward function、discount factor。

MDP中有兩個物件:Agent和Environment。
1.Environment處於一個特定的狀態(State)(如打磚塊遊戲中擋板的位置、各個磚塊的狀態等)。
2.Agent可以通過執行特定的動作(Actions)(如向左向右移動擋板)來改變Environment的狀態。
3.Environment狀態改變之後會返回一個觀察(Observation)給Agent,同時還會得到一個獎勵(Reward)(可以為負,就是懲罰)。
4.Agent根據返回的資訊採取新的動作,如此反覆下去。Agent如何選擇動作叫做策略(Policy)。MDP的任務就是找到一個策略,來最大化獎勵。

注意State和Observation區別:State是Environment的私有表達,我們往往不會直接得到。

在MDP中,當前狀態State包含了所有歷史資訊,即將來只和現在有關,與過去無關,因為現在狀態包含了所有歷史資訊。只有滿足這樣條件的狀態才叫做馬爾科夫狀態(Markov state)。當然這只是理想狀況,現實往往不會那麼簡單。

正是因為State太過於複雜,我們往往可以需要一個對Environment的觀察來間接獲得資訊,因此就有了Observation。不過Observation是可以等於State的,此時叫做Full Observability。

這裡可以類比圍棋和星際爭霸。前者的所有資訊都在明面上,因此是Full Observability,而後者由於戰爭迷霧的存在,顯然就不是Full Observability的了。

狀態、動作、狀態轉移概率組成了MDP,一個MDP週期(episode)由一個有限的狀態、動作、獎勵佇列組成:

s0,a0,r1,s1,a1,r2,s2,,sn1,an1,rn,sn

這裡si代表狀態,ai代表行動,ri+1是執行動作後的獎勵。最終狀態為sn