機器學習:總結(周某華)

緒論

基本術語

機器學習(machine learning):致力於研究如何通過計算的手段,利用經驗來改善系統自身的性能。

機器學習所研究的主要內容,是關於在計算機上從數據中產生"模型"的算法,即"學習算法"(learning algorithm)。

模型(model):泛指從數據中學得的結果。有文獻用"模型"指全局性結 果(例如一棵決策樹),而用"模式"指局部性結果(例如一條規則)。

數據集(data set):一組記錄的集合稱爲一個數據集,其中每條記錄是關於一個事件或對象的描述,稱爲一個示例(instance)或樣本(sample)。

反映事件或對象在某方面的表現或性質的事項,成爲屬性(attribute)或特徵(feature);屬性上的取值稱爲屬性值(attribute value)。屬性張成的空間稱爲屬性空間(attribute space)、樣本空間(sample space)或輸入空間。例如一個對象有三個屬性,將這三個屬性作爲三個座標軸,則它們張成一個用於描述該對象的三維空間,每一個對象都可以在這個空間中找到自己的座標位置。由於空間中的每個點對應一個座標向量,因此我們也把一個示例稱爲一個特徵向量(feature vector)。

訓練(training):從數據中學得模型的過程稱爲學習(learning)或訓練(training),這個過程通過執行某個學習算法來完成。

訓練過程中使用的數據稱爲訓練數據(training data),其中每個樣本稱爲一個訓練樣本(training sample),訓練樣本組成的集合稱爲訓練集(training set)。

學得模型對應了關於數據的某種潛在的規律,因此亦稱假設(hypothesis);這種潛在規律自身,則稱爲真相或真實(ground-truth),學習過程就是爲了找出或逼近真相。

如果希望學得一個能夠幫助我們判斷的模型,僅有前面的示例數據顯然是不夠的,要建立這樣的關於預測的模型,我們需獲得訓練樣本的結果信息。示例結果的信息,稱爲標記(label);擁有了標記信息的示例,則稱爲樣例(example)。一般的,用(xi,yi)表示第i個樣例,其中yi∈Y是示例xi的標記,Y是所有標記的集合,亦稱標記空間(label space)或輸出空間

根據訓練數據是否擁有標記信息,學習任務可大致劃分爲兩大類"監督學習" (supervised learning) 和"無監督學習" (unsupervised learning),分類和迴歸是前者的代表,而聚類則是後者的代表。

預測(prediction):若我們預測的是離散值,此類學習任務稱爲分類(classification);若欲預測的是連續值,此類學習任務稱爲迴歸(regression)。還可以對對象做聚類(clustering),即將訓練集中的對象分成若干組,每組稱爲一個(cluster),這些自動形成的簇可能對應一些潛在的概念劃分。

對只涉及兩個類別的二分類(binary classification)任務,通常稱其中一個類爲正類(positive class),另一個類爲反類(negative class);涉及多個類別時,則稱爲多分類(multi-class classification)任務。一般的,預測任務是希望通過對訓練集{(x1,y1),(x2,y2),…(xm,ym)}進行學習,建立一個從輸入空間X到輸出空間Y的映射f:X→Y。對二分類任務,通常令Y={-1,+1}或{0,1};對多分類任務,|Y|>2;對迴歸任務,Y=R,R爲實數集。

學得模型後,使用其進行預測的過程稱爲測試(testing),被預測的樣本稱爲測試樣本(testing sample)。

泛化能力(generalization):學得模型適用於新樣本的能力。

歸納(induction)與演繹(deduction)是科學推理的兩大基本手段。前者是從特殊到一般的"泛化"過程,即從具體的事實歸結出一般性規律;後者則是從一般到特殊的"特化"(specialization)過程,即從基礎原理推演出具體狀況。

假設空間

假設空間(hypothesis space):由輸入空間到輸出空間的映射的集合。將學習過程看作一個在所有假設組成的空間中進行搜索的過程,搜索目標是找到與訓練集"匹配"的假設。與訓練集一致的"假設集合”稱爲版本空間(version space)。

歸納偏好

歸納偏好(inductive bias):機器學習算法在學習過程中對某種類型假設的偏好。

任何一個有效的機器學習算法必有其歸納偏好,否則它將被假設空間中看似在訓練集上"等效"的假設所迷惑,而無法產生確定的學習結果。歸納偏好可看作學習算法自身在一個可能很龐大的假設空間中對假設進行選擇的啓發式或"價值觀"。

奧卡姆剃刀(Occam’s razor):是一種常用的、自然科學 研究中最基本的原則,即"若有多個假設與觀察一致,則選最簡單的那個"。並且我們認爲"更平滑"意味着"更簡單"。

沒有免費的午餐定理:(No Free Lunch Theorem:NFL):總誤差竟與學習算法無關。

NFL 定理有一個重要前提:所有"問題"出現的機會相 同、或所有問題同等重要。但實際情形並不是這樣。

NFL 定理最重要的寓意,是讓我們清楚地認識到,脫離具體問題,空泛地談論"什麼學習算法更好"毫無意義,因爲若考慮所有潛在的問題,則所有學習算法都一樣好。要談論算法的相對優劣,必須要針對具體的學習問題;在某些問題上表現好的學習算法,在另一些問題上卻可能不盡如人意,學習算法自身的歸納偏好與問題是否相配,往往會起到決定性的作用。

模型評估與選擇

經驗誤差與過擬合

通常我們把分類錯誤的樣本數佔樣本總數的比例稱爲"錯誤率"(error rate),即如果在m個樣本中有α個樣本分類錯誤,則錯誤率E=α/m;相應的,1一α/m稱爲"精度"(accuracy),即"精度=1一錯誤率"。

經驗誤差(empirical error):我們把學習器的實際預測輸出與樣本的真實輸出之間的差異稱爲"誤差"(error),學習器在訓練集上的誤差稱爲"訓練誤差"(training error)或"經驗誤差",在新樣本上的誤差稱爲"泛化誤差"(generalization error).

過擬合(over fitting):應該從訓練樣本中儘可能學出適用於所有潛在樣本的"普遍規律",這樣才能在遇到新樣本時做出正確的判別。但是把訓練樣本自身的一些特點當作了所有潛在樣本都會具有的一般性質,這樣就會導致泛化性能下降,這種現象在機器學習中稱爲"過擬合"。與"過擬合"相對的是"欠擬合" (under fitting),這是指對訓練樣本的一般性質尚未學好。

評估方法

評估方法:們可通過實驗測試來對學習器的泛化誤差進行評估並進而做出選擇。爲此,需使用一個"測試集"(testing set)來測試學習器對新樣本的判別能力,然後以測試集上的"測試誤差" (testing error)作爲泛化誤差的近似。

通常我們假設測試樣本也是從樣本真實分佈中獨立同分布採樣而得,但需注意的是,測試集應該儘可能與訓練集互斥,即測試樣本儘量不在訓練集中出現、未在訓練過程中使用過。

留出法(hold-out):直接將數據集D劃分爲兩個互斥的集合,其中一個集合作爲訓練集S,另一個作爲測試集T,即D=S∪T,S∩T=∅。在S上訓練出模型後,用T來評估其測試誤差,作爲對泛化誤差的估計。

交叉驗證法(cross validation):先將數據集D劃分爲k個大小相似的互斥子集,即D=D1∪D2∪…∪Dk,Di∩Dj=∅(i≠j)。 每個子集Di都儘可能保持數據分佈的一致性,即從D中通過分層採樣得到。然後,每次用k-1個子集的並集作爲訓練集,餘 F的那個子集作爲測試集;這樣就可獲得k組訓練/測試集,從而可進行k次訓練和測試,最終返回的是這k個測試結果的均值。顯然,交叉驗證法評估結果的穩定性和保真性在很大程度上取決於 k的取值,爲強調這一點,通常把交叉驗證法稱爲"k折交叉驗證"(k-fold cross validation)。k最常用的取值是 10,此時稱爲10折交叉驗證;其他常用的k值有5、20等。

  • 10折交叉驗證示意圖

在這裏插入圖片描述

自助法(bootstrapping):給定包含m個樣本的數據集D, 我們對它進行採樣產生數據集D’:每次隨機從D中挑選一個 樣本,將其拷貝放入D’,然後再將該樣本放回初始數據集D中,使得該樣本在 次採樣時仍有可能被採到;這個過程重複執行 m 次後,我們就得到了包含m個樣本的數據集D’,這就是自助採樣的結果。顯然,D中有一部分樣本會在D’中多次出現,而另一部分樣本不出現。可以做一個簡單的估計,樣本在m次採樣中始終不被採到的概率是(1一1/m)^m,取極限得到

在這裏插入圖片描述

即通過自助採樣,初始數據集D中約有36.8%的樣本未出現在採樣數據集D’中。於是我們可將D’用作訓練集,D\D’用作測試集;這樣實際評估的模型與期望評估的模型都使用m個訓練樣本,而我們仍有數據總量約1/3的、沒在訓練集中出現的樣本用於測試。這樣的測試結果,亦稱"包外估計"(out-of-bag estimate)。

自助法在數據集較小、難以有效劃分訓練集和測試集時很有用;此外,自助法能從初始數據集中產生多個不同的訓練集,這對集成學習等方法有很大的好處。然而,自助法產生的數據集改變了初始數據集的分佈,這會引入估計偏差。因此,在初始數據量足夠時,留出法和交叉驗證法更常用一些。

大多數學習算法都有些參數(parameter)需要設定,參數配置不同,學得模型的性能往往有顯著差別。因此,在進行模型評估與選擇時,除了要對適用學習算法進行選擇,還需對算法參數進行設定,這就是通常所說的"參數調節"或簡稱"調參"(parameter tuning).

我們通常把學得模型在實際使用中遇到的數據稱爲測試數據,爲了加以區分,模型評估與選擇中用於評估測試的數據集常稱爲"驗證集" (validation set)。例如,在研究對比不同算法的泛化性能時,我們用測試集上的判別效果來估計模型在實際使用時的泛化能力,而把訓練數據另外劃分爲訓練集和驗證集,基於驗證集上的性能來進行模型選擇和調參。

性能度量

性能度量(performance measure):對學習器的泛化性能進行評估,不僅需要有效可行的實驗估計方法,還需要有衡量模型泛化能力的評價標準,這就是性能度量

迴歸任務最常用的性能度量是"均方誤差"(mean squared error),邏輯迴歸爲"交叉熵”(Cross Entropy)。

查準率(precision)與查全率(recall)是更爲適用的性能度量。兩者分別定義爲:

  • P=TP/(TP+FP)
  • R=TP/(TP+FN)

對於二分類問題,可將樣例根據其真實類別與學習器預測類別的組合劃分爲真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四種情形,令TP、FP、TN、FN分別表示其對應的樣例數,則顯然有TP+FP+TN+FN=樣例總數。

  • 混淆矩陣

在這裏插入圖片描述

綜合考慮查準率、查全率的性能度量:

  • 平衡點(Break-EventPointBEP):它是"查準率=查全率"時的取值。

  • F1 度量:F1=2PR/(P+R)

  • Fβ 度量:F1=(1+β2)PR/(β2×P+R),β>1時查全率有更大影響,β<1查準率有更大影響。

  • PR曲線與平衡點示意圖

在這裏插入圖片描述

受試者工作特徵曲線(Receiver Operating Characteristic curve,ROC):ROC曲線的縱軸是"真正 例率"(True Positive Rate,TPR),橫軸是"假正例率"(False Positive Rate,FPR),兩者分別定義爲:

  • TPR=TP/(TP+FN)
  • FPR=FP/(TN+FP)

若一個學習器的ROC曲線被另一個學習器的曲線完全"包住",則可斷言後者的性能優於前者;則較爲合理的判據是比較ROC曲線下的面積,即AUC(Area Under ROC Curve),AUC表示分類器接受true樣本高於接受false樣本的概率。AUC取值在0~1之間,AUC值越大的分類器,正確率越高。

  • ROC 曲線與 AUC 示意圖

在這裏插入圖片描述

代價敏感(cost-sensitive)錯誤率爲:

在這裏插入圖片描述

  • 代價矩陣(cost matrix,其中 costij 表示將第 i 類樣本預測爲第 j 類樣本的代價)

在這裏插入圖片描述

  • 正例概率代價(取值[0,1])

在這裏插入圖片描述

  • 歸一化代價(取值[0,1])

在這裏插入圖片描述

其中 p 是樣例爲正例的概率,FPR 是假正例率,FNR=1 -TPR是假反例率。

ROC曲線上每一點對應了代價平面上的一條線段。

  • 代價曲線和期望總體代價

在這裏插入圖片描述

設 ROC 曲 線上點的座標爲(TPR,FPR),則可相應計算出FNR,然後在代價平面上繪製一條從(O,FPR)到(1,FNR)的線段,線段下的面積即表示了該條件下的期望總體代價;如此將ROC曲線上的每個點轉化爲代價平面上的一條線段,然後取所有線段的下界,圍成的自積即爲在所有條件下學習器的期望總體代價。

比較檢驗

統計假設檢驗(hypothesis test)爲我們進行學習器性能比較提供了重要依據。基於假設檢驗結果我們可推斷出,若在測試集上觀察到學習器A比B好,則A的泛化性能是否在統計意義上優於B,以及這個結論的把握有多大。

  • 二項檢驗:泛化錯誤率爲 c 的學習器在 m 個測試樣本中將 m’ 個樣本誤分類的概率服從二項分佈。
  • 交叉驗證 t 檢驗:對兩個學習器 A 和 B ,若錯誤率相同,則使用 k 折交叉驗證法得到的測試錯誤率cAi-cBi的差均值爲零,服從 t 分佈。

偏差與方差

偏差方差分解(bias-variance decomposition)是解釋學習算法泛化性能的一種重要工具。

在這裏插入圖片描述

在這裏插入圖片描述

泛化誤差可分解爲偏差、方差與噪聲之和。

一般來說,偏差與方差是有衝突的,這稱爲偏差一方差窘境(bias-variance dilemma)。

假定我們能控制學習算法 的訓練程度,則在訓練不足時,學習器的擬合能力不夠強,訓練數據的擾動不足以使學習器產生顯著變化,此時偏差主導了泛化錯誤率;隨着訓練程度的加深,學習器的擬合能力逐漸增強,訓練數據發生的擾動漸漸能被學習器學到,方差逐漸主導了泛化錯誤率;在訓練程度充足後,學習器的擬合能力已非常強,訓練數據發生的輕微擾動都會導致學習器發生顯著變化,若訓練數據自身的、非全局的特性被學習器學到了,則將發生過擬合。

  • 泛化誤差與偏差、方差的關係示意圖

在這裏插入圖片描述

線性模型

線性迴歸

對數機率迴歸(邏輯迴歸)

線性判別分析

線性判別分析(Linear Discriminant Analysis,LDA)是一種經典的線性學習方法。

LDA的思想非常樸素:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點儘可能接近、異類樣例的投影點儘可能遠離;在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別。

  • LDA 的二維示意圖

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

多分類學習

有些二分類學習方法可直接推廣到多分類,但在更多情形下,我們是基於一些基本策略,利用二分類學習器來解決多分類問題。

不失一般性,考慮 N 個類別 C1, C2, •••, CN,多分類學習的基本思路是"拆解法",即將多分類任務拆爲若干個二分類任務求解。具體來說,先對問題進行拆分,然後爲拆出的每個二分類任務訓練一個分類器;在測試時,對這些分類器的預測結果進行集成以獲得最終的多分類結果。這裏的關鍵是如何對多分類任務進行拆分,以及如何對多個分類器進行集成。

最經典的拆分策略有三種:

  • 一對一(One vs. One,簡稱 OvO)
    • OvO 將這 N 個類別兩兩配對,從而產生 N(N-1)/2 個二分類任務。在測試階段,新樣本將同時提交給所有分類器,於是將得到 N(N-1)/2 個分類結果,最終結果可通過投票產生:即把被預測得最多的類別作爲最終分類結果。
  • 一對其餘(One vs. Rest,簡稱 OvR)
    • OvR 則是每次將一個類的樣例作爲正例、所有其他類的樣例作爲反例來訓練 N 個分類器。在測試時若僅有一個分類器預測爲正類,則對應的類別標記作爲最終分類結果;若有多個分類器預測爲正類,則通常考慮各分類器的預測置信度,選擇置信度最大的類別標記作爲分類結果。
  • 多對多(Many vs. Ma町,簡稱 MvM)
    • MvM 是每次將若干個類作爲正類,若干個其他類作爲反類。顯然,OvO 和 OvR 是 MvM 的特例。MvM 的正、反類構造必須有特殊的設計,不能隨意選取。

類別不平衡問題

類別不平衡(class imbalance):是指分類任務中不同類別的訓練樣例數目差別很大的情況。

再縮放(rescaling):類別不平衡學習的一個基本策略。

在這裏插入圖片描述

在這裏插入圖片描述

再縮放的思想雖簡單,但實際操作卻並不平凡,主要因爲"訓練集是真實樣本總體的無偏採樣"這個假設往往並不成立,也就是說我們未必能有效地基於訓練集觀測機率來推斷出真實機率。現有技術大體上有三類做法:第一類是直接對訓練集裏的反類樣例進行"欠採樣"(under sampling),即去除一些反例使得正、反例數目接近,然後再進行學習;第二類是對訓練集裏的正類樣例進行"過採樣"(over sampling),即增加一些正例使得正、反例數目接近,然後再進行學習;第三類則是直接基於原始訓練集進行學習,但在用 訓練好的分類器進行預測時,將上式 (3.48)嵌入到其決策過程中,稱爲"閾值移動"(threshold-moving)。

,過採樣法不能簡單地對初始正例樣本進行重複採樣,否則會招致嚴重的過擬合;過採樣法的代表性算法 SMOTE 是通過對訓練集裏的正例進行插值來產生額外的正例。另一方面,欠採樣法若隨機丟棄反例,可能丟失一些重要信息;欠採樣法的代表性算法 EasyEnsemble 則是利用集成學習機制,將反例劃分爲若干個集合供不同學習器使用,這樣對每個學習器來看都進行了欠採樣,但在全局來看卻不會丟失重要信息。

多分類學習中雖然有多個類別,但每個樣本僅屬於一個類別。如果希望爲一個樣本同時預測出多個類別標記,例如一幅圖像可同時標註爲"藍天"、“白雲”、“羊羣”、“自然場景”,這樣的任務就不再是多分類學習,而是"多標記學習"。

神經網絡

神經網絡

神經網絡的定義:神經網絡是由具有適應性的簡單單元組成的廣泛並行互連的網絡,它的組織能夠模擬生物神經系統對真實 世界物體所作出的交互反應。

誤差逆傳播算法

全局最小與局部最小

  • 局部極小解(local minimum)是參數空間中的某個點,其鄰域點的誤差函數值均不小於該點的函數值。
  • 全局最小解(global minimum)則是指參數空間中所有點的誤差函數值均不小於該點的誤差函數值。

在現實任務中,人們常採用以下策略來試圖"跳出"局部極小,從而進一 步接近全局最小:

  • 以多組不同參數值初始化多個神經網絡。按標準方法訓練後,取其中誤差最小的解作爲最終參數。這相當於從多個不同的初始點開始搜索,這樣就可能陷入不同的局部極小從中進行選擇有可能獲得更接近全局最小的結果。
  • 使用"模擬退火"(simulated annealing)技術。模擬退火在每一步都以一定的概率接受比當前解更差的結果,從而有助於"跳出"局部極小。在每步迭代過程中,接受"次優解"的概率要隨着時間的推移而逐漸降低,從而保證算法穩定。
  • 使用隨機梯度下降。與標準梯度下降法精確計算梯度不同,隨機梯度下降法在計算梯度時加入了隨機因素,於是即便陷入局部極小點,它計算出的梯度仍可能不爲零,這樣就有機會跳出局部極小繼續搜索。

此外,遺傳算法(genetic algorithms)也常用來訓練神經網 絡以更好地逼近全局最小,需注意的是,上述用於跳出局部極小的技術大多是啓發式,理論上尚缺乏保障。

深度學習

典型的深度學習(deep learning)模型就是很深層的神經網絡。

支持向量機

間隔與支持向量

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

如上圖所示,距離超平面最近的這幾個訓練樣本點使式(6.3)的等號成立,它們被稱爲"支持向量"(support vector),兩個異類支持向量到超平面的距離之和爲:

在這裏插入圖片描述

它被稱爲"間隔"(margin)。

在這裏插入圖片描述

核函數

對線性不可分問題,可將樣本從原始空間映射到一個更高維的特徵空間,使得樣本在這個特徵空間內線性可分。如果原始空間是有限維,即屬性數有限,那麼一定存在一個高維特徵空間使樣本可分。

令φ(x)表示將x映射後的特徵向量,可以設想這樣一個函數:

在這裏插入圖片描述

有了這樣的函數,我們就不必直接去計算高維甚至無窮維特徵空間中 的內積。這個函數就是核函數(kernel function)。

  • 常用核函數

在這裏插入圖片描述

軟間隔與正則化

在現實任務中往往很難確定合適的核函數使得訓練樣本在特徵空間中線性可分;即使恰好找到了某個核函數使訓練集在特徵空間中線性可分,也很難斷定這個貌似線性可分的結果不是由於過擬合所造成的。

所有樣本都必須劃分正確,這稱爲"硬間隔"(hard margin),而"軟間隔”(soft margin)則是允許某些樣本不滿足約束。當然,在最大化間隔的同時,不滿足約束的樣本應儘可能少。

當 C 爲無窮大時,迫使所有樣本均滿足約束; 當 C 取有限值時,允許一些樣本不滿足約束。

支持向量迴歸

對樣本(x,y)的傳統迴歸模型通常直接基於模型輸出 f(x) 與真實輸出 y 之間的差別來計算損失,當且僅當 f(x) 與 y 完全相同時,損失才爲零。與此不同,支持向量迴歸(Support Vector Regression,SVR)假設我們能容忍 f(x) 與 y 之間最多有 e 的偏差,即僅當 f(x) 與 y 之間的差別絕對值大於 e 時才計算損失。

貝葉斯分類器

貝葉斯決策論

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

極大似然估計

概率模型的訓練過程就是參數估計(parameter estimation)過程。對於參數估計,統計學界的兩個學派分別提供了不同的解決方案:頻率主義學派(Frequentist)認爲參數雖然未知,但卻是客觀存在的固定值,因此,可通過優化似然函數等準則來確定參數值;貝葉斯學派(Bayesian)則認爲參數是未觀察到的隨機變量,其本身也可有分佈,因此,可假定參數服從一個先驗分佈,然後基於觀測到的數據來計算參數的後驗分佈。

樸素貝葉斯分類器

樸素貝葉斯分類器(naive Bayes classifier)採用了
“屬性條件獨立性假設”(attribute conditional independence assumption):對已知類別,假設所有屬性相互獨立。換言之,假設每個屬性獨立地對分類結果發生影響。

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

顯然,拉普拉斯修正(Laplacian correction)避免了因訓練集樣本不充分而導致概率估值爲零的問題,並且在訓練集變大時,修正過程所引入的先驗(prior)的影響也會逐漸變得可忽略,使得估值漸趨向於實際概率值。

貝葉斯網

貝葉斯網(Bayesian network)亦稱"信念網"(belief network),它藉助有向無環圖(Directed Acyclic Graph,DAG)來刻畫屬性之間的依賴關係,並使用條件概率表 (Conditional Probability Table,CPT)來描述屬性的聯合概率分佈。

在這裏插入圖片描述

以上圖爲例,聯合概率分佈定義爲:

在這裏插入圖片描述

貝葉斯網中三個變量之間的典型依賴關係:

在這裏插入圖片描述

在這裏插入圖片描述

EM 算法

未觀測變量的學名是"隱變量"(latent variable)。我們可通過對隱變量計算期望,來最大化己觀測數據的對數"邊際似然" (marginal likelihood)。

EM算法(Expectation-Maximization)是常用的估 計參數隱變量的利器,它是一種迭代式的方法。其基本想法是:

  • 若參數θ己知,則可根據訓練數據推斷出最優隱變量Z的值(E 步);
  • 若Z的值已知,則可方便地對參數θ做極大似然估計(M 步)。

集成學習

個體與集成

集成學習(ensemble learning):通過構建並結合多個學習器來完成學習任務,有時也被稱爲多分類器系統(multi-classifier system)、基於委員會的學習(committee-based learning)等。

  • 同質(homogeneous)集成學習:神經網絡。
  • 異質(heterogenous)集成學習。

同質集成中的個體學習器亦稱"基學習器"(base learner),相應的學習算法稱爲"基學習算法"(base learning algorithm)。異質集成中的個體學習器由不同的學習算法生成,這時就不再有基學習算法,相應的,個體學習器一般不稱爲基學習器,常稱爲"組件學習器"(component learner)或直接稱爲個體學習器

集成學習通過將多個學習器進行結合,常可獲得比單一學習器顯著優越的泛化性能。因爲集成學習的很多理論研究都是針對弱學習器(weak learner)進行的,所以基學習器有時也被直接稱爲弱學習器。

要獲得好的集成,個體學習期應該"好而不同”,即個體學習器要有一定的"準確性”,即學習器不能太壞,並且要有"多樣性" (diversity),即學習器間具有差異。

在基學習器的誤差相互獨立的情況下,隨着集成中個體分類器數目 T 的增大,集成的錯誤率將指數級下降,最終趨向於零。

根據個體學習器的生成方式,目前的集成學習方法大致可分爲兩大類:

  • 個體學習器間存在強依賴關係、必須串行生成的序列化方法:Boosting;
  • 個體學習器間不存在強依賴關係、可同時生成的並行化方法:Bagging 和"隨機森林"(Random Forest)。

Boosting

Boosting是一族可將弱學習器提升爲強學習器的算法。這族算法的工作機制類似:先從初始訓練集訓練出一個基學習器,再根據基學習器的表現對訓練樣本分佈進行調整,使得先前基學習器做錯的訓練樣本在後續受到更多關注,然後基於調整後的樣本分佈來訓練下一個基學習器;如此重複進行,直至基學習器數目達到事先指定的值T,最終將這T個基學習器進行加權結合。

Boosting 族算法最著名的代表是 AdaBoost

Bagging 與隨機森林

Bagging是並行式集成學習方法最著名的代表。由自助採樣法採樣出 T 個含 m 個訓練樣本的採樣集,然後基於每個採樣集訓練出一個基學習器,再將這些基學習器進行結合。這就是 Bagging 的基本流程。在對預測輸出進行結合時,Bagging通常對分類任務使用簡單投票法,對迴歸任務使用簡單平均法。若分類預測時出現兩個類收到同樣票數的情形,則最簡單的做法是隨機選擇一個,也可進一步考察學習器投票的置信度來確定最終勝者。

隨機森林(Random Forest,RF)是Bagging的一個擴展變體。RF在以決策樹爲基學習器構建Bagging集成的基礎上,進一步在 決策樹的訓練過程中引入了隨機屬性選擇。具體來說,傳統決策樹在選擇劃分屬性時是在當前結點的屬性集合(假定有d個屬性)中選擇一個最優屬性;而在RF中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇一個包含k個屬性的子集,然後再從這個子集中選擇一個最優屬性用於劃分。這裏的參數k控制了隨機性的引入程度;若令k=d,則基決策樹的構建與傳統決策樹相同;若令k=1,則是隨機選擇一個屬性用於劃分;一般情況下,推薦值k=log2d。

結合策略

學習器結合可能會從三個方面帶來好處:

  1. 從統計的方面來看,由於學習任務的假設空間往往很大,可能有多個假設在訓練集上達到同等性能,此時若使用單學習器可能因誤選而導致泛化性能不佳,結合多個學習器則會減小這一風險。
  2. 從計算的方面來看,學習算法往往會陷入局部極小,有的局部極小點所對應的泛化性能可能很糟糕,而通過多次運行之後進行結合,可降低陷入糟糕局部極小點的風險。
  3. 從表示的方面來看,某些學習任務的真實假設可能不在當前學習算法所考慮的假設空間中,此時若使用單學習器則肯定無效,而通過結合多個學習器,由於相應的假設空間有所擴大,有可能學得更好的近似。

結合的常見策略:

  • 平均法
    • 簡單平均法
    • 加權平均法
  • 投票法
    • 絕對多數投票法(票低於半數拒絕預測)
    • 相對多數投票法
    • 加權投票法
  • 學習法

當訓練數據很多時,一種更爲強大的結合策略是使用"學習法",即通過另一個學習器來進行結合。Stacking學習法的典型代表,這裏我們把個體學習器稱爲初級學習器,用於結合的學習器稱爲 次級學習器或元學習器(meta-learner)。

Stacking先從初始數據集訓練出初級學習器,然後"生成"一個新數據集用於訓練次級學習器。在這個新數據集中,初級學習器的輸出被當作樣例輸入特徵,而初始樣本的標記仍被當作樣例標記。

聚類

性能度量

聚類性能度量亦稱聚類"有效性指標"(validity index),與監督學習中的性能度量作用相似。

我們希望"物以類聚",即同一簇的樣本儘可能彼此相似,不同簇的樣本儘可能不同。換言之,聚類結果的"簇內相似度"(intra-cluster similarity)高且"簇間相似度"(inter-cluster similarity)低。

聚類性能度量大致有兩類。一類是將聚類結果與某個"參考模型"(reference model)進行比較,稱爲"外部指標"(external index);另一類是直接考察聚類結果而不利用任何參考模型,稱爲"內部指標"(internal index)。

  • 外部指標
    • Jaccard 指數
    • FM 指數
    • Rand 指數
  • 內部指標
    • DB 指數
    • Dunn 指數

距離計算

對函數dist(.,.),若它是一個"距離度量"(distance measure),則需滿足一些基本性質:

在這裏插入圖片描述

在這裏插入圖片描述

  • 閔可夫斯基距離(Minkowski distance)

在這裏插入圖片描述

  • 歐氏距離(Euclidean distance)

在這裏插入圖片描述

  • 曼哈頓距離 (Manhattan distance)

在這裏插入圖片描述

聚類算法

  • 原型聚類(基於原型的聚類)
    • k 均值(k-means)
    • 學習向量化(Learning Vector Quantization,LVQ)
    • 高斯混合聚類(Mixture-oι Gaussian)
  • 密度聚類(基於密度的聚類)
    • DBSCAN
  • 層次聚類(基於層次的聚類)
    • AGNES

降維

k 近鄰學習

k近鄰(k-Nearest Neighbor,kNN)學習是一種常用的監督學習方法。它沒有顯式的訓練過程。事實上,它是"懶惰學習"(lazy learning)的著名代表,此類學習技術在訓練階段僅僅是把樣本保存起來,訓練時間開銷爲零,待收到測試樣本後再進行處理;相應的,那些在訓練階段就對樣本進行學習處理的方法,稱爲"急切學習"(eager learning)。

k近鄰基於一個重要假設:任意測試樣本a附近任意小的距 離範圍內總能找到一個訓練樣本,即訓練樣本的來樣密度足夠大,或稱爲"密採樣"(dense sample)。

低維嵌入

維數災難(curse of dimensionality):在高維情形下出 現的數據樣本稀疏、距離計算困難等問題,是所有機器學習方法共同面臨的嚴重障礙。

緩解維數災難的一個重要途徑是降維(dimension reduction),亦稱"維數約簡”,即通過某種數學變換將原始高維屬性空間轉變爲 一個低維"子空間"(subspace),在這個子空間中樣本密度大幅提高,距離計算也變得更爲容易。

爲什麼能進行降維?這是因爲在很多時候,人們觀測或收集到的數據樣本雖是高維的,但與學習任務密切相關的也許僅是某個低維分佈,即高維空間中的一個低維"嵌入"(embedding)。

主成分分析(PCA)

主成分分析(Principal Component Analysis,PCA)是最常用的一種降維方法。

計算學習理論

PAC 學習

計算學習理論中最基本的是概率近似正確(Probably Approximately Correct,PAC)學習理論。

有限假設空間

  • 可分情形:
    • 目標概念 c 屬於假設空間 H,只保留與訓練集 D 一致的假設,若訓練集足夠大,則直到 H 中只剩一個假設。
  • 不可分情形:
    • H 中必存在一個泛化誤差最小的假設。

VC 維

現實學習任務所面臨的通常是無限假設空間,最常見的辦法是考慮假設空間的"VC維"(Vapnik-Chervonenkis dimension)。

假設空間H的VC維是能被H打散的最大示例集的大小,VC(H)=d 表明存在大小爲d的示例集能被假設空間H打散。

注意:並不意味着所有大小爲d的示例集都能被假設空間H打散,VC 維的定義與數據分佈D無關,因此,在數據分佈未知時仍能計算出假設 空間H的VC維。

  • 二維實平面上所有線性劃分構成的假設空間的 VC 維爲 3。

在這裏插入圖片描述

References

緒論
線性方法
神經網絡
機器學習評估和統計學習理論
支持向量機
貝葉斯學習
過擬合和正則化
網絡機器學習
非負矩陣分解
降維
聚類
集成學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章