2016-08-08 222 views
1

我剛剛開始瞭解Adaboost的決策樹,並在OpenCV上嘗試了它,並且有一些問題。Adaboost決策樹/樹樁

提振決策樹

我明白,當我使用的Adaboost與決策樹,我不斷地擬合決策樹訓練數據重新加權版本。分類是通過加權多數投票完成的

當用Adaboost訓練決策樹時,我可以使用Bootstrapping嗎?即我們選擇數據集的子集並在將分類器饋送到Adaboost之前在每個子集上訓練一棵樹。

提振決策樹樁

我用同樣的技術決策樹樁?或者,我可以創建等於功能數量的樹樁嗎?即如果我有兩個具有10個特徵的類,那麼在將分類器送入Adaboost之前,我會爲每個特徵創建總共10個決策樹樁。

+0

爲什麼這個問題不在datascience.SE? – alexeykuzmin0

回答

2

AdaBoost不僅在不同的子集上訓練分類器,還根據達到的彙編性能調整數據集元素的權重。詳細描述可以在here找到。

是的,你可以使用相同的技術來訓練決策樹樁。該算法大致如下:

  1. 在沒有權重的初始數據集上訓練決策殘塊(與每個權重爲1的元素相同)。
  2. 使用AdaBoost算法中的公式更新所有元素的權重。正確分類元素的權重應該變小,不正確分類的權重 - 變大。
  3. 使用當前權重訓練決策樹樁。也就是說,不僅要減少這個決策失誤的錯誤數量,還要減少錯誤的總和。
  4. 如果沒有達到所需的質量,請前往pt。 2.