機器學習 隨機森林

2021-07-16 10:59:34 字數 1566 閱讀 7262

opencv包含隨機森林(random forest)類,隨機森林可以通過收集很多樹的子節點對各個類別的投票,然後選擇獲得最多投票的類別作為判斷結果。通過計算「森林」的所有子節點上的值的平均值來解決回歸問題。隨機森林包含隨機選擇的一些決策樹。隨機森林建立時的基本子系統也是決策樹,在建立決策樹時會一直繼續下去直到資料純淨。

如果所有的樹都很相似,隨機森林就沒有很大的作用。為了克服這點,隨機森林通過在樹的建立過程中隨機選擇子集來使**各個樹**

(樹不同也就是能夠產生隨機的森林)不相同。

在隨機森林中,每乙個決策樹「種植」和「生長」的規則如下所示:

1.假設我們設定訓練集中的樣本個數為n,然後通過有重置的重複多次抽樣來獲得這n個樣本,這樣的抽樣結果將作為我們生成決策樹的訓練集;

2.如果有m個輸入變數,每個節點都將隨機選擇m(m3.每棵決策樹都最大可能地進行生長而不進行剪枝;

4.通過對所有的決策樹進行加總來**新的資料(在分類時採用多數投票,在回歸時採用平均)。

優點:

1.正如上文所述,隨機森林演算法能解決分類與回歸兩種型別的問題,並在這兩個方面都有相當好的估計表現;

2.隨機森林對於高維資料集的處理能力令人興奮,它可以處理成千上萬的輸入變數,並確定最重要的變數,因此被認為是乙個不錯的降維方法。此外,該模型能夠輸出變數的重要性程度,這是乙個非常便利的功能。下圖展示了隨機森林對於變數重要性程度的輸出形式:

3.在對缺失資料進行估計時,隨機森林是乙個十分有效的方法。就算存在大量的資料缺失,隨機森林也能較好地保持精確性;

4.當存在分類不平衡的情況時,隨機森林能夠提供平衡資料集誤差的有效方法;

5.模型的上述效能可以被擴充套件運用到未標記的資料集中,用於引導無監督聚類、資料透視和異常檢測;

6.隨機森林演算法中包含了對輸入資料的重複自抽樣過程,即所謂的bootstrap抽樣。這樣一來,資料集中大約三分之一將沒有用於模型的訓練而是用於測試,這樣的資料被稱為out of bag samples,通過這些樣本估計的誤差被稱為out of bag error。研究表明,這種out of bag方法的與測試集規模同訓練集一致的估計方法有著相同的精確程度,因此在隨機森林中我們無需再對測試集進行另外的設定。

缺點:

1.隨機森林在解決回歸問題時並沒有像它在分類中表現的那麼好,這是因為它並不能給出乙個連續型的輸出。當進行回歸時,隨機森林不能夠作出超越訓練集資料範圍的**,這可能導致在對某些還有特定雜訊的資料進行建模時出現過度擬合。

2.對於許多統計建模者來說,隨機森林給人的感覺像是乙個黑盒子——你幾乎無法控制模型內部的執行,只能在不同的引數和隨機種子之間進行嘗試。

opencv中首先是乙個引數結構cvrtparams,該結構繼承於決策樹:

最後的結果**會有點不同的地方,返回的不是具體的類別

機器學習 隨機森林

以下內容均為個人理解,如有錯誤,歡迎指出 如何生成隨機森林基學習器的訓練資料集 隨機 的含義 bagging整合學習的評測方法 隨機森林的引數 以下內容摘自周志華老師的 機器學習 隨機森林是bagging的乙個擴充套件變體,它在以決策樹為基學習器構建的bagging整合的基礎上,進一步在決策樹的訓練...

機器學習 隨機森林

以決策樹為基礎 隨機森林 決策樹的乙個主要缺點在於經常對訓練的資料過擬合。隨機森林是解決這個問題的一種方法。隨機森林的本質上是很多決策樹的集合,其中那個每棵樹都和其他樹略有不同。隨機森林背後砈思想史是,每棵樹的 都可能相對較好,但可能對部分書聚過擬合,如果我們構建很多樹,並且每棵樹都可以 的很好,但...

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

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