天天看點

機器學習模組化中的Bagging思想!

作者:小偶

我們在生活中做出的許多決定都是基于其他人的意見,而通常情況下由一群人做出的決策比由該群體中的任何一個成員做出的決策會産生更好的結果,這被稱為群體的智慧。內建學習(Ensemble Learning)類似于這種思想,內建學習結合了來自多個模型的預測,旨在比內建該學習器的任何成員表現得更好,進而提升預測性能(模型的準确率),預測性能也是許多分類和回歸問題的最重要的關注點。

內建學習(Ensemble Learning)是将若幹個弱分類器(也可以是回歸器)組合進而産生一個新的分類器。(弱分類器是指分類準确率略好于随機猜想的分類器,即error rate < 0.5)。

內建機器學習涉及結合來自多個熟練模型的預測,該算法的成功在于保證弱分類器的多樣性。而且內建不穩定的算法也能夠得到一個比較明顯的性能提升。內建學習是一種思想。當預測模組化項目的最佳性能是最重要的結果時,內建學習方法很受歡迎,通常是首選技術。

機器學習模組化中的Bagging思想!

· 為什麼要使用內建學習 ·

(1) 性能更好:與任何單個模型的貢獻相比,內建可以做出更好的預測并獲得更好的性能;

(2) 魯棒性更強:內建減少了預測和模型性能的傳播或分散,平滑了模型的預期性能。

(3) 更加合理的邊界:弱分類器間存在一定差異性,導緻分類的邊界不同。多個弱分類器合并後,就可以得到更加合理的邊界,減少整體的錯誤率,實作更好的效果;

(4) 适應不同樣本體量:對于樣本的過大或者過小,可分别進行劃分和有放回的操作産生不同的樣本子集,再使用樣本子集訓練不同的分類器,最後進行合并;

(5) 易于融合:對于多個異構特征資料集,很難進行融合,可以對每個資料集進行模組化,再進行模型融合。

· 機器學習模組化的偏差和方差 ·

機器學習模型産生的錯誤通常用兩個屬性來描述:偏差和方差。

偏差是衡量模型可以捕獲輸入和輸出之間的映射函數的接近程度。它捕獲了模型的剛性:模型對輸入和輸出之間映射的函數形式的假設強度。

模型的方差是模型在拟合不同訓練資料時的性能變化量。它捕獲資料的細節對模型的影響。

理想情況下,我們更喜歡低偏差和低方差的模型,事實上,這也是針對給定的預測模組化問題應用機器學習的目标。模型性能的偏差和方差是相關的,減少偏差通常可以通過增加方差來輕松實作。相反,通過增加偏差可以很容易地減少方差。

與單個預測模型相比,內建用在預測模組化問題上實作更好的預測性能。實作這一點的方式可以了解為模型通過添加偏差來減少預測誤差的方差分量(即權衡偏差-方差的情況下)。

· 內建學習之Bagging思想 ·

Bagging又稱自舉彙聚法(Bootstrap Aggregating),涉及在同一資料集的不同樣本上拟合許多學習器并對預測進行平均,通過改變訓練資料來尋找多樣化的內建成員。

Bagging思想就是在原始資料集上通過有放回的抽樣,重新選擇出N個新資料集來分别訓練N個分類器的內建技術。模型訓練資料中允許存在重複資料。

使用Bagging方法訓練出來的模型在預測新樣本分類的時候,會使用多數投票或者取平均值的政策來統計最終的分類結果。

基于Bagging的弱學習器(分類器/回歸器)可以是基本的算法模型,如Linear、Ridge、Lasso、Logistic、Softmax、ID3、C4.5、CART、SVM、KNN、Naive Bayes等。

機器學習模組化中的Bagging思想!
機器學習模組化中的Bagging思想!

· 随機森林 (Random Forest) ·

随機森林算法原理

随機森林是在Bagging政策的基礎上進行修改後的一種算法,方法如下:

(1) 使用Bootstrap政策從樣本集中進行資料采樣;

(2) 從所有特征中随機選擇K個特征,建構正常決策樹;

(3) 重複1,2多次,建構多棵決策樹;

(4) 內建多棵決策樹,形成随機森林,通過投票表決或取平均值對資料進行決策。​

機器學習模組化中的Bagging思想!

随機森林OOB Error

在随機森林中可以發現Bootstrap采樣每次約有1/3的樣本不會出現在Bootstrap所采樣的樣本集合中,當然也沒有參加決策樹的建立,而這部分資料稱之為袋外資料OOB(out of bag),它可以用于取代測試集誤差估計方法。

對于已經生成的随機森林,用袋外資料測試其性能,假設袋外資料總數為O,用這O個袋外資料作為輸入,帶進之前已經生成的随機森林分類器,分類器會給出O個資料相應的分類,因為這O條資料的類型是已知的,則用正确的分類與随機森林分類器的結果進行比較,統計随機森林分類器分類錯誤的數目,設為X,則袋外資料誤差大小為X/O。

優點:這已經經過證明是無偏估計的,是以在随機森林算法中不需要再進行交叉驗證或者單獨的測試集來擷取測試集誤差的無偏估計。

缺點:當資料量較小時,Bootstrap采樣産生的資料集改變了初始資料集的分布,這會引入估計偏差。

· 随機森林算法變種 ·

RF算法在實際應用中具有比較好的特性,應用也比較廣泛,主要應用在:分類、歸回、特征轉換、異常點檢測等。以下為常見的RF變種算法:

·Extra Trees (ET)

·Totally Random Trees Embedding (TRTE)

·Isolation Forest (IForest)

Extra Trees (ET)

Extra-Trees(Extremely randomized trees,極端随機樹)是由Pierre Geurts等人于2006年提出。是RF的一個變種,原理基本和RF一樣。但該算法與随機森林有兩點主要的差別:

(1) 随機森林會使用Bootstrap進行随機采樣,作為子決策樹的訓練集,應用的是Bagging模型;而ET使用所有的訓練樣本對每棵子樹進行訓練,也就是ET的每個子決策樹采用原始樣本訓練;

(2) 随機森林在選擇劃分特征點的時候會和傳統決策樹一樣(基于資訊增益、資訊增益率、基尼系數、均方差等),而ET是完全随機的選擇劃分特征來劃分決策樹。

對于某棵決策樹,由于它的最佳劃分特征是随機選擇的,是以它的預測結果往往是不準确的,但是多棵決策樹組合在一起,就可以達到很好的預測效果。

當ET建構完成,我們也可以應用全部訓練樣本得到該ET的誤差。因為盡管建構決策樹和預測應用的都是同一個訓練樣本集,但由于最佳劃分屬性是随機選擇的,是以我們仍然會得到完全不同的預測結果,用該預測結果就可以與樣本的真實響應值比較,進而得到預測誤差。如果與随機森林相類比的話,在ET中,全部訓練樣本都是OOB樣本,是以計算ET的預測誤差,也就是計算這個OOB誤差。

由于Extra Trees是随機選擇特征值的劃分點,會導緻決策樹的規模一般大于RF所生成的決策樹。也就是說Extra Trees模型的方差相對于RF進一步減少。在某些情況下,ET具有比随機森林更強的泛化能力。

Totally Random Trees Embedding (TRTE)

TRTE是一種非監督學習的資料轉化方式。它将低維的資料映射到高維,進而讓映射到高維的資料更好的應用于分類回歸模型。

TRTE算法的轉換過程類似RF算法的方法,建立T個決策樹來拟合資料。當決策樹建構完成後,資料集裡的每個資料在T個決策子樹中葉子節點的位置就定下來了,将位置資訊轉換為向量就完成了特征轉換操作。

例如,有3棵決策樹,每棵決策樹有5個葉子節點,某個資料特征x劃分到第一個決策樹的第3個葉子節點,第二個決策樹的第1個葉子節點,第三個決策樹的第5個葉子節點。則x映射後的特征編碼為(0,0,1,0,0  1,0,0,0,0 0,0,0,0,1),有15維的高維特征。特征映射到高維之後,就可以進一步進行監督學習。

Isolation Forest (IForest)

IForest是一種異常點檢測算法,使用類似RF的方式來檢測異常點;IForest算法和RF算法的差別在于:

(1) 在随機采樣的過程中,一般隻需要少量資料即可;

(2) 在進行決策樹建構過程中,IForest算法會随機選擇一個劃分特征,并對劃分特征随機選擇一個劃分門檻值;

(3) IForest算法建構的決策樹一般深度max_depth是比較小的。

IForest的目的是異常點檢測,是以隻要能夠區分異常資料即可,不需要大量資料;另外在異常點檢測的過程中,一般不需要太大規模的決策樹。

對于異常點的判斷,則是将測試樣本x拟合到T棵決策樹上。計算在每棵樹上該樣本的葉子結點的深度ht(x)。進而計算出平均深度h(x);然後就可以使用下列公式計算樣本點x的異常機率值,p(s,m)的取值範圍為[0,1],越接近于1,則是異常點的機率越大。

機器學習模組化中的Bagging思想!
機器學習模組化中的Bagging思想!

m為樣本個數,ξ 為歐拉常數

· 随機森林優缺點總結 ·

本期AI小課堂我們一起了解了Bagging思想及其原理,以及基于Bagging的随機森林相關知識。最後,讓我們一起總結下随機森林的優缺點:

優點

(1) 訓練可以并行化,對于大規模樣本的訓練具有速度的優勢;

(2) 由于進行随機選擇決策樹劃分特征清單,這樣在樣本次元比較高的時候,仍然具有比較好的訓練性能;

(3) 由于存在随機抽樣,訓練出來的模型方差小,泛化能力強;

(4) 實作簡單;

(5) 對于部分特征缺失不敏感;

(6) 可以衡量特征的重要性。

缺點

(1) 在某些噪聲比較大的特征上,易過拟合;

(2) 取值比較多的劃分特征對RF的決策會産生更大的影響,進而有可能影響模型的效果。