1. 程式人生 > >【強化學習】MOVE37-Introduction(導論)

【強化學習】MOVE37-Introduction(導論)

本課作為導論,大致普及了一下機器學習和強化學習的概念和用途。其次,捎帶介紹了一下最常見的監督學習和非監督學習。對機器學習稍有了解的同學們,對這兩個概念應該不陌生。如果對此毫無概念的同學們,可以看我下面的簡單說明。

機器學習(Machine Learning)

首先,我們要明白,所謂的機器學習就是試圖找出輸入輸出量之間的一個固定關係,以期對以後所有的輸入量都能相應地去預測一個輸出量。用數學語言來說,就是從一堆已知的x和y之間找出對映f。打個比方,如果我們發現每次穿裙子(x)就一定會下雨(y),那麼這個因果關係就是f;由此,我們就可以根據f這個關係,也就是某天穿沒穿裙子,來推斷會不會下雨。

監督學習 (Supervised Learning)

這裡舉一個水果分類的例子。這裡機器學習演算法所要完成的工作,就是要得到水果和水果名稱之間的關係。

圖片來自視訊

第一步是訓練演算法,第二步是用測試資料來檢驗演算法的完善度。圖中可以看到,這裡訓練演算法時輸入的資料是預先分過類的(即打過標籤的),所以事先需要人工參與,把未分類的原始資料進行分類。此即是“監督”二字的要義所在,需要人工“監督”才能完成演算法的訓練。

非監督學習 (Unsupervised Learning)

同樣是以水果舉例。

圖片來自視訊

同樣分為兩步,區別在於,這裡輸入的資料是未分類過的(也未打標籤)。機器學習演算法需要自己完成分類的工作,並從中找出資料中的模式(往往是我們無法解釋和說明的)。非監督學習通常可以用於聚類

——識別各個類別之下資料的相似性並由此分類,也可以用於異常識別——例如排除資料集中的異常值(視訊中的例子是欺詐性交易)。

圖片來自視訊

這裡,一句話總結:監督學習適用於事後對資料闡釋性分析和對未來的預測,非監督學習則更適合發現數據的內在規律結構

然而,實際情況中的影響因素往往更復雜,要解決的問題也往往不止是確定既有的固定關係。有時,需要我們在沒有訓練資料的情況根據實際情況去不斷優化策略(有點類似於我們人類的熟能生巧)。因此,這裡引進了另一個概念:“強化學習”。

強化學習 (Reinforcement Learning)

這裡以選擇最優運輸路線為例。

圖片來自視訊

可知影響運輸結果的因素有很多,包括天氣、道路擁堵、交通工具、食品儲存等等。同時,我們也沒有先驗資料來

訓練演算法和檢驗演算法的優越性。那麼這裡的強化學習演算法,就引入了一個新的維度時間,來幫助我們在實際情況中通過不斷迭代來優化演算法。

圖片來自視訊

強化學習演算法可以說是介於監督演算法和非監督演算法之間。它既不像非監督演算法一樣完全不使用標籤,也不像監督演算法一樣預先打好標籤,這裡的標籤是延時(delayed)打上的。就像圖中所標出的那樣,每個環節的標籤T(也可以稱為反饋)由下一個環節來標記。

我個人的理解是,所謂的強化學習演算法的核心,就是一個環環相扣的負反饋系統。學過生物的同學大概能理解的意思,生物內部環境的穩態就是通過負反饋機制來實現的。

圖片來自視訊

而當模式識別網路(神經網路)和基於強化學習框架的實時環境結合在一起,就是所謂深度強化學習。我的理解是,和非監督學習演算法類似,前者相當於Step1的模式識別部分,而後者相當於Step2——不斷提供反饋來優化演算法。

至於這一演算法有多牛逼嘛,看阿爾法狗就知道了。

----------------------------------------------------- 

介紹完這些基本概念後,下面就進入正題了。有一些數學知識必須瞭解。

馬爾科夫鏈 (Markov Chain)

對於強化學習來說,馬爾科夫鏈是個很重要的概念。正是基於這個概念,才發展出演算法和外界之間溝通反饋的方式。

馬爾科夫鏈究竟是什麼呢?簡單來說,就是用來描述一連串相互關聯的事件(狀態)的一種抽象模型。其中每個事件(狀態)已經發生的前提下,接著會發生哪個事件(切換到哪個狀態)的概率分佈是已知的。

圖片來自視訊

好吧,如果概率統計裡沒學過這一課的同學,估計此時已經百分百暈了。拿現實中的例子來舉例,就比方說,天氣預報吧。首先我們假定只有兩種天氣:晴天和雨天,並且前一天下雨後第二天放晴的概率是0.2,繼續下雨的概率是0.8;前一天晴天第二天下雨的概率是0.4,繼續放晴是0.6。那麼,根據今天的天氣,我們是不是能把未來七天每天放晴和下雨的概率都算出來了?OK,這未來七天的天氣狀態,就是一條簡單的馬爾科夫鏈。

必須注意兩點,一、我們計算出來的只是概率分佈,依舊無法確定給出每天的天氣;二、每天的天氣概率情況只取決於前一天的天氣。

現在可以結合一下視訊裡的示意圖來看了,這裡的轉移矩陣(Transition Matrix)給出了狀態間互相轉移的概率分佈,右下角則展示了每多走一步後我們來到A、B、C三個節點的可能性。

馬爾科夫決策過程(Markov Decision Process)

馬爾科夫決策過程是馬爾科夫鏈的擴充套件,在原基礎上加入了行動(Action)獎勵/反饋(Reward)。相應的轉移矩陣也產生了變化,下一個狀態的概率分佈 不僅取決於上一個狀態還取決於採取的行動。而從環境得到的反饋則告訴我們這一步到底是好(正向反饋)還是壞(負向反饋)——所謂趨利避害,下次就可以避免在同一狀態下采取同樣的行動。那麼最終在不斷最大化獎勵的過程中,我們就獲取了最優策略

圖片來自視訊

OK,以上就是導論課的所有內容。

有理解不當或闡述的錯誤的地方,還望大牛們不吝指正。

感謝閱讀~