集成學習(Ensemble Learning)是將若干個弱分類器(也可以是回歸器)組合從而產(chǎn)生一個新的分類器。(弱分類器是指分類準確率略好于隨機猜想的分類器,,即error rate < 0.5),。 集成機器學習涉及結(jié)合來自多個熟練模型的預測,該算法的成功在于保證弱分類器的多樣性,。而且集成不穩(wěn)定的算法也能夠得到一個比較明顯的性能提升,。集成學習是一種思想。當預測建模項目的最佳性能是最重要的結(jié)果時,,集成學習方法很受歡迎,,通常是首選技術(shù)。 為什么要使用集成學習
機器學習建模的偏差和方差機器學習模型產(chǎn)生的錯誤通常用兩個屬性來描述:偏差和方差。 偏差是衡量模型可以捕獲輸入和輸出之間的映射函數(shù)的接近程度,。它捕獲了模型的剛性:模型對輸入和輸出之間映射的函數(shù)形式的假設(shè)強度,。 模型的方差是模型在擬合不同訓練數(shù)據(jù)時的性能變化量。它捕獲數(shù)據(jù)的細節(jié)對模型的影響,。 理想情況下,,我們更喜歡低偏差和低方差的模型,事實上,,這也是針對給定的預測建模問題應(yīng)用機器學習的目標,。模型性能的偏差和方差是相關(guān)的,減少偏差通??梢酝ㄟ^增加方差來輕松實現(xiàn),。相反,通過增加偏差可以很容易地減少方差,。 與單個預測模型相比,,集成用在預測建模問題上實現(xiàn)更好的預測性能。實現(xiàn)這一點的方式可以理解為模型通過添加偏差來減少預測誤差的方差分量(即權(quán)衡偏差-方差的情況下),。 集成學習之Bagging思想Bagging又稱自舉匯聚法(Bootstrap Aggregating),,涉及在同一數(shù)據(jù)集的不同樣本上擬合許多學習器并對預測進行平均,通過改變訓練數(shù)據(jù)來尋找多樣化的集成成員,。 Bagging思想就是在原始數(shù)據(jù)集上通過有放回的抽樣,,重新選擇出N個新數(shù)據(jù)集來分別訓練N個分類器的集成技術(shù)。模型訓練數(shù)據(jù)中允許存在重復數(shù)據(jù),。 使用Bagging方法訓練出來的模型在預測新樣本分類的時候,,會使用多數(shù)投票或者取平均值的策略來統(tǒng)計最終的分類結(jié)果。 基于Bagging的弱學習器(分類器/回歸器)可以是基本的算法模型,,如Linear,、Ridge、Lasso,、Logistic,、Softmax、ID3,、C4.5,、CART、SVM、KNN,、Naive Bayes等。 隨機森林 (Random Forest)隨機森林算法原理隨機森林是在Bagging策略的基礎(chǔ)上進行修改后的一種算法,,方法如下:
隨機森林OOB Error在隨機森林中可以發(fā)現(xiàn)Bootstrap采樣每次約有1/3的樣本不會出現(xiàn)在Bootstrap所采樣的樣本集合中,,當然也沒有參加決策樹的建立,而這部分數(shù)據(jù)稱之為袋外數(shù)據(jù)OOB(out of bag),它可以用于取代測試集誤差估計方法,。 對于已經(jīng)生成的隨機森林,,用袋外數(shù)據(jù)測試其性能,假設(shè)袋外數(shù)據(jù)總數(shù)為O,,用這O個袋外數(shù)據(jù)作為輸入,,帶進之前已經(jīng)生成的隨機森林分類器,分類器會給出O個數(shù)據(jù)相應(yīng)的分類,,因為這O條數(shù)據(jù)的類型是已知的,,則用正確的分類與隨機森林分類器的結(jié)果進行比較,統(tǒng)計隨機森林分類器分類錯誤的數(shù)目,,設(shè)為X,,則袋外數(shù)據(jù)誤差大小為X/O。 優(yōu)點:這已經(jīng)經(jīng)過證明是無偏估計的,,所以在隨機森林算法中不需要再進行交叉驗證或者單獨的測試集來獲取測試集誤差的無偏估計,。 缺點:當數(shù)據(jù)量較小時,Bootstrap采樣產(chǎn)生的數(shù)據(jù)集改變了初始數(shù)據(jù)集的分布,,這會引入估計偏差,。 隨機森林算法變種RF算法在實際應(yīng)用中具有比較好的特性,應(yīng)用也比較廣泛,,主要應(yīng)用在:分類,、歸回、特征轉(zhuǎn)換,、異常點檢測等,。以下為常見的RF變種算法:
Extra Trees (ET)Extra-Trees(Extremely randomized trees,極端隨機樹)是由Pierre Geurts等人于2006年提出,。是RF的一個變種,,原理基本和RF一樣,。但該算法與隨機森林有兩點主要的區(qū)別:
對于某棵決策樹,,由于它的最佳劃分特征是隨機選擇的,,因此它的預測結(jié)果往往是不準確的,但是多棵決策樹組合在一起,,就可以達到很好的預測效果,。 當ET構(gòu)建完成,我們也可以應(yīng)用全部訓練樣本得到該ET的誤差,。因為盡管構(gòu)建決策樹和預測應(yīng)用的都是同一個訓練樣本集,,但由于最佳劃分屬性是隨機選擇的,所以我們?nèi)匀粫玫酵耆煌念A測結(jié)果,,用該預測結(jié)果就可以與樣本的真實響應(yīng)值比較,,從而得到預測誤差。如果與隨機森林相類比的話,,在ET中,,全部訓練樣本都是OOB樣本,所以計算ET的預測誤差,,也就是計算這個OOB誤差,。 由于Extra Trees是隨機選擇特征值的劃分點,會導致決策樹的規(guī)模一般大于RF所生成的決策樹,。也就是說Extra Trees模型的方差相對于RF進一步減少,。在某些情況下,ET具有比隨機森林更強的泛化能力,。 Totally Random Trees Embedding (TRTE)TRTE是一種非監(jiān)督學習的數(shù)據(jù)轉(zhuǎn)化方式,。它將低維的數(shù)據(jù)映射到高維,從而讓映射到高維的數(shù)據(jù)更好的應(yīng)用于分類回歸模型,。 TRTE算法的轉(zhuǎn)換過程類似RF算法的方法,,建立T個決策樹來擬合數(shù)據(jù)。當決策樹構(gòu)建完成后,數(shù)據(jù)集里的每個數(shù)據(jù)在T個決策子樹中葉子節(jié)點的位置就定下來了,,將位置信息轉(zhuǎn)換為向量就完成了特征轉(zhuǎn)換操作,。 例如,有3棵決策樹,,每棵決策樹有5個葉子節(jié)點,,某個數(shù)據(jù)特征x劃分到第一個決策樹的第3個葉子節(jié)點,第二個決策樹的第1個葉子節(jié)點,,第三個決策樹的第5個葉子節(jié)點。則x映射后的特征編碼為(0,0,1,0,0 1,0,0,0,0 0,0,0,0,1),有15維的高維特征,。特征映射到高維之后,,就可以進一步進行監(jiān)督學習。 Isolation Forest (IForest)IForest是一種異常點檢測算法,,使用類似RF的方式來檢測異常點,;IForest算法和RF算法的區(qū)別在于:
IForest的目的是異常點檢測,所以只要能夠區(qū)分異常數(shù)據(jù)即可,,不需要大量數(shù)據(jù),;另外在異常點檢測的過程中,一般不需要太大規(guī)模的決策樹,。 對于異常點的判斷,,則是將測試樣本x擬合到T棵決策樹上。計算在每棵樹上該樣本的葉子結(jié)點的深度ht(x),。從而計算出平均深度h(x),;然后就可以使用下列公式計算樣本點x的異常概率值,p(s,m)的取值范圍為[0,1],,越接近于1,,則是異常點的概率越大。 m為樣本個數(shù),,ξ 為歐拉常數(shù) 隨機森林優(yōu)缺點總結(jié)我們一起了解了Bagging思想及其原理,,以及基于Bagging的隨機森林相關(guān)知識。最后,,讓我們一起總結(jié)下隨機森林的優(yōu)缺點: 優(yōu)點
缺點
|
|