您好,登錄后才能下訂單哦!
作者:Marco Peixeiro
編譯:ronghuaiyang
決策樹,隨機森林,bagging,boosting的介紹以及背后的原理
基于樹的方法可以用于回歸或分類。它們涉及到將預(yù)測空間分割成幾個簡單的區(qū)域。分割規(guī)則集可以總結(jié)在樹中,因此名為 決策樹方法。
單個決策樹的性能通常不如線性回歸、logistic回歸、LDA等。但是它可以損失一些可解釋性,大幅度提高預(yù)測精度。
在這篇文章中,我們將介紹關(guān)于決策樹、bagging、隨機森林和boosting算法的所有知識。這將是一個漫長的閱讀,但它將是值得的!
回歸樹
在討論理論之前,我們需要一些基本的術(shù)語。
樹是倒著畫的。最后的區(qū)域稱為葉子,樹中發(fā)生分割的點是一個分割節(jié)點。最后,連接節(jié)點的段是“分支”。
回歸樹示意圖
創(chuàng)建一個回歸樹:
每個區(qū)域都通過最小化RSS(Root-Sum-Squares)進行分割。為此,它采用 自頂向下的貪婪方法,也稱為 遞歸二元分割。
為什么自頂向下?
因為所有的樣本在第一次分裂之前都在同一個區(qū)域。
為什么是貪婪的方法?
因為最好的分割發(fā)生在特定的步驟中,而不是向前看并進行分割,從而在未來的步驟中得到更好的預(yù)測。
數(shù)學(xué)上,我們將這對半平面定義為:
我們要求 j和 s最小化:
然而,這可能導(dǎo)致過擬合。修剪樹將產(chǎn)生一個更小的子樹,我們可以使用交叉驗證進行驗證。
未修剪的樹的示意圖
分類樹
分類樹與回歸樹非常相似。但是,我們不能使用響應(yīng)的平均值,因此我們現(xiàn)在預(yù)測一個區(qū)域中最常見的類。當(dāng)然,RSS不能用作標(biāo)準(zhǔn)。相反,每次分割都是為了最小化 分類錯誤率。
分類錯誤率就是在區(qū)域中不屬于最常見類的訓(xùn)練樣本的比例。
分類錯誤率公式
不幸的是,這對樹的生長來說不夠敏感。在實踐中,還使用了另外兩種方法。
基尼指數(shù):
基尼指數(shù)
這是對所有類的總方差的度量。如你所見,如果比例接近0或1,則基尼指數(shù)會很小,因此它是衡量節(jié)點純度的一個很好的指標(biāo)。
類似的原理也適用于另一種稱為交叉熵的方法:
交叉熵
現(xiàn)在我們已經(jīng)了解了基本決策樹的工作原理,讓我們看看如何改進它的性能!
Bagging, 隨機森林和Boosting
Bagging
我們之前已經(jīng)看到bootstrap可以計算任意數(shù)量的標(biāo)準(zhǔn)差。對于決策樹,方差很大。因此,通過bootstrap聚合或 bagging,可以減少方差,提高決策樹的性能。
Bagging包括從數(shù)據(jù)集中反復(fù)取樣。這會生成 B個不同的引導(dǎo)訓(xùn)練集。然后,我們對所有的bootstrap訓(xùn)練集進行訓(xùn)練,得到每個集合的預(yù)測,并對預(yù)測進行平均。
數(shù)學(xué)上的平均預(yù)測為:
將其應(yīng)用到?jīng)Q策樹中,意味著我們可以構(gòu)造大量的具有高方差和低偏差的樹。然后,我們可以對他們的預(yù)測進行平均,以減少方差,以提高決策樹的性能。
隨機森林
隨機森林相比Bagging樹提供了一種改進,方法是對樹進行“裝飾”。
就像Bagging一樣,建立了多個決策樹。然而,在每次拆分時,從所有 p個預(yù)測中隨機選擇 m個隨機樣本。通常分割只允許使用 m個預(yù)測中的一個
換句話說,在每次拆分時,算法都不允許考慮大多數(shù)可用的預(yù)測器!
為什么?
假設(shè)數(shù)據(jù)集中有一個非常強的預(yù)測器,以及其他中等強的預(yù)測器。然后,在bagging樹的集合中,它們都將在頂部分割中使用這個強大的預(yù)測器。因此,所有的bagging樹都是非常相似的,平均它們的預(yù)測不會減少方差,因為預(yù)測是高度相關(guān)的。
隨機森林通過強制每個分割只考慮有效地“裝飾”樹的預(yù)測子集來克服這個問題。
當(dāng)然,如果 m等于 p,這就像bagging。通常, p的平方根給出的結(jié)果最好,如下所示。
分類錯誤是樹的數(shù)量的函數(shù)。每行表示每個分割中可用的預(yù)測的數(shù)量。
Boost
boost的工作方式與bagging類似,但樹是按順序生長的:每棵樹使用以前生長的樹的信息。
這意味著算法學(xué)習(xí)速度很慢。每個樹都擬合模型的殘差,而不是目標(biāo)變量。因此,每棵樹都很小,在它表現(xiàn)不佳的地方,它會慢慢地提高預(yù)測能力。
Boost有三個調(diào)優(yōu)參數(shù):
分類錯誤是樹的數(shù)量的函數(shù)。每一行表示不同的交互深度。
正如你在上面所看到的,交互深度為1似乎提供了最好的結(jié)果。
現(xiàn)在你知道了決策樹、隨機森林、提升和bagging的一切。決策樹既可以用于回歸,也可以用于分類,當(dāng)結(jié)合使用boost、bagging時,它們的表現(xiàn)非常好。
在以后的文章中,我將展示如何使用Python在真實環(huán)境中實現(xiàn)決策樹!
英文原文:
https://towardsdatascience.com/everything-you-need-to-know-about-decision-trees-8fcd68ecaa71
https://www.toutiao.com/a6727985346639823363/
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。