隨機森林的原理與實現

2021-08-08 04:51:57 字數 1281 閱讀 8818

由於單一的決策樹一般都會有過擬合的問題,因此一些研究人員通過特定的方式構建多個決策樹的方法來增加模型中的偏差(bias),從而解決模型過擬合的問題。由於在構建樹的過程中使用了一些隨機化的方法,而且又包括了很多的樹,因此這個模型被稱為了隨機森林。

隨機森林既可以用於分類,又可以用於回歸。用於分類時,給定的輸入樣例必須作為每一棵樹的輸入,最後統計每一棵樹所**的型別中哪個型別是最多的(majority vote),樣本就被**為那種型別;用於回歸時,輸入樣例也是要作為每一棵樹的輸入,然後對每一棵樹的輸出值求平均,得到輸入樣例的**值。

事實上,隨機森林還能用於非監督性學習,這是因為隨機森林具有乙個特性:能夠測量每個例項之間的接近度(proximity),通過這樣的特性我們可以對無標籤的資料進行聚類,這是隨機森林最重要的特性。兩個例項接近度的計算是通過讓兩個例項遍歷森林中的每一棵樹,統計它們處於相同葉子節點的次數,將總次數除以樹的總數就是兩個例項的接近度。

通過例項的接近度測量,隨機森林還能應用於尋找離群值。

另外,隨機森林還能計算出輸入資料集中各個特徵的重要性,通過對特徵重要性的測量我們就可以實現某種程度的維度下降。基本的測量步驟是對當前測量的特徵的各個值進行重新排列,然後使用oob(out-of-bag)資料對每一棵樹計算排列前後正確分類的例項的數目,使用排列前的正確分類例項數目減去排列後正確分類例項數目。統計所有樹這個減法值的平均值就能得到特徵重要性的原始值。

其次地,隨機森林解決資料集中資料缺失,資料集類別數目不平衡等問題。

①通過放回取樣的方法在原資料集中進行取樣,每構造一棵樹就要取樣一次。

②使用取樣後的資料集,根據給定的樹深和葉子資料量大小等引數要求來構造決策樹。與一般的決策樹構造不同,模型還有乙個引數用於指定在進行節點分割的時候,只選取多少個特徵進行最優分割的計算。因此在構造決策樹每一次進行節點分割的時候,我們必須隨機選取指定數量的特徵用於計算最優分割特徵以及特徵值,以這個特徵和特徵值進行分割,從而構造出乙個決策樹。另外,是否分割的標準是根據基尼不純度來判斷的。這是向模型加入偏差(bias)的重要步驟。

③重複以上兩步直到構造完了指定數量的決策樹。

①可以使用k-折交叉驗證的方法。

②使用oob誤差估計。由於在每棵樹構造的過程中都會有沒有被取樣的資料,這些資料也被稱為out-of-bag資料(oob資料),使用oob資料在對應的樹上計算出**值。對於每乙個作為oob的例項,統計它在**型別最多的作為該例項的型別。最後計算出誤差率。

①最重要的就是在每一次分割需要用到的特徵數目。

②對原資料集進行放回取樣的樣本數。

③所構造的每乙個決策樹的最大深度,以及葉子節點所包含的最大例項數。

④要構造的樹的數目。

隨機森林原理及實現

解釋的非常生動!對含有n個樣本,m個特徵的資料集操作。1 首先取樣t次,每次從n個樣本裡有放回的選取n個樣本 n 2 我們將剩下的1 3的樣本帶入 1 中的模型進行測試,求袋外誤差,從而得到特徵的重要性排列。選取排名靠前的特徵,組成了新的森林。疑問 每棵樹的特徵是從這一步挑選出的特徵裡隨機抽取嗎?每...

隨機森林演算法原理 機器學習演算法 隨機森林

隨機森林是一種通用的機器學習方法,能夠處理回歸和分類問題。它還負責資料降維 缺失值處理 離群值處理以及資料分析的其他步驟。它是一種整合學習方法,將一組一般的模型組合成乙個強大的模型 我們通過適用隨機的方式從資料中抽取樣本和特徵值,訓練多個不同的決策樹,形成森林。為了根據屬性對新物件進行分類,每個數都...

Bagging與隨機森林演算法原理小結

bagging與隨機森林演算法原理小結 在整合學習 原理小結中,我們講到了整合學習有兩個流派,乙個是boosting派系,它的特點是各個弱學習器之間有依賴關係。另一種是bagging流派,它的特點是各個弱學習器之間沒有依賴關係,可以並行擬合。本文就對整合學習中bagging與隨機森林 演算法做乙個總...