整合學習
整合學習通過構建並結合多個學習器來完成學習任務.只包含同種型別的個體學習器,這樣的整合是「同質」的;包含不同型別的個體學習器,這樣的整合是「異質」的.整合學習通過將多個學習器進行結合,常可獲得比單一學習器顯著優越的泛化效能.
根據個體學習器的生成方式,目前的整合學習方法大致可分為兩大類,即個體學習器間存在強依賴關係、必須序列生成的序列化方法,以及個體學習器間不存在強依賴關係、可同時生成的並行化方法;前者的代表是boosting,後者的代表是bagging和「隨機森林」.
bagging與boosting的概念及區別
首先介紹bootstraping,即自助法:它是一種有放回的抽樣方法(可能抽到重複的樣本).
1、bagging (bootstrap aggregating)
bagging即套袋法,其演算法過程如下:
a)從原始樣本集中抽取訓練集.每輪從原始樣本集中使用bootstraping的方法抽取n個訓練樣本(在訓練集中,有些樣本可能被多次抽取到,而有些樣本可能一次都沒有被抽中).共進行k輪抽取,得到k個訓練集.(k個訓練集相互獨立)
b)每次使用乙個訓練集得到乙個模型,k個訓練集共得到k個模型.(注:根據具體問題採用不同的分類或回歸方法,如決策樹、神經網路等)
c)對分類問題:將上步得到的k個模型採用投票的方式得到分類結果;對回歸問題,計算上述模型的均值作為最後的結果.
2、boosting
boosting是一族可將弱學習器提公升為強學習器的演算法.
關於boosting的兩個核心問題:
1)在每一輪如何改變訓練資料的權值或概率分布?
2)通過什麼方式來組合弱分類器?
通過加法模型將弱分類器進行線性組合,比如adaboost通過加權多數表決的方式,即增大錯誤率小的分類器的權值,同時減小錯誤率較大的分類器的權值.
而提公升樹通過擬合殘差的方式逐步減小殘差,將每一步生成的模型疊加得到最終模型.
3、bagging,boosting二者之間的區別
bagging和boosting的區別:
1)樣本選擇上:
bagging:訓練集是在原始集中有放回選取的,從原始集中選出的各輪訓練集之間是獨立的.
2)樣例權重:
bagging:使用均勻取樣,每個樣例的權重相等
boosting:根據錯誤率不斷調整樣例的權值,錯誤率越大則權重越大.
3)**函式:
bagging:所有**函式的權重相等.
boosting:每個弱分類器都有相應的權重,對於分類誤差小的分類器會有更大的權重.
4)平行計算:
bagging:各個**函式可以並行生成
boosting:各個**函式只能順序生成,因為後乙個模型引數需要前一輪模型的結果.
4、隨機森林
隨機森林是bagging的乙個擴充套件變體,除了樣本集是有放回的取樣外,屬性集合也引入了隨機屬性選擇.具體來說,傳統決策樹在選擇劃分屬性時是在當前結點的屬性集合中選擇乙個最優屬性;而在rf中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇乙個包含k個屬性的子集,然後再從這個子集中選擇乙個最優屬性用於劃分.
隨機森林簡單、容易實現、計算開銷小.效果能使得最終整合的泛化效能可通過個體學習器之間差異度的增加而進一步提公升.
5、多樣性增強
l 資料樣本擾動
資料樣本擾動通常是基於取樣法,對於決策樹、神經網路等「不穩定基學習器」很有效,對於線性學習器、支援向量機、樸素貝葉斯、k近鄰學習器等穩定基學習器不敏感;
l 輸入屬性擾動
屬性子空間提供了觀察資料的不同視角,對包含大量冗餘屬性的資料,在子空間中訓練個體學習器不僅能產生多樣性大的個體,還會因屬性數的減少而大幅節省時間開銷;
l 輸出表示擾動
基本思路是對輸出表示進行操縱以增強多樣性.可對訓練樣本的類標記稍作變動;也可對輸出表示進行轉化;還可將原任務拆解為多個可同時求解的子任務;
l 演算法引數擾動
基學習演算法一般都有引數需進行設定,例如神經網路的隱層神經元數、初始連線權值等,通過隨機設定不同的引數,往往可產生差別較大的個體學習器.
整合學習 bagging和boosting
bagging boostrap aggregating 對樣本再取樣 boostrap 對每一重取樣的子樣本訓練乙個模型,最後取平均,所以是降低模型的variance。bagging比如random forest這種先天並行的演算法都有這個效果。boosting則是迭代演算法,每一次迭代都根據上一...
整合學習 Boosting和Bagging異同
整合學習 ensemble learning 有時也被籠統地稱作提公升 boosting 方法,廣泛用於分類和回歸任務。它最初的思想很簡單 使用一些 不同的 方法改變原始訓練樣本的分布,從而構建多個不同的分類器,並將這些分類器線性組合得到乙個更強大的分類器,來做最後的決策。也就是常說的 三個臭皮匠頂...
整合學習 bagging和boosting
bagging boostrap aggregating 對樣本再取樣 boostrap 對每一重取樣的子樣本訓練乙個模型,最後取平均,所以是降低模型的variance。bagging比如random forest這種先天並行的演算法都有這個效果。boosting則是迭代演算法,每一次迭代都根據上一...