台湾大学林轩田机器学习基石课程学习笔记3 -- Types of Learning
紅色石頭的個人網(wǎng)站:redstonewill.com
上節(jié)課我們主要介紹了解決線性分類問題的一個簡單的方法:PLA。PLA能夠在平面中選擇一條直線將樣本數(shù)據(jù)完全正確分類。而對于線性不可分的情況,可以使用Pocket Algorithm來處理。本節(jié)課將主要介紹一下機器學(xué)習(xí)有哪些種類,并進行歸納。
一、Learning with Different Output Space Y
我們在上節(jié)課引入的銀行根據(jù)用戶個人情況判斷是否給他發(fā)信用卡的例子,這是一個典型的二元分類(binary classification)問題。也就是說輸出只有兩個,一般y={-1, +1},-1代表不發(fā)信用卡(負類),+1代表發(fā)信用卡(正類)。
二元分類的問題很常見,包括信用卡發(fā)放、垃圾郵件判別、患者疾病診斷、答案正確性估計等等。二元分類是機器學(xué)習(xí)領(lǐng)域非常核心和基本的問題。二元分類有線性模型也有非線性模型,根據(jù)實際問題情況,選擇不同的模型。
除了二元分類,也有多元分類(Multiclass Classification)問題。顧名思義,多元分類的輸出多于兩個,y={1, 2, … , K}, K>2. 一般多元分類的應(yīng)用有數(shù)字識別、圖片內(nèi)容識別等等。
二元分類和多元分類都屬于分類問題,它們的輸出都是離散值。二對于另外一種情況,比如訓(xùn)練模型,預(yù)測房屋價格、股票收益多少等,這類問題的輸出y=R,即范圍在整個實數(shù)空間,是連續(xù)的。這類問題,我們把它叫做回歸(Regression)。最簡單的線性回歸是一種典型的回歸模型。
除了分類和回歸問題,在自然語言處理等領(lǐng)域中,還會用到一種機器學(xué)習(xí)問題:結(jié)構(gòu)化學(xué)習(xí)(Structured Learning)。結(jié)構(gòu)化學(xué)習(xí)的輸出空間包含了某種結(jié)構(gòu)在里面,它的一些解法通常是從多分類問題延伸而來的,比較復(fù)雜。本系列課程不會詳細介紹Structured Learning,有興趣的讀者可以自行對它進行更深入的研究。
簡單總結(jié)一下,機器學(xué)習(xí)按照輸出空間劃分的話,包括二元分類、多元分類、回歸、結(jié)構(gòu)化學(xué)習(xí)等不同的類型。其中二元分類和回歸是最基礎(chǔ)、最核心的兩個類型,也是我們課程主要介紹的部分。
二、Learning with Different Data Label yn
如果我們拿到的訓(xùn)練樣本D既有輸入特征x,也有輸出yn,那么我們把這種類型的學(xué)習(xí)稱為監(jiān)督式學(xué)習(xí)(Supervised Learning)。監(jiān)督式學(xué)習(xí)可以是二元分類、多元分類或者是回歸,最重要的是知道輸出標(biāo)簽yn。與監(jiān)督式學(xué)習(xí)相對立的另一種類型是非監(jiān)督式學(xué)習(xí)(Unsupervised learning)。非監(jiān)督式學(xué)習(xí)是沒有輸出標(biāo)簽yn的,典型的非監(jiān)督式學(xué)習(xí)包括:聚類(clustering)問題,比如對網(wǎng)頁上新聞的自動分類;密度估計,比如交通路況分析;異常檢測,比如用戶網(wǎng)絡(luò)流量監(jiān)測。通常情況下,非監(jiān)督式學(xué)習(xí)更復(fù)雜一些,而且非監(jiān)督的問題很多都可以使用監(jiān)督式學(xué)習(xí)的一些算法思想來實現(xiàn)。
介于監(jiān)督式和非監(jiān)督式學(xué)習(xí)之間的叫做半監(jiān)督式學(xué)習(xí)(Semi-supervised Learning)。顧名思義,半監(jiān)督式學(xué)習(xí)就是說一部分?jǐn)?shù)據(jù)有輸出標(biāo)簽yn,而另一部分?jǐn)?shù)據(jù)沒有輸出標(biāo)簽yn。在實際應(yīng)用中,半監(jiān)督式學(xué)習(xí)有時候是必須的,比如醫(yī)藥公司對某些藥物進行檢測,考慮到成本和實驗人群限制等問題,只有一部分?jǐn)?shù)據(jù)有輸出標(biāo)簽yn。
監(jiān)督式、非監(jiān)督式、半監(jiān)督式學(xué)習(xí)是機器學(xué)習(xí)領(lǐng)域三個主要類型。除此之外,還有一種非常重要的類型:增強學(xué)習(xí)(Reinforcement Learning)。增強學(xué)習(xí)中,我們給模型或系統(tǒng)一些輸入,但是給不了我們希望的真實的輸出y,根據(jù)模型的輸出反饋,如果反饋結(jié)果良好,更接近真實輸出,就給其正向激勵,如果反饋結(jié)果不好,偏離真實輸出,就給其反向激勵。不斷通過“反饋-修正”這種形式,一步一步讓模型學(xué)習(xí)的更好,這就是增強學(xué)習(xí)的核心所在。增強學(xué)習(xí)可以類比成訓(xùn)練寵物的過程,比如我們要訓(xùn)練狗狗坐下,但是狗狗無法直接聽懂我們的指令“sit down”。在訓(xùn)練過程中,我們給狗狗示意,如果它表現(xiàn)得好,我們就給他獎勵,如果它做跟sit down完全無關(guān)的動作,我們就給它小小的懲罰。這樣不斷修正狗狗的動作,最終能讓它按照我們的指令來行動。實際生活中,增強學(xué)習(xí)的例子也很多,比如根據(jù)用戶點擊、選擇而不斷改進的廣告系統(tǒng)
簡單總結(jié)一下,機器學(xué)習(xí)按照數(shù)據(jù)輸出標(biāo)簽yn劃分的話,包括監(jiān)督式學(xué)習(xí)、非監(jiān)督式學(xué)習(xí)、半監(jiān)督式學(xué)習(xí)和增強學(xué)習(xí)等。其中,監(jiān)督式學(xué)習(xí)應(yīng)用最為廣泛。
三、Learning with Different Protocol f(xn,yn)
按照不同的協(xié)議,機器學(xué)習(xí)可以分為三種類型:
Batch Learning
Online
Active Learning
batch learning是一種常見的類型。batch learning獲得的訓(xùn)練數(shù)據(jù)D是一批的,即一次性拿到整個D,對其進行學(xué)習(xí)建模,得到我們最終的機器學(xué)習(xí)模型。batch learning在實際應(yīng)用中最為廣泛。
online是一種在線學(xué)習(xí)模型,數(shù)據(jù)是實時更新的,根據(jù)數(shù)據(jù)一個個進來,同步更新我們的算法。比如在線郵件過濾系統(tǒng),根據(jù)一封一封郵件的內(nèi)容,根據(jù)當(dāng)前算法判斷是否為垃圾郵件,再根據(jù)用戶反饋,及時更新當(dāng)前算法。這是一個動態(tài)的過程。之前我們介紹的PLA和增強學(xué)習(xí)都可以使用online模型。
active learning是近些年來新出現(xiàn)的一種機器學(xué)習(xí)類型,即讓機器具備主動問問題的能力,例如手寫數(shù)字識別,機器自己生成一個數(shù)字或者對它不確定的手寫字主動提問。active learning優(yōu)勢之一是在獲取樣本label比較困難的時候,可以節(jié)約時間和成本,只對一些重要的label提出需求。
簡單總結(jié)一下,按照不同的協(xié)議,機器學(xué)習(xí)可以分為batch, online, active。這三種學(xué)習(xí)類型分別可以類比為:填鴨式,老師教學(xué)以及主動問問題。
四、Learning with Different Input Space X
上面幾部分介紹的機器學(xué)習(xí)分類都是根據(jù)輸出來分類的,比如根據(jù)輸出空間進行分類,根據(jù)輸出y的標(biāo)記進行分類,根據(jù)取得數(shù)據(jù)和標(biāo)記的方法進行分類。這部分,我們將談?wù)勢斎隭有哪些類型。
輸入X的第一種類型就是concrete features。比如說硬幣分類問題中硬幣的尺寸、重量等;比如疾病診斷中的病人信息等具體特征。concrete features對機器學(xué)習(xí)來說最容易理解和使用。
第二種類型是raw features。比如說手寫數(shù)字識別中每個數(shù)字所在圖片的mxn維像素值;比如語音信號的頻譜等。raw features一般比較抽象,經(jīng)常需要人或者機器來轉(zhuǎn)換為其對應(yīng)的concrete features,這個轉(zhuǎn)換的過程就是Feature Transform。
第三種類型是abstract features。比如某購物網(wǎng)站做購買預(yù)測時,提供給參賽者的是抽象加密過的資料編號或者ID,這些特征X完全是抽象的,沒有實際的物理含義。所以對于機器學(xué)習(xí)來說是比較困難的,需要對特征進行更多的轉(zhuǎn)換和提取。
簡單總結(jié)一下,根據(jù)輸入X類型不同,可以分為concetet, raw, abstract。將一些抽象的特征轉(zhuǎn)換為具體的特征,是機器學(xué)習(xí)過程中非常重要的一個環(huán)節(jié)。在《機器學(xué)習(xí)技法》課程中,我們再詳細介紹。
五、總結(jié):
本節(jié)課主要介紹了機器學(xué)習(xí)的類型,包括Out Space、Data Label、Protocol、Input Space四種類型。
注明:
文章中所有的圖片均來自臺灣大學(xué)林軒田《機器學(xué)習(xí)基石》課程。
關(guān)注公眾號并輸入關(guān)鍵字“jspdf”獲得該筆記的pdf文件哦~
更多AI資源請關(guān)注公眾號:紅色石頭的機器學(xué)習(xí)之路(ID:redstonewill)
總結(jié)
以上是生活随笔為你收集整理的台湾大学林轩田机器学习基石课程学习笔记3 -- Types of Learning的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台湾大学林轩田机器学习基石课程学习笔记2
- 下一篇: 面试了一个 39 岁程序员,全程让我都感