集成學習(ensemble learning)方法
通過建立幾個模型組合來解決單一預測問題,其工作原理是在數據集上構建多個分類器/模型,各自獨立學習和做出預測,這些預測最後結合成單預測,因此優於任何一個單分類器做出的預測
- 不是一個單獨的機器學習的算法阿
- 現在各種演算法競賽中,隨機森林、梯度提升樹(GBDT)、Xgboost隨處可見
- sklearn中的集成學習方法位於
sklearn.ensemble
中
集成演算法
- 多個演算法模型集成成為的模型叫做集成評估器(ensemble estimator)
- 組成集成評估器的每個演算法模型都叫做基評估器(base estimator)
- 通常分為三類:
- 裝袋法(Bagging)
- 構建多個相互獨立的評估器(彼此建立的過程互不干擾)
- 對其預測進行平均或多數表決原則來決定結果
- 隨機森林
單獨一個基評估器判斷準確率至少要超過50%,才可以確保集成評估器的表現會比基評估器好;否則集成評估器的效果會劣於基評估器。在使用隨機森林之前,一定要檢查,用來組成隨機森林的分類樹是否都至少有50%的預測正確率
- 提升法(Boosting)
- 基評估器是相關的(是按順序構建的)
- 第一次採樣訓練,對於判斷錯誤的樣本,在下一次採樣訓練模型的過程中,會增加其權重,使其更容易被下一個建立的評估器提取到,不斷循環
- 在一次次建模的過程中,對難以評估特徵的樣本進行強力的預測,構建出一個強評估器
- Adaboost、梯度提升樹
- 基評估器是相關的(是按順序構建的)
- stacking
- 裝袋法(Bagging)
集成算法目標
集成算法會考慮多個estimator建模的結果,匯總後得到一個綜合的結果
- 以此來獲取比單個模型更好的回歸或分類表現