天天看點

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

點選檢視第一章 點選檢視第二章

第3章

機器學習概述

機器學習(Machine Learning,ML)是實作人工智能的一種方法,它來源于早期的人工智能領域,是人工智能研究發展到一定階段的必然産物。機器學習可以分為以支援向量機為代表的統計學習和以人工神經網絡為代表的深度學習。統計學習模型參數往往是可解釋的,而人工神經網絡則是一個“黑箱”。

本章我們首先主要介紹統計機器學習,包括機器學習的發展和基本實作方法,然後引出自動化機器學習。

3.1 機器學習的發展

3.1.1 “機器學習”名字的由來

人工智能在1956年由約翰·麥卡錫(John McCarthy)首次定義,其含義是可以執行人類智能特征任務的機器。包括語言了解、物體識别、聲音識别、學習和智能地解決人類問題等方面。人工智能可以從廣義和狹義兩個方面了解:廣義是指人工智能是可以實作同等人類能力的計算機;狹義是指其可以做人類要求的特定任務,并且能夠做得非常好,比如一台用來識别圖像的機器就僅限于能夠很好地識别圖像,而不能做其他事情。

機器學習是人工智能的核心任務,阿瑟·塞缪爾(Arthur Samuel)将機器學習定義為“沒有明确程式設計就能學習的能力”。雖然在不使用機器學習的情況下,就可以實作人工智能,但是這需要通過定義複雜的規則和決策樹等方式來建構數百萬行代碼。是以,就出現了現在的機器學習算法,不需要通過手動編碼和定義特定的指令來完成特定的任務,隻需要以一種“訓練”算法的方式讓機器自己學習,并根據輸入的資料進行自我調整和改進。

那麼“機器學習”的名字是怎麼來的呢?

1952年,阿瑟·塞缪爾在IBM公司研制了一個西洋跳棋程式,塞缪爾自己并不是下西洋棋的高手,是以這個計算機程式的下棋能力很差,但是它具有自學習能力,可以通過自己對大量棋局的分析,逐漸學會如何分辨目前局面出的是“好棋”還是“壞棋”,從中不斷積累經驗和吸取教訓,進而不斷提高棋藝,最後竟然超過了塞缪爾本人。塞缪爾認為,在不使用具體的代碼,隻使用一定數量的訓練資料和泛型程式設計的前提下,機器就可以從訓練資料中學到赢棋的經驗,這就是機器學習最初的定義。1961年,“知識工程之父”愛德華·費根鮑姆(Edward Feigenbaum,1994年圖靈獎得主)為了編寫其巨著《Computers and Thought》,邀請塞缪爾提供該程式最好的一個對弈執行個體。借此機會,塞缪爾向當時的康涅狄格州的跳棋冠軍,也是全美排名第四的棋手發起挑戰,最終塞缪爾的程式獲得了勝利,轟動一時。

塞缪爾的這個跳棋程式不僅在人工智能領域成為經典,它還推動了整個計算機科學的發展程序。計算機剛出現的時候,隻是被用來做大型計算的機器,不可能完成沒有事先編好程式的任務,而塞缪爾的跳棋程式,打破了這種思想的禁锢,創造了不可能,從那以後,引領了新的計算機潮流,成為後人發展計算機的新方向。

3.1.2 “機器學習”的前世今生

20世紀50年代到70年代初期,人工智能在此期間的研究被稱為“推理期”,簡單來說,人們認為隻要賦予機器邏輯推理能力,機器就能具有智能。這一階段的代表性工作有A. Newell和H. Simonde的“邏輯理論家”(Logic Theorist)程式,以及後來的“通用問題求解”(General Problem Solving)程式等,這些工作在當時獲得了令人振奮的結果。“邏輯理論家”程式分别在1952年和1963年證明了著名數學家羅素和懷特海的名著《數學原理》中的38條定理和全部的52條定理。是以,A. Newell和H. Simonde成為1975年圖靈獎的獲得者。随着研究的深入發展,機器僅僅具有邏輯推理能力是遠遠不夠的,為了實作人工智能,機器必須要具有智能,也就是說,必須要想辦法讓機器擁有知識。

從20世紀70年代中期開始,人工智能的研究就進入了“知識期”。1965年,Edward Feigenbaum主持研制了世界上第一個專家系統“DENDRAL”,自此開始,一大批專家系統成為主流,它們也在很多應用領域取得了成功。是以,在1994年Edward Feigenbaum獲得了圖靈獎。但是,專家系統随着科學技術的進步,面臨了“知識工程瓶頸”,最大的困境就是,由人把知識總結出來再教給計算機是相當困難的。那麼,讓機器自己學習知識,會不會成為可能呢?

答案是肯定的,有太多的事實已經證明機器是可以自己學習知識的,其中最早的是上文提到的塞缪爾的跳棋程式。到20世紀50年代中後期,出現了基于神經網絡的“聯結主義”(Connectionism)學習,代表作是F. Rosenblatt的感覺機(Perceptron)、B. Widrow的Adaline等。在20世紀六七十年代,多種學習技術得到了初步發展,基于邏輯表示的“符号主義”(Symbolism)學習逐漸發展,例如以決策理論為基礎的統計學習技術以及強化學習技術等。二十多年後,“統計機器學習”(Statistical Learning)迅速崛起,代表性的技術有支援向量機(Support Vector Machine,SVM)等。

在過去的二十多年中,人類在收集資料、存儲、傳輸、處理資料上的需求和能力得到了很大的提升。随着大資料時代的到來,人類社會無時無刻不在産生着資料,那麼如何有效地對資料進行分析和利用,成為迫切需要解決的問題,而機器學習恰巧成為有效的解決方案。目前,在人類生活的各個領域,都可以看到機器學習的身影。無論是在複雜的人工智能領域,如自然語言處理、專家系統、模式識别、計算機視覺、智能機器人,還是在多媒體、網絡通信、圖形學、軟體工程、醫學領域,甚至是更常見的購物系統等,機器學習已然成為我們不可擷取的一部分。

有關機器學習的介紹已經非常多了,在這裡就不再贅述,我們接下來的講述重點将放在機器學習的實作方法,還有為了解決現有機器學習的問題,而産生的自動化機器學習到底是什麼吧。

3.1.3 “機器學習”的理論基礎

在機器學習發展的過程中,逐漸分劃成兩條路線,這同時也影響了後來的自動化機器學習。一條路線是以Barlow為主導的單細胞學說,這個理論是說,一開始是從零基礎開始的,一個單細胞逐漸發展生長出多個細胞,這也意味着神經細胞的結構可能會很複雜。而另一條路線是Hebb主張的,由多個互相關聯的神經細胞集合體作為開始,稱其為ensemble,并不斷通過改變細胞個數和細胞間的連接配接來發展神經細胞的結構。雖然這兩種假設都有生物學證據的支援,但是至今沒有生物學的定論,這也為計算機科學家們提供了想象的空間,也造就了後來機器學習發展過程的不同研究路線,并且這兩種假設都對機器學習研究有相當重要的引導作用。

基于這兩種假設,機器學習的發展曆程被分為了兩類,一類是以感覺機、BP和SVM等為主導的,另一類是以樣條理論、K-近鄰、符号機器學習、叢集機器學習和流形機器學習等代表的。

本書中的重點—統計機器學習是近幾年被廣泛應用的機器學習方法。從廣義上說,這是一類方法學。當我們從問題世界觀測到一些資料,如果沒有能力或者沒有必要建立嚴格的實體模型時,可以使用數學方法從這些資料中推理出數學模型。注意,這裡的數學模型一般是沒有詳細的實體解釋的,不過會在輸入輸出的關系中反映實際問題,這就是我們開始提到的“黑箱”原理。一般來說,“黑箱”原理是基于統計方法的,統計機器學習的本質就是“黑箱”原理的延續。是以,統計機器學習主要關注的是數學方法的研究,而神經科學則被列為深度學習領域。

統計機器學習的基本要求是,假設同類資料具有一定的統計規律性。目标則是,從假設的空間中,也就是常說的模型空間,從輸入空間到輸出空間的映射空間中尋找一個最優的模型。綜上,可以總結統計機器學習方法的主要研究問題,可分為如下3個:

1)模型假設:模型假設要解決的問題是如何将資料從輸入空間轉化到輸出空間,通常用後驗機率或是映射函數來解決。

2)模型選擇:在模型的假設空間中,存在無窮多個滿足假設的可選擇模型,模型選擇要解決的問題就是如何從模型假設空間中選擇一個最優模型。通常采用損失函數來指定模型選擇政策,将模型選擇轉化為一個最優化問題來求解。為了降低模型的複雜性,提高模型的泛化能力,避免過拟合的發生,通常會加上正則化項。

3)學習算法:既然已經将模型選擇轉化為一個最優化問題了,那麼最優化問題該如何實作,這就是學習算法要解決的了。比如在給定損失函數後,并且在損失函數的約定條件下,怎樣快速地找到最優解,常用的學習算法包括梯度下降等。

統計機器學習的這3個問題都是機器學習發展過程中的研究熱點。對于模型假設來說,如果模型選擇錯誤,那麼無論如何都難以描述出資料集的正确分布特性。進而,在模型空間假設上,衍生出了很多方法,包括交叉驗證等。模型選擇的關鍵問題在于損失函數的設計,損失函數通常包括損失項和正則化項,不同的選擇政策會造成不同的模型選擇,而模型選擇的不同,則會導緻預測效果的巨大差異。對于學習算法來說,不同的學習算法,其學習的效率會有很大的差異,而且學習出來的效果也不一樣。

統計機器學習是基于對資料的初步認識以及學習目的的分析(特征工程),選擇合适的數學模型,拟定超參數,并輸入樣本資料,依據一定的政策,運用合适的學習算法對模型進行訓練,最後運用訓練好的模型對資料進行分析預測。具體流程如圖3-1所示。

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

圖3-1 統計機器學習的流程圖

根據圖3-1中的流程和統計機器學習研究的3個主要問題,可以将統計機器學習總結為如下3個要素:

1)模型(model):比如支援向量機、人工神經網絡模型等。模型在未進行訓練前,其可能的參數是多個甚至無窮的,故可能的模型也是多個甚至無窮的,這些模型構成的集合就是假設空間(hypothesis space)。

2)政策(strategy):即從假設空間中挑選出參數最優的模型的準則。模型的分類或預測結果與實際情況的誤差(損失函數)越小,模型就越好。

3)算法(algorithm):即從假設空間中挑選模型的方法(等同于求解最佳的模型參數)。機器學習的參數求解通常都會轉化為最優化問題,例如支援向量機實質上就是求解凸二次規劃問題。

3.2 機器學習的實作方法

機器學習的核心是“使用算法解析資料,從中學習,然後對世界上的某件事情做出決定或預測”。這意味着,與其顯式地編寫程式來執行某些任務,不如教計算機如何開發一個算法來完成任務。機器學習主要可以分為3個類型:監督學習、非監督學習和強化學習。我們在這裡僅介紹監督學習和非監督學習,強化學習的内容請參考第9章。

監督學習要求資料必須被标記過,計算機可以通過使用特定的模式來識别被标記的樣本。監督學習可以分為兩種類型:分類和回歸。分類,即機器被訓練來完成對一組資料進行特定的分類。生活中最常見的一種分類問題是垃圾郵件的分類。機器首先分析以前被使用者标記為垃圾郵件的類型、特征等,然後将新郵件與這些曾被标記為垃圾郵件的郵件進行對比,根據設定的比對度來做決定。假設将比對度的門檻值設為90%,即表示比對度大于或等于90%的郵件被分類為垃圾郵件,而比對度小于90%的郵件被認為是正常郵件。回歸,即機器根據先前(标記)的資料來預測未來。天氣預測是最好的回歸例子,根據氣象事件的曆史資料(平均氣溫、濕度和降水量)和目前天氣的資料,對未來的天氣進行預測。

無監督學習,其資料是不需要被标記的,在我們的現實世界中的資料大多數也都是不帶标簽的,标記資料會浪費大量的人力物力,是以這類算法是非常有用的。無監督學習主要分為聚類和降維。聚類是指,根據資料的特征和行為對象進行分組,這裡說的分組與分類算法是不同的,分類算法的組是人為規定的,而聚類算法中的組,則是由計算機自定義的,不是人為規定。聚類,将一組資料劃分成不同的子組,如年齡、性别這樣的特性,然後再将其應用到特定問題中。降維,則是通過找到資料間的共同點,來減少資料集的變量,減少備援的發生。降維也是後文将會提到的特征工程中的一個重要方面。

下面我們将逐一介紹機器學習中一些經典問題,分别是分類問題、回歸問題和聚類問題。

3.2.1 分類問題

在機器學習中,最常見的問題就是分類問題了。所謂分類問題,就是對輸入資料,進行分類。通常,将能夠完成分類任務的算法,稱為分類器(Classifier)。即找到一個函數判斷輸入資料所屬的類别,可以是二分類問題(是或不是),也可以是多分類問題(在多個類别中判斷輸入資料具體屬于哪一個類别)。分類問題的輸出值是離散的,其輸出結果是用來指定其屬于哪個類别。

分類問題的求解過程可以分為以下3個步驟:

1)确定一個模型,輸入樣本資料,最後輸出其類别;

2)定義損失函數;

3)找出使損失函數最小的那個最優函數。

通過這種方法,可以直接計算出尋找到的最優函數,即樣本屬于每個類别的機率,這種方法被稱為判别式(Discrimination)方法,因為其可以直接對樣本所屬類别進行判斷,相應的模型也可以稱為判别式模型。如果借助機率論的知識,分析每一類的特征,這樣就可以将二分類問題應用到多分類問題中。以最簡單的二分類為例,模組化,使用條件機率,進行如下轉換:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

對于給定的樣本資料,與類别無關,是以隻需要考慮和,這兩個分布正好是每一類樣本的特征,是以隻對這兩個分布進行研究。

是類先驗機率,即在未知其他條件下對事件發生機率的表示,這個值是通過以往經驗和分析(曆史資料)得到的結果。根據大數定律,當訓練樣本中包含充足的獨立同分布樣本時,可以通過各類樣本的出現頻率進行估計;與類先驗機率相對應的是類後驗(Posterior)機率,即需要模組化的目标,表示在已知條件下事件發生的機率。

是類條件(class-conditional)機率,即在某個特定類别下,樣本的發生機率。它是涉及關于樣本所有特征的聯合機率,如果有個特征且取值均為二值,那麼樣本空間大小将是,現實中訓練樣本的大小往往遠小于這個值,是以通過頻率估算顯然是不可行的,因為“未被觀測到”不等于“出現機率為0”。那麼就需要應用其他方法進行求解了,如高斯分布、極大似然估計、樸素貝葉斯分類等。

1.高斯分布

通常,假定類條件機率符合某種确定的機率分布,訓練樣本都是從這個分布中随機采樣得到的,“未被采樣到的點”也對應一個發生機率。某種确定的機率分布通常被假設為高斯分布(Gaussian Distribution),現在就需要根據訓練樣本确定高斯分布的參數。多元高斯分布的機率密度函數如下:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

其中是的維數,是均值向量,是協方差矩陣,決定了分布的最高點,決定了分布的形狀。

2.極大似然估計

任何一個高斯分布都可以采樣出訓練樣本,但是分布的不同,采樣出訓練樣本的可能性是不一樣的,對給定和采樣出訓練樣本的可能性可以寫作:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

表示訓練樣本中屬于類别的樣本數目。最大化上面的似然函數,找出的和就是最佳參數。

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

該方法被稱為最大似然估計(Maximum Likelihood Estimation,MLE),參數和的最大似然估計為:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

也就是說,最佳是樣本均值,協方差矩陣是的均值。現在已經計算出每個類别的和,這樣就可以選擇較大的那個類别作為的類别。

3.樸素貝葉斯分類

如果假設樣本的所有特征值都是互相獨立的,那麼可以寫成:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

其中,是特征數目,是第個屬性。同樣可以假設每一維特征上的機率分布仍然服從高斯分布,此時的高斯分布是一個一維高斯分布,對應一個實值,組成協方差矩陣也隻在對角線位置有值,進一步減少了參數數目,得到了更簡單的模型。這樣的模型被稱作樸素貝葉斯分類器(Naive Bayes classifier,NB)。最後,對于樣本分布不一定要選擇高斯分布,例如如果是二值分布,可以假設符合伯努利分布,具體應用中要根據樣本特點具體而定。

3.2.2 回歸問題

回歸(Regression)模型是指機器學習方法學到的函數的輸出是連續實數值,它主要适用于預測問題,常見模型包括基礎的線性回歸模型和多項式回歸模型。

線性回歸

按照機器學習模組化的3個步驟,首先需要确定選用的模型,基于問題我們很容易知道此處應使用線性回歸(Linear Regression)模型,然後将其形式化表達:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

其中,是樣本資料的維特征描述,每一組和能确定一個不一樣的,和的所有取值組合就構成了可選函數集合,而回歸任務要做的就是如何從這個函數集合中選出“最好”的那個函數。

對于訓練資料集D描述如下:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

其中,是樣本的維特征向量表示,是樣本标記。線性回歸的目标是學到一個線性函數以盡可能準确地預測實值輸出标記。

是以需要确定一個衡量标準,來度量一個函數的好壞,這就需要損失函數(Loss Function)。根據線性回歸的目标,隻需要度量與之間的差距,均方誤差(Mean Square Error,MSE)是回歸任務中最常用的損失函數。

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

3.2.3 聚類問題

常見的聚類問題的算法當屬k-means算法了,k-means算法的核心思想是簇識别。假定有一些資料,把相似資料歸到一起,簇識别會告訴我們這些簇到底是什麼。簇的個數是使用者給定的,每一個簇都有一個“心髒”—聚類中心,也叫質心(centroid)。聚類與分類的最大不同是,分類的目标事先已知,而聚類則不知道分類标簽是什麼,隻能根據相似度來給資料貼上不同的标簽。相似度的度量最常用的是歐氏距離。k-means算法的基本流程如下:

1)給定輸入訓練資料:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

2)随機選擇初始的k個聚類中心:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

3)對每個樣本資料,将其類别标号設為距離其最近的聚類中心的标号:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

4)将每個聚類中心的值更新為該類别所有樣本的平均值:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

5)重複第3步與第4步,直到算法收斂為止,此時的聚類中心将不再移動。

k-means算法的優化目标函數表示如下:

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

由于這個目标函數不是凸函數,是以不能保證算法會收斂到一個全局最優值,隻能保證收斂到一個局部最優值。解決這個問題有兩種方法:一是随機初始化多次,以最優的聚類結果為最終結果;二是二分k-means算法。

3.3 自動化機器學習

3.3.1 機器學習面臨的問題

機器學習的步驟如圖3-2所示,就一般情況而言,算法工程師的任務一般從特征工程開始。

帶你讀《深入了解AutoML和AutoDL:建構自動化機器 學習與深度學習平台》之三:機器學習概述機器學習概述

圖3-2 機器學習知識圖譜

特征工程是資料分析中最耗費時間精力的一部分工作,它不像算法和模型是确定的步驟,而大多情況下要依靠算法工程師的個人經驗來處理。這樣的特征工程具有很強的不确定性,如漏選特征、選到了無效特征、忽略進階特征等。漏選特征會造成資訊的缺失,使模型效果變差;而加入了無效特征會讓模型變大,增加了不必要的計算量;進階特征需要通過一般特征的運算來得到。還有其他問題,如缺失值、離散特征連續化、歸一化、标準化、資料清洗等。

而在模型選擇階段,也需要依靠算法工程師的經驗來做,算法工程師通常是根據特征工程後的資料來進行選擇。

之後會進行模型評估階段,通過模型評估來決定模型是否能運用在實際生産中。如果模型未能通過評估,就需要重新返工,重新進行資料收集、特征工程、模型選擇過程。這是相當耗費時間的工作并且需要十分豐富的經驗。在實際生産中,大多數情況下可能并不能生成理想的模型,并且會耗費大量的時間。

3.3.2 為什麼會産生AutoML

為了解決上述問題而誕生了AutoML,AutoML試圖将這些特征工程、模型選擇以及參數優化等重要步驟進行自動化學習,使得機器學習模型無需人工參與即可被應用。

從前節可見,機器學習的泛化受到了諸多條件的制約,此時急需一種更加通用的方案來解決上述問題,這就産生了AutoML。AutoML是一個将從根本上改變基于機器學習解決方案現狀的方案。

AutoML是一個控制神經網絡提出一個可以在特定任務上訓練和評測性能的子模型架構,測試的結果會回報給控制器,讓控制器知道下一輪如何改進自己的模型。自動機器學習集中在以下兩個方面:資料采集和模型預測。在這兩個階段之間所有發生的步驟将被自動機器學習抽象出來。實際上,使用者隻需要提供自己的資料集、标簽并按下一個按鈕來生成一個經過全面訓練的和優化預測的模型。大多數平台都提示使用者來上傳資料集,然後對類别進行标記。之後,在資料預處理、模型選擇、特征工程和超參數優化中涉及的大部分步驟将在背景進行處理。這種方法極大地改變了在訓練機器學習模型中涉及的傳統工作流。

AutoML完全改變了整個機器學習領域的遊戲規則,因為對于許多應用程式,不需要專業技能和知識。許多公司隻需要深度網絡來完成更簡單的任務,例如圖像分類。那麼他們并不需要雇用一些人工智能專家,他們隻需要能夠資料組織好,然後交由AutoML來完成即可。

3.4 參考文獻

[1] Samuel A L. Some Studies in Machine Learning Using the Game of Checkers. Ⅱ-Recent Progress [M]//LEVY D. Computer games I. New York: Springer, 1988: 366-400.

[2] 李航.統計學習方法[M].北京:清華大學出版社,2012.

[3] 周志華.機器學習[M].北京:清華大學出版社,2016.

[4] 周志華.機器學習與資料挖掘[J].中國計算機學會通訊,2007, 3(12): 35-44.

[5] 阿培丁.機器學習導論[M].範明,昝紅英,牛常勇,譯.北京:機械工業出版社,2009.

[6] ALPAYDIN E. Introduction to machine learning[M]. 3th ed. Cambridge, MA:MIT Press, 2014.

[7] BISHOP C M. Pattern recognition and machine learning[M]. New York: Springer, 2006.

[8] CARBONELL J G. Machine learning: paradigms and methods[M]. Amsterdam: Elsevier North-Holland, 1990.

[9] DIETTERICH T G. Machine-learning research[J]. AI magazine, 1997, 18(4): 97-97.

[10] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J]. Cognitive modeling, 1988, 5(3): 1.

[11] COVER T M, HART P E. Nearest neighbor pattern classification[J]. IEEE transactions on information theory, 1967, 13(1): 21-27.

[12] DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//IEEE Computer Society. Proceedings of the 2005 IEEEconference on computer vision andpattern recognition. Washington, DC:IEEE Computer Society, 2005, 1: 886-893.

[13] KAZEMI V, SULLIVAN J. One millisecond face alignment with an ensemble of regression trees[C]//IEEE Computer Society. Proceedings of the 2014 IEEE conference on computer vision and pattern recognition. Washington, DC:IEEE Computer Society, 2014: 1867-1874.

[14] HAND D J, TILL R J. A simple generalisation of the area under the ROC curve for multiple class classification problems[J]. Machine learning, 2001, 45(2): 171-186.

繼續閱讀