隨機(jī)森林是一種監(jiān)督式算法,使用由眾多決策樹(shù)組成的一種集成學(xué)習(xí)方法,輸出是對(duì)問(wèn)題最佳答案的共識(shí)。隨機(jī)森林可用于分類(lèi)或回歸。
什么是隨機(jī)森林?
隨機(jī)森林是用于分類(lèi)和回歸的一種主流集成學(xué)習(xí)方法。
集成學(xué)習(xí)方法結(jié)合了多種機(jī)器學(xué)習(xí) (ML) 算法,以獲得更好的模型 – 應(yīng)用于數(shù)據(jù)科學(xué)的群體智慧。此類(lèi)學(xué)習(xí)方法基于這樣一種概念:一群對(duì)問(wèn)題領(lǐng)域知之有限的人集思廣益,可以獲得比一個(gè)知識(shí)豐富的人更好的解決方案。
隨機(jī)森林是一組決策樹(shù),是幾乎人人都熟悉的解決問(wèn)題的比喻。決策樹(shù)通過(guò)針對(duì)數(shù)據(jù)集元素,詢(xún)問(wèn)一系列回答是否的問(wèn)題來(lái)得出答案。在下面的示例中,為了預(yù)測(cè)一個(gè)人的收入,決策會(huì)考慮變量(特征),例如此人是否有工作(是或否)以及此人是否有房子。在算法環(huán)境中,機(jī)器會(huì)不斷搜索特征,以允許將一組中的觀察結(jié)果按如下方式進(jìn)行分割,即結(jié)果組之間盡可能不同,而每個(gè)不同子組的成員之間盡可能相似。

隨機(jī)森林使用名為“bagging”的技術(shù),通過(guò)數(shù)據(jù)集和特征的隨機(jī)自助抽樣樣本并行構(gòu)建完整的決策樹(shù)。雖然決策樹(shù)基于一組固定的特征,而且經(jīng)常過(guò)擬合,但隨機(jī)性對(duì)森林的成功至關(guān)重要。

隨機(jī)性可確保單個(gè)樹(shù)之間的相關(guān)性較低,從而減少偏差風(fēng)險(xiǎn)。大量樹(shù)的存在也減少了過(guò)擬合問(wèn)題,如果模型在訓(xùn)練數(shù)據(jù)中加入過(guò)多“噪聲”并因此做出糟糕決策,這種問(wèn)題就會(huì)出現(xiàn)。
使用隨機(jī)森林模型,隨著模型中不相關(guān)樹(shù)的數(shù)量增加,做出正確預(yù)測(cè)的可能性也會(huì)增加。結(jié)果的質(zhì)量更高,因?yàn)樗鼈兎从沉舜蠖鄶?shù)樹(shù)做出的決策。此投票過(guò)程通過(guò)限制誤差來(lái)保護(hù)每個(gè)樹(shù)不互相傷害。即使有些樹(shù)錯(cuò)誤,也會(huì)有一些樹(shù)正確,因此這組樹(shù)集體朝正確的方向前行。雖然隨機(jī)森林模型在考慮許多特征時(shí)可能會(huì)運(yùn)行緩慢,但即使是使用有限數(shù)量特征的小模型也會(huì)產(chǎn)生非常好的結(jié)果。
隨機(jī)森林的工作原理是什么?
隨機(jī)森林中的每棵樹(shù)在稱(chēng)為自助聚集 (bagging) 的過(guò)程中隨機(jī)對(duì)訓(xùn)練數(shù)據(jù)子集進(jìn)行抽樣。該模型適合這些較小的數(shù)據(jù)集,并匯總預(yù)測(cè)結(jié)果。通過(guò)有放回抽樣,可以重復(fù)使用同一數(shù)據(jù)的幾個(gè)實(shí)例,結(jié)果就是,這些樹(shù)不僅基于不同的數(shù)據(jù)集進(jìn)行訓(xùn)練,而且還使用不同的特性做出決策。

圖像來(lái)源:KDNuggets
用例
分類(lèi)示例包括:
欺詐檢測(cè)
垃圾郵件檢測(cè)
文本情感分析
預(yù)測(cè)患者風(fēng)險(xiǎn)、敗血癥或癌癥
回歸示例包括:
預(yù)測(cè)欺詐數(shù)量
預(yù)測(cè)銷(xiāo)售額
為何選擇隨機(jī)森林?
隨機(jī)森林模型有五個(gè)主要優(yōu)點(diǎn):
非常適合回歸和分類(lèi)問(wèn)題?;貧w中的輸出變量是一個(gè)數(shù)字序列,例如某個(gè)街區(qū)的房?jī)r(jià)。分類(lèi)問(wèn)題的輸出變量通常是一個(gè)單一答案,例如房屋的售價(jià)是否高于或低于要價(jià)。
可以處理缺失值并保持高準(zhǔn)確性,即使由于 bagging 和有放回抽樣而缺失大量數(shù)據(jù)時(shí)也是如此。
算法由于輸出的是“多數(shù)規(guī)則”,使得模型幾乎不可能過(guò)擬合。
該模型可以處理包含數(shù)千個(gè)輸入變量的龐大數(shù)據(jù)集,因此成為降維的不錯(cuò)工具。
其算法可用于從訓(xùn)練數(shù)據(jù)集中識(shí)別非常重要的特征。
其也有一些缺點(diǎn):
隨機(jī)森林優(yōu)于決策樹(shù),但其準(zhǔn)確性低于 XGBoost 等梯度提升樹(shù)集成。
隨機(jī)森林包含大量樹(shù),因此速度比 XGBoost 慢。
梯度提升決策樹(shù)
梯度提升決策樹(shù) (GBDT) 是一種決策樹(shù)集成學(xué)習(xí)算法,類(lèi)似于用于分類(lèi)和回歸的隨機(jī)森林。隨機(jī)森林和 GBDT 都構(gòu)建了由多個(gè)決策樹(shù)組成的模型。兩者的區(qū)別在于重建和組合的方式。
GBDT 使用一種稱(chēng)為 boosting 的技術(shù),以迭代方式訓(xùn)練一組淺層決策樹(shù),每次迭代都使用上一個(gè)模型的殘差擬合下一個(gè)模型。最終得到的預(yù)測(cè)結(jié)果是所有樹(shù)預(yù)測(cè)結(jié)果的加權(quán)總和。隨機(jī)森林 bagging 可大幅減少差異和過(guò)擬合,而 GBDT boosting 則可減少偏差和欠擬合。
XGBoost(極端梯度提升)是 GBDT 的領(lǐng)先、可擴(kuò)展的分布式變體。使用 XGBoost 時(shí),樹(shù)并行構(gòu)建,而非順序構(gòu)建。GBoost 遵循按層生長(zhǎng)策略,掃描梯度值并使用這些部分和來(lái)評(píng)估訓(xùn)練集中每個(gè)可分割點(diǎn)的分割質(zhì)量。
XGBoost 因其廣泛的用例、可移植性、多樣化的語(yǔ)言支持以及云集成而廣受歡迎。
與 XGBoost 相比,隨機(jī)森林模型的準(zhǔn)確性可能會(huì)因兩個(gè)不同的誤差來(lái)源(偏差和方差)而下降:
梯度提升模型通過(guò)以低學(xué)習(xí)率進(jìn)行多輪提升來(lái)消除偏差和方差。
梯度提升模型超參數(shù)也有助于消除方差。
隨機(jī)森林模型使用樹(shù)深度和樹(shù)的數(shù)量消除偏差和方差。
隨機(jī)森林樹(shù)可能需要比梯度提升樹(shù)更深入。
更多數(shù)據(jù)可減少偏差和方差。
NVIDIA GPU 加速的
隨機(jī)森林、XGBOOST 和端到端數(shù)據(jù)科學(xué)
在架構(gòu)方面,CPU 僅由幾個(gè)具有大緩存內(nèi)存的核心組成,一次只可以處理幾個(gè)軟件線程。相比之下,GPU 由數(shù)百個(gè)核心組成,可以同時(shí)處理數(shù)千個(gè)線程。

基于 CUDA-X AI 創(chuàng)建的 NVIDIA RAPIDS開(kāi)源軟件庫(kù)套件使您完全能夠在 GPU 上執(zhí)行端到端數(shù)據(jù)科學(xué)和分析流程。此套件依靠 NVIDIA CUDA 基元進(jìn)行低級(jí)別計(jì)算優(yōu)化,但通過(guò)用戶(hù)友好型 Python 接口實(shí)現(xiàn)了 GPU 并行化和高帶寬顯存速度。

借助 RAPIDS GPU DataFrame,數(shù)據(jù)可以通過(guò)一個(gè)類(lèi)似 Pandas 的接口加載到 GPU 上,然后用于各種連接的機(jī)器學(xué)習(xí)和圖形分析算法,而無(wú)需離開(kāi) GPU。這種級(jí)別的互操作性可通過(guò) Apache Arrow 等庫(kù)實(shí)現(xiàn),并且可加速端到端流程(從數(shù)據(jù)準(zhǔn)備到機(jī)器學(xué)習(xí),再到深度學(xué)習(xí))。
RAPIDS 的機(jī)器學(xué)習(xí)算法和數(shù)學(xué)基元遵循熟悉的類(lèi)似于 scikit-learn 的 API。單塊 GPU 和大型數(shù)據(jù)中心部署均支持 XGBoost、隨機(jī)森林等主流工具。針對(duì)大型數(shù)據(jù)集,相較于同等功效的 CPU,這些基于 GPU 的實(shí)施方案能夠以 10 到 50 倍的速度更快地完成任務(wù)。
NVIDIA RAPIDS 團(tuán)隊(duì)與 DMLC XGBoost 組織建立了緊密的合作關(guān)系,而且 GPU 加速 XGBoost 現(xiàn)已包括無(wú)縫嵌入式 GPU 加速,可顯著加快模型訓(xùn)練速度并提高準(zhǔn)確性。對(duì)在配備 NVIDIA P100 加速器和 32 個(gè)英特爾至強(qiáng) E5-2698 CPU 核心的系統(tǒng)上運(yùn)行的 XGBoost 腳本進(jìn)行的測(cè)試表明,相較于在輸出質(zhì)量相同的非 GPU 系統(tǒng)上運(yùn)行相同的測(cè)試,速度提升了 4 倍。這一點(diǎn)尤為重要,因?yàn)閿?shù)據(jù)科學(xué)家通常會(huì)多次運(yùn)行 XGBoost,以便調(diào)整參數(shù)并找到出色的準(zhǔn)確性。
審核編輯:湯梓紅
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5696瀏覽量
110140 -
算法
+關(guān)注
關(guān)注
23文章
4810瀏覽量
98608 -
隨機(jī)森林
+關(guān)注
關(guān)注
1文章
22瀏覽量
4449
原文標(biāo)題:NVIDIA 大講堂 | 什么是 隨機(jī)森林?
文章出處:【微信號(hào):NVIDIA_China,微信公眾號(hào):NVIDIA英偉達(dá)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
這個(gè)電路干啥用的呢?它的工作原理是怎么樣?
串行mram磁性隨機(jī)存儲(chǔ)器的工作原理與存儲(chǔ)機(jī)制
騰柱無(wú)橋PFC電路的工作原理和拓?fù)浣Y(jié)構(gòu)
永銘超級(jí)電容SLM系列賦能森林防火監(jiān)控系統(tǒng),凸顯關(guān)鍵電容優(yōu)勢(shì)
廣州唯創(chuàng)電子語(yǔ)音芯片的工作原理與應(yīng)用解析
真隨機(jī)數(shù)和偽隨機(jī)數(shù)的區(qū)別
解析基帶和射頻的工作原理
藍(lán)牙隨機(jī)化RPA更新的重要性和工作原理
語(yǔ)音控制模塊工作原理
FLASH的工作原理與應(yīng)用
GPIO配置的工作原理是什么?
水質(zhì)常規(guī)五參數(shù)探頭工作原理
隨機(jī)森林的概念、工作原理及用例
評(píng)論