Ensemble === ###### tags: `李宏毅` ## 教材 * [pdf](https://drive.google.com/file/d/1epR5B2AC-3ptS_EWGZHXW43eptGIjZZe/view?usp=sharing) * [youtube](https://www.youtube.com/watch?v=tH9FH1DH5n0&ab_channel=Hung-yiLee) ## Bagging 把 N 個 Training Data 取樣 N' 成多個 Set,然後針對這四個 Set 分別訓練一個模型。 ![](https://i.imgur.com/lQ7YLKW.png) 最後再取平均或 Voting,做 Bagging 是為了減緩 Overfitting。 ![](https://i.imgur.com/l6bdd50.png) Decision Tree 很容易 Overfitting,因為它一定可以 Fit 出任何一種 Training Data,所以 Random Forest 就是 Bagging of Decision Tree。 ![](https://i.imgur.com/fC4GCE9.png) ## Boosting 跟 Bagging 用在很複雜的 Model 相反,Boosting 是用在 Weak Classifier。Boosting 保證只要能產生 Error Rate 小於 50% 的 Classifier,在 Boosting 後就可以拿到 0% Error Rate。 ![](https://i.imgur.com/wN8Op1X.png) 取得不同的 Classifier 的方式是使用不同 Training Data Set 訓練,可以 Re-sampling 或 Re-weighting。 ![](https://i.imgur.com/gt4FwQu.png) ## Adaboost 基於 f1 訓練 f2。 ![](https://i.imgur.com/ra131ej.png) 把 f1 訓練錯的資料的 Weight 放大,所以一開始 Error Rate 會增加。 ![](https://i.imgur.com/Owrx72r.png) 實際上做 Re-weighting 的方法,就是在 f1 答錯時,就把那筆資料的權重乘以 d1,反之除以 d1。 ![](https://i.imgur.com/lLTLuSw.png) 總之最後要讓 Error Rate 等於 0.5,推導如下。 ![](https://i.imgur.com/7PsGeYV.png) ![](https://i.imgur.com/L1F8Kxn.png) ## Adaboost 數學推導 證明 Weak Classifier 越多,會讓 Error Rate 越低。 ![](https://i.imgur.com/6Vj3UpI.png) ![](https://i.imgur.com/qdeKQFV.png) ![](https://i.imgur.com/tur76I1.png) Adaboost 有個神奇的現象,Training Data 的 Error Rate 可能很早就會變 0,但是 Testing Data 的 Error Rate 卻可以持續下降。這是因為在算 H(x) 會希望 $α_tf_t(x)$ 越大越好,所以雖然 Training Data 的 Error Rate 一樣,但是 Testing Data 的卻可以持續下降。 ![](https://i.imgur.com/CaAUdc3.png) Adaboost 之所以可以讓 Testing Data 的 Error Rate 持續下降是因為 Adaboost 的 $\hat{y}^ng(x^n)$ 相乘像是 Logistic Regression 一樣越來越低,而不是跟 ReLU 一樣到了正值之後都一樣。 ![](https://i.imgur.com/xmI3X9W.png) ## Gradient Boosting Loss Function 如下。 ![](https://i.imgur.com/jg6UABG.png) 把 L(g) 對 g 做偏微分。 ![](https://i.imgur.com/2iWmNIh.png) ![](https://i.imgur.com/5xdzAtZ.png) ![](https://i.imgur.com/a0vfS91.png) ## Voting 除了用來訓練各個 Classifier 的 Training Data 外,還要有個 Training Data 用來訓練 Final Classifier。 ![](https://i.imgur.com/tAuOXgc.png)