臺大林軒田機器學習技法(十一):GBDT演算法
我的CSDN博客地址:紅色石頭的專欄
我的知乎主頁:紅色石頭 我的微博:RedstoneWill的微博 我的GitHub:RedstoneWill的GitHub 我的微信公眾號:紅色石頭的機器學習之路(ID:redstonewill)歡迎大家關注我!共同學習,共同進步!
上節課我們主要介紹了Random Forest演算法模型。Random Forest就是通過bagging的方式將許多不同的decision tree組合起來。除此之外,在decision tree中加入了各種隨機性和多樣性,比如不同特徵的線性組合等。RF還可以使用OOB樣本進行self-validation,而且可以通過permutation test進行feature selection。本節課將使用Adaptive Boosting的方法來研究decision tree的一些演算法和模型。
1. Adaptive Boosted Decision Tree
Random Forest的演算法流程我們上節課也詳細介紹過,就是先通過bootstrapping「複製」原樣本集D,得到新的樣本集D』;然後對每個D』進行訓練得到不同的decision tree和對應的 ;最後再將所有的 通過uniform的形式組合起來,即以投票的方式得到G。這裡採用的Bagging的方式,也就是把每個 的預測值直接相加。現在,如果將Bagging替換成AdaBoost,處理方式有些不同。首先每輪bootstrap得到的D』中每個樣本會賦予不同的權重 ;然後在每個decision tree中,利用這些權重訓練得到最好的 ;最後得出每個 所佔的權重,線性組合得到G。這種模型稱為AdaBoost-D Tree。