決策樹CART演算法原理的理解

2021-09-11 20:14:16 字數 2893 閱讀 7963

(二)、最小二乘回歸樹生成演算法

二、cart分類樹演算法原理

三、cart對於特徵為連續值以及離散值的處理

參考首先應該清楚回歸樹與分類樹的本質區別在於模型的輸出值不同,如果輸出值為連續值則為回歸樹,如果為離散值則為分類樹。

假設現在已有訓練資料集

並且假設已經將輸入空間劃分為m個單元r1,r2,……rm,此時如果給定輸入空間的乙個劃分,那麼回歸樹在這個劃分上的**誤差即為(用平方誤差表示如下):

那麼(此處假設為基於平方誤差最小的準則)此回歸樹模型在每個劃分單元上的最優輸出值即為

上面公式的含義就是rm單元內包括的樣本對應的資料集中y值的平均值

那麼現在的問題就在於依據什麼原則去找到最佳的劃分,現在假設樣本共有k個特徵(k維),假設現在選擇第j維和它此時的取值為s,作為劃分資料集的特徵以及特徵值(切分點),將資料集劃分為兩部分r1,r2:

我們選擇最優特徵以及最優切分點的準則就是:

怎麼理解上面的式子呢,就是對於任意劃分特徵,對應的任意劃分點s兩邊劃分成的資料集r1和r2,求出使r1和r2內各自含有的樣本的輸出值的平方誤差最小,同時兩者平方誤差之和最小所對應的特徵j和特徵值劃分點s。

這裡直接貼上李航老師的描述:

這裡補充一下一般停止條件有三種:

1.節點中的樣本數量小於指定值

2.節點中樣本的平方誤差小於指定值

3.已經沒有更多的特徵

首先需要知道的是基尼指數這個概念,

基尼指數是用來表示不確定性的乙個概念。

對於給定的樣本資料集d,它的基尼指數定義為:

此時對於樣本資料集d,如果根據特徵a是否取其某個值a,把d分成d1和d2兩部分,則在特徵a的條件下,d的基尼係數表示式為:

gini(d)表示資料集d的不確定性,gini(d,a)表示在a=a分割後d的不確定性,基尼指數越大表明不確定性越大。

如何選擇最優特徵以及切分點呢?依據的原則就是選擇的特徵a以及它對應的取值a使得gini(d,a=a)最小。

怎麼理解這句話,舉個小例子,現在d共有職業a,年齡b,性別c三個特徵,其中a可取值為「老師」,「學生」,「其他」,b假設樣本中取值就只有「20」,「30」,「40」,c可能取值為「男」,「女」

現在分別計算gini(d,a="老師「),gini(d,a="學生「),gini(d,a="其他「),gini(d,b="20「),gini(d,b="30「),gini(d,b="40「),gini(d,c="男「),gini(d,c="女「),然後選出最小的,假設為gini(d,a="學生「)最小那麼這一輪的最優特徵就為職業,最優劃分點就為是否為學生。

這裡直接貼上李航老師的描述:

這裡補充一下一般停止條件有三種:

1.節點中的樣本數量小於指定值

2.節點中樣本的平方誤差小於指定值

3.已經沒有更多的特徵

首先,我們應該知道cart產生的是完全二叉樹。

對於cart連續值的處理問題,其思想使將連續的特徵離散化。

」具體的思路如下,比如m個樣本的連續特徵a有m個,從小到大排列為a1,a2,…,am,則cart演算法取相鄰兩樣本值的平均數,一共取得m-1個劃分點,其中第i個劃分點ti表示為:

對於特徵取值為離散值的處理問題,cart採用的思路是不停的二分離散特徵。

回憶下id3或者c4.5,如果某個特徵a被選取建立決策樹節點,如果它有a1,a2,a3三種類別,我們會在決策樹上一下建立乙個三叉的節點。這樣導致決策樹是多叉樹。但是cart分類樹使用的方法不同,他採用的是不停的二分,還是這個例子,cart分類樹會考慮把a分成和, 和, 和三種情況,找到基尼係數最小的組合,比如和,然後建立二叉樹節點,乙個節點是a2對應的樣本,另乙個節點是對應的節點。同時,由於這次沒有把特徵a的取值完全分開,後面我們還有機會在子節點繼續選擇到特徵a來劃分a1和a3。這和id3或者c4.5不同,在id3或者c4.5的一棵子樹中,離散特徵只會參與一次節點的建立。

對於cart分類樹離散值的處理問題,採用的思路是不停的二分離散特徵。

回憶下id3或者c4.5,如果某個特徵a被選取建立決策樹節點,如果它有a1,a2,a3三種類別,我們會在決策樹上一下建立乙個三叉的節點。這樣導致決策樹是多叉樹。但是cart分類樹使用的方法不同,他採用的是不停的二分,還是這個例子,cart分類樹會考慮把a分成和, 和, 和三種情況,找到基尼係數最小的組合,比如和,然後建立二叉樹節點,乙個節點是a2對應的樣本,另乙個節點是對應的節點。同時,由於這次沒有把特徵a的取值完全分開,後面我們還有機會在子節點繼續選擇到特徵a來劃分a1和a3。這和id3或者c4.5不同,在id3或者c4.5的一棵子樹中,離散特徵只會參與一次節點的建立。"這段話是劉建平老師部落格裡的講解,其實對於回歸樹同樣適用,不同的是依據使平方誤差和最小的準則去選擇最優特徵和最優切分點

李航《統計學習方法》

劉建平老師部落格

決策樹(CART演算法)

分類問題中,假設有k個類,樣本點屬於第k類的概率為p kp k pk 則概率分布的基尼指數定義為 其中p kp k pk 表示選中的樣本屬於k kk類別的概率,則這個樣本被分錯的概率為 1 pk 1 p k 1 pk 對於給定的樣本集合d,其基尼指數為 這裡的c kc k ck 是d中屬於第k類的樣...

決策樹(三) CART演算法

cart 分類與回歸樹 也就是說cart演算法既可以用於分類,也可以用於回歸,它是在給定輸入隨機變數x條件下輸出隨機變數y的條件概率分布的學習方法,其也和回歸樹一樣是二叉樹。是cart演算法,也是分為 特徵選擇,樹的生成,樹的剪枝。其實感覺前兩步可以合併為一步,因為樹的生成過程中就是不斷的進行特徵的...

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...