1. Bagging = 自助采樣 + 投票表決
在0-1中介紹樣本劃分訓練集測試集的方法時,提到過自助采樣。簡單來說,原始樣本集有m個樣本,有放回采樣m個構(gòu)成訓練集,剩下的沒被采到過的樣本構(gòu)成測試集。
Bagging就是,有放回采樣m個樣本這件事進行T次,這樣就搞到了T個不相同的訓練集,分別用于取訓練一個基學習器。因為樣本集的構(gòu)成不同,這T個基學習器就是不同的。而測試集則用這T次自助采樣都沒有采到過的那部分樣本構(gòu)成。
投票表決:訓練出的T個基學習器用于樣本預(yù)測時,按少數(shù)服從多數(shù)給出答案。具體有絕對多數(shù)表決(至少有多于T/2個基學習器給出了同一答案)、相對多數(shù)表決(得票最多的就是答案,多分類問題)
補充兩點:
① T得是奇數(shù)
② Bagging方法主要可以降低方差,基學習器在不同的數(shù)據(jù)集上各有各的過擬合,因此方差較大。Bagging可以解決這個事兒。
2. 隨機森林(Random Forest)
一句話概括:隨機森林 = Bagging + 屬性擾動(特征擾動)
Bagging就不用說了。
屬性擾動:在生成一棵基決策樹的過程中,對基決策樹的每個節(jié)點,假設(shè)此時可用的特征有d個,先在其中隨機選擇k個,然后考察這k各特征的信息增益(信息增益率、基尼系數(shù)),選擇最佳特征對節(jié)點進行劃分。其中k值決定了擾動的程度,當k=d時相當于沒有擾動,當k=1時相當于完全隨機的擾動。一般k=log2(d)。
屬性擾動使基學習器的差異進一步擴大。