模型思想
隨機森林是集成學習的一種,集成多個弱學習器形成一個強學習器。弱學習器要求是好而不同,具有一定的準確性和多樣性,多個學習器集成產生更好的效果。
- 對於迴歸問題:簡單平均法。
- 對於分類問題:簡單投票法。
Bagging
爲了用於多個學習器訓練,要有多個不同的訓練集,運用少量的數據產生多個不同訓練集其中的一個方法就是bagging。bagging也就是有放回的採樣。假設有m個數據,每次抽一次放回到數據集,重複m次就能得到一個規模爲m的訓練集。這樣會有36.8%的概率的數據不會被採樣到,這樣的好處是,這部分的數據可以作爲“外包估計”,對泛化性能作爲檢驗,例如決策樹輔助剪枝,神經網絡的early stopping。
36.8%的證明(極限公式 (1+1/x)^x=e):
隨機森林算法
隨機森林不單是數據集採用bagging,有樣本擾動,還加入了屬性的擾動,每次不是從所有的屬性中選擇最優的屬性,而是先隨機選出k個屬性,在k個屬性裏面根據信息增益去選最優的分裂屬性。如果有d個屬性,k的推薦值一般是:
隨機森林的推廣算法
常見的有三個:Extra Tree、Totally Random Trees Embedding(TRTE)、Isolation Forest。
Extra Tree
Extra Tree的每個訓練集採用原始的訓練集,也就是不用bagging的方法,在選擇屬性上Extra Tree採用完全隨機選擇屬性,不根據信息增益的方法去選擇。Extra Tree的泛化能力一般優於隨機森林,但是由於完全隨機選擇屬性,而且是在所有的屬性中選擇,生成的模型規模比隨機森林大,一般不採用這種方法,只有在隨機森林過擬合的時候嘗試採用。
Totally Random Trees Embedding(TRTE)
一種低維數據向高維數據映射的方法。TRTE算法的轉換過程類似RF算法的方法,建立T個決策樹來擬合數據。當決策 樹構建完成後,數據集裏的每個數據在T個決策樹中葉子節點的位置就定下來了, 將位置信息轉換爲向量就完成了特徵轉換操作。
Isolation Forest
用於異常點的判斷,則是將測試樣本x擬合到T棵決策樹上。計算在每棵樹上該 樣本的葉子節點的深度
其中m是樣本個數,