Boosting、Bagging和Stacking知識點整理

全是坑,嚶嚶哭泣= =

  1. 簡述下Boosting的工作原理
    Boosting主要幹兩件事:調整訓練樣本分佈,使先前訓練錯的樣本在後續能夠獲得更多關注
    集成基學習數目
    Boosting主要關注降低偏差(即提高擬合能力)
  2. 描述下Adaboost和權值更新公式
    Adaboost算法是“模型爲加法模型、損失函數爲指數函數、學習算法爲前向分佈算法”時的二類分類學習方法。
    Adaboost有兩項內容:提高那些被前一輪弱分類器錯誤分類樣本的權值,而降低那些被正確分類樣本的權值;加大分類錯誤率小的弱分類器的權值。
    步驟一:初始化訓練數據的權值分佈,一開始賦予相同的權值1N
    步驟二:多輪迭代
    a. 帶權的訓練數據集進行學習,得到基本的二分類器Gm(x)
    b. 計算帶權的分類誤差率em=Ni=1wmiI(Gm(xi)yi)
    c. 計算Gm(x) 的係數αm=12log1emem
    注:αmem 的減小而增大,所以分類誤差率越小的基本分類起在最終分類起中的作用越大,加大了分類錯誤率小的弱分類器的權值。
    d. 更新訓練數據集的權值分佈
    wm+1,i=wmiZmexp(αmyiGm(xi))
    Zm=Ni=1wmiexp(αmyiGm(xi)
    注意到Gm 是一個二分類器
    步驟三:組合各個弱分類器
    f(x)=Mm=1αmGm(x)
  3. 請問(決策樹、Random Forest、Boosting、Adaboost)GBDT和XGBoost的區別是什麼?
    而隨機森林Random Forest是一個包含多個決策樹的分類器。至於AdaBoost,則是英文”Adaptive Boosting”(自適應增強)的縮寫,關於AdaBoost可以看下這篇文章《Adaboost 算法的原理與推導》。GBDT(Gradient Boosting Decision Tree),即梯度上升決策樹算法,相當於融合決策樹和梯度上升boosting算法。
    @Xijun LI:xgboost類似於gbdt的優化版,不論是精度還是效率上都有了提升。與gbdt相比,具體的優點有: 1.損失函數是用泰勒展式二項逼近,而不是像gbdt裏的就是一階導數 2.對樹的結構進行了正則化約束,防止模型過度複雜,降低了過擬合的可能性 3.節點分裂的方式不同,gbdt是用的gini係數,xgboost是經過優化推導後的
發佈了196 篇原創文章 · 獲贊 73 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章