1. 程式人生 > >《機器學習》筆記--4 整合學習boosting and bagging

《機器學習》筆記--4 整合學習boosting and bagging

Boosting

  • 特點:個體學習器之間存在強依賴關係、必須序列生成的方法。關注偏差的降低。
  • 方法: 先從初始訓練集選練出一個弱學習器,再根據弱學習器的表現進行樣本分佈的調整,提高那些被錯誤學習的樣本的權值,降低那些被正確學習的樣本的權值,然後繼續訓練下一個弱學習器。最後將一定數量的弱學習器進行組合,通過平均法或投票法,得到輸出結果。
  • AdaBoost: 加性模型,及若干個弱學習器的線性組合。
    在這裡插入圖片描述
    對訓練集資料,初始化權值分佈 1/N—>反覆學習基學習器(當前基學習器—>計算分類誤差率—>計算基學習器的係數α—>更新訓練集的權值分佈—>下一輪…)—>基學習器的線性組合實現加權表決

  • 提升樹:以決策樹作為基學習器的提升演算法。 GBDT/GBRT:用梯度提升演算法來求解損失函式的最優化問題。(GBDT用於分類,GBRT用於迴歸)
    利用損失函式的負梯度在當前模型的值作為提升樹演算法中殘差的近似值,擬合一棵決策樹。
    在這裡插入圖片描述

Bagging

  • 特點:個體學習器之間不存在強大的依賴關係,可同時生成的並行化方法。關注方差的降低。(在易受到樣本擾動的演算法中表現更好,如決策樹、神經網路等。)
  • 方法:先將訓練集通過自主取樣法(有放回的取樣,約36.8%不會被抽到)劃分為若干個取樣集,然後每個取樣集都各自訓練出一個基學習器,最後將這些基學習器進行結合。通過投票法或平均法得到輸出結果。

隨機森林Random Forest
以決策樹作為基學習器,同時引入隨機屬性選擇(劃分屬性時,在當前結點的屬性集合中隨機選擇一個包含k個屬性的子集,再從中選擇一個最優屬性用於劃分)
多樣性更高:樣本擾動+屬性擾動;效率更高:只考察隨機劃分的屬性子集。

整合學習,為什麼要好而不同

誤差-分歧分解
在這裡插入圖片描述
在這裡插入圖片描述
可以看出,個體學習器的準確性越高、多樣性越大,則整合越好