機器學習--隨機森林

模型思想

隨機森林是集成學習的一種,集成多個弱學習器形成一個強學習器。弱學習器要求是好而不同,具有一定的準確性和多樣性,多個學習器集成產生更好的效果。

  • 對於迴歸問題:簡單平均法。
  • 對於分類問題:簡單投票法。

Bagging

爲了用於多個學習器訓練,要有多個不同的訓練集,運用少量的數據產生多個不同訓練集其中的一個方法就是bagging。bagging也就是有放回的採樣。假設有m個數據,每次抽一次放回到數據集,重複m次就能得到一個規模爲m的訓練集。這樣會有36.8%的概率的數據不會被採樣到,這樣的好處是,這部分的數據可以作爲“外包估計”,對泛化性能作爲檢驗,例如決策樹輔助剪枝,神經網絡的early stopping。
36.8%的證明(極限公式 (1+1/x)^x=e):

limm(11m)m=e1100%=36.8%

隨機森林算法

隨機森林不單是數據集採用bagging,有樣本擾動,還加入了屬性的擾動,每次不是從所有的屬性中選擇最優的屬性,而是先隨機選出k個屬性,在k個屬性裏面根據信息增益去選最優的分裂屬性。如果有d個屬性,k的推薦值一般是:

k=log2d

隨機森林的推廣算法

常見的有三個: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棵決策樹上。計算在每棵樹上該 樣本的葉子節點的深度ht(x) 。從而計算出平均深度h(x) ,平均深度越小,就證明這個點很快就分到異常的葉子節點上,說明這個點越可能是異常點,但是不能只考慮平均深度,還要考慮數據的規模,所以把h(x) 放到下面的公式中進行判斷:

p(x,m)=2h(x)c(m)
c(m)=ln(m1)+ξ2m1m

其中m是樣本個數,ξ 是歐拉常數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章