1. 程式人生 > >整合學習Boosting和Bagging和Stacking總結

整合學習Boosting和Bagging和Stacking總結

整合學習

整合相同的個體學習器,則該整合學習方法是“同質”的;若整合不同的個體學習器,則該整合是“異質”的。
整合學習要求個體學習器要“好而不同”,即個體學習器要有一定的“準確性”,並且要有“多樣性”。但是,個體學習器的“準確性”和“多樣性”本身就是衝突的。一般來說,準確性很高後,要增加多樣性往往就要犧牲準確性,整合學習研究的核心恰恰是“好而不同”。
整合學習的分類
1. 個體學習器之間存在強依賴關係,必須序列生成的序列化方法——Boosting;
2. 個體學習器之間不存在強依賴關係,可同時生成的並行化方法——Bagging

Boosting

Boosting原理:Boosting是一族可將弱學習器提升為強學習器的演算法,先用初始訓練集訓練出一個基分類器,然後,重新對所有樣本的權重進行調整,使得當前基分類器分錯的樣本格外收到關注,根據當前基分類器的預測誤差設定當前基分類器的權重。然後,將權重調整後的樣本重新訓練基分類器,逐步重複上述過程,直到達到指定次數,最終將多個基分類器的預測結果加權結合。
AdaBoost


Boosting主要關注降低偏差,因此Boosting能將泛化效能很弱的學習器構建出很強的整合。Boosting族演算法的代表是AdaBoost,其主要訓練過程如下:
這裡寫圖片描述
AdaBoost演算法的每一輪迭代會更新兩種權重:樣本的權重和分類器的權重,最終的訓練結果為所有分類器進行加權結合。

Bagging

Bagging是並行式整合學習方法的代表。該方法採用bootstrap隨機重取樣方法構成若干訓練子集,對每個訓練子集構建基分類器,再將這些基分類器的輸出結果採用簡單投票法進行結合。
袋外資料(OOB)
1. 估計相應基分類器的袋外誤差:每個基學習器只使用了其訓練集的63.2%,剩下的36.8%構成袋外資料。袋外資料可用作驗證集來對該基分類器的泛化效能進行“袋外估計”,比較驗證集和測試集預測結果的差別。
2. 估計特徵重要性

:將某一特徵替換後,通過替換前後的分類器預測準確率來判斷其重要性;若將某個特徵替換為噪聲,若替換後OOB準確率大幅下降,則表明該特徵的重要程度較高。
隨機森林(RF)
隨機森林是Bagging族著名的代表演算法,隨機森林的隨機性體現在兩點:構成每棵樹的訓練集隨機性和節點分裂時候選特徵的隨機性。

Stacking