林軒田機器學習基石課程學習筆記3 — Types of Learning

紅色石頭發表於2018-07-23

上節課我們主要介紹瞭解決線性分類問題的一個簡單的方法:PLA。PLA能夠在平面中選擇一條直線將樣本資料完全正確分類。而對於線性不可分的情況,可以使用Pocket Algorithm來處理。本節課將主要介紹一下機器學習有哪些種類,並進行歸納。

一、Learning with Different Output Space Y

我們在上節課引入的銀行根據使用者個人情況判斷是否給他發信用卡的例子,這是一個典型的二元分類(binary classification)問題。也就是說輸出只有兩個,一般y={-1, +1},-1代表不發信用卡(負類),+1代表發信用卡(正類)。

二元分類的問題很常見,包括信用卡發放、垃圾郵件判別、患者疾病診斷、答案正確性估計等等。二元分類是機器學習領域非常核心和基本的問題。二元分類有線性模型也有非線性模型,根據實際問題情況,選擇不同的模型。

除了二元分類,也有多元分類(Multiclass Classification)問題。顧名思義,多元分類的輸出多於兩個,y={1, 2, … , K}, K>2. 一般多元分類的應用有數字識別、圖片內容識別等等。

二元分類和多元分類都屬於分類問題,它們的輸出都是離散值。二對於另外一種情況,比如訓練模型,預測房屋價格、股票收益多少等,這類問題的輸出y=R,即範圍在整個實數空間,是連續的。這類問題,我們把它叫做迴歸(Regression)。最簡單的線性迴歸是一種典型的迴歸模型。

除了分類和迴歸問題,在自然語言處理等領域中,還會用到一種機器學習問題:結構化學習(Structured Learning)。結構化學習的輸出空間包含了某種結構在裡面,它的一些解法通常是從多分類問題延伸而來的,比較複雜。本系列課程不會詳細介紹Structured Learning,有興趣的讀者可以自行對它進行更深入的研究。

簡單總結一下,機器學習按照輸出空間劃分的話,包括二元分類、多元分類、迴歸、結構化學習等不同的型別。其中二元分類和迴歸是最基礎、最核心的兩個型別,也是我們課程主要介紹的部分。

二、Learning with Different Data Label yn

如果我們拿到的訓練樣本D既有輸入特徵x,也有輸出yn,那麼我們把這種型別的學習稱為監督式學習(Supervised Learning)。監督式學習可以是二元分類、多元分類或者是迴歸,最重要的是知道輸出標籤yn。與監督式學習相對立的另一種型別是非監督式學習(Unsupervised learning)。非監督式學習是沒有輸出標籤yn的,典型的非監督式學習包括:聚類(clustering)問題,比如對網頁上新聞的自動分類;密度估計,比如交通路況分析;異常檢測,比如使用者網路流量監測。通常情況下,非監督式學習更復雜一些,而且非監督的問題很多都可以使用監督式學習的一些演算法思想來實現。

介於監督式和非監督式學習之間的叫做半監督式學習(Semi-supervised Learning)。顧名思義,半監督式學習就是說一部分資料有輸出標籤yn,而另一部分資料沒有輸出標籤yn。在實際應用中,半監督式學習有時候是必須的,比如醫藥公司對某些藥物進行檢測,考慮到成本和實驗人群限制等問題,只有一部分資料有輸出標籤yn。

監督式、非監督式、半監督式學習是機器學習領域三個主要型別。除此之外,還有一種非常重要的型別:增強學習(Reinforcement Learning)。增強學習中,我們給模型或系統一些輸入,但是給不了我們希望的真實的輸出y,根據模型的輸出反饋,如果反饋結果良好,更接近真實輸出,就給其正向激勵,如果反饋結果不好,偏離真實輸出,就給其反向激勵。不斷通過“反饋-修正”這種形式,一步一步讓模型學習的更好,這就是增強學習的核心所在。增強學習可以類比成訓練寵物的過程,比如我們要訓練狗狗坐下,但是狗狗無法直接聽懂我們的指令“sit down”。在訓練過程中,我們給狗狗示意,如果它表現得好,我們就給他獎勵,如果它做跟sit down完全無關的動作,我們就給它小小的懲罰。這樣不斷修正狗狗的動作,最終能讓它按照我們的指令來行動。實際生活中,增強學習的例子也很多,比如根據使用者點選、選擇而不斷改進的廣告系統

簡單總結一下,機器學習按照資料輸出標籤yn劃分的話,包括監督式學習、非監督式學習、半監督式學習和增強學習等。其中,監督式學習應用最為廣泛。

三、Learning with Different Protocol f(xn,yn)

按照不同的協議,機器學習可以分為三種型別:

  • Batch Learning
  • Online

  • Active Learning

batch learning是一種常見的型別。batch learning獲得的訓練資料D是一批的,即一次性拿到整個D,對其進行學習建模,得到我們最終的機器學習模型。batch learning在實際應用中最為廣泛。

online是一種線上學習模型,資料是實時更新的,根據資料一個個進來,同步更新我們的演算法。比如線上郵件過濾系統,根據一封一封郵件的內容,根據當前演算法判斷是否為垃圾郵件,再根據使用者反饋,及時更新當前演算法。這是一個動態的過程。之前我們介紹的PLA和增強學習都可以使用online模型。

active learning是近些年來新出現的一種機器學習型別,即讓機器具備主動問問題的能力,例如手寫數字識別,機器自己生成一個數字或者對它不確定的手寫字主動提問。active learning優勢之一是在獲取樣本label比較困難的時候,可以節約時間和成本,只對一些重要的label提出需求。

簡單總結一下,按照不同的協議,機器學習可以分為batch, online, active。這三種學習型別分別可以類比為:填鴨式,老師教學以及主動問問題。

四、Learning with Different Input Space X

上面幾部分介紹的機器學習分類都是根據輸出來分類的,比如根據輸出空間進行分類,根據輸出y的標記進行分類,根據取得資料和標記的方法進行分類。這部分,我們將談談輸入X有哪些型別。

輸入X的第一種型別就是concrete features。比如說硬幣分類問題中硬幣的尺寸、重量等;比如疾病診斷中的病人資訊等具體特徵。concrete features對機器學習來說最容易理解和使用。

第二種型別是raw features。比如說手寫數字識別中每個數字所在圖片的mxn維畫素值;比如語音訊號的頻譜等。raw features一般比較抽象,經常需要人或者機器來轉換為其對應的concrete features,這個轉換的過程就是Feature Transform。

第三種型別是abstract features。比如某購物網站做購買預測時,提供給參賽者的是抽象加密過的資料編號或者ID,這些特徵X完全是抽象的,沒有實際的物理含義。所以對於機器學習來說是比較困難的,需要對特徵進行更多的轉換和提取。

簡單總結一下,根據輸入X型別不同,可以分為concetet, raw, abstract。將一些抽象的特徵轉換為具體的特徵,是機器學習過程中非常重要的一個環節。在《機器學習技法》課程中,我們再詳細介紹。

五、總結:

本節課主要介紹了機器學習的型別,包括Out Space、Data Label、Protocol、Input Space四種型別。

註明:

文章中所有的圖片均來自臺灣大學林軒田《機器學習基石》課程。

更多AI資源請關注公眾號:AI有道(ID:redstonewill)

相關文章