決策樹(decision tree)是一個(gè)樹結(jié)構(gòu)(可以是二叉樹或非二叉樹)呼股。其每個(gè)非葉節(jié)點(diǎn)表示一個(gè)特征屬性上的測(cè)試按脚,每個(gè)分支代表這個(gè)特征屬性在某個(gè)值域上的輸出,而每個(gè)葉節(jié)點(diǎn)存放一個(gè)類別。使用決策樹進(jìn)行決策的過程就是從根節(jié)點(diǎn)開始败京,測(cè)試待分類項(xiàng)中相應(yīng)的特征屬性,并按照其值選擇輸出分支梦染,直到到達(dá)葉子節(jié)點(diǎn)赡麦,將葉子節(jié)點(diǎn)存放的類別作為決策結(jié)果[1]
下面先來看一個(gè)小例子,看看決策樹到底是什么概念:
決策樹的訓(xùn)練數(shù)據(jù)往往就是這樣的表格形式帕识,表中的前三列(ID不算)是數(shù)據(jù)樣本的屬性泛粹,最后一列是決策樹需要做的分類結(jié)果。通過該數(shù)據(jù)肮疗,構(gòu)建的決策樹如下:
顯然晶姊,在每一個(gè)非葉節(jié)點(diǎn)選擇哪一個(gè)特征作為分支的標(biāo)準(zhǔn),是構(gòu)建決策樹的核心問題伪货。
信息熵
信息熵就是解決我們上面標(biāo)準(zhǔn)選擇問題的一個(gè)重要指標(biāo)们衙。
一方面,熵是一個(gè)用來形容系統(tǒng)混亂程度的物理量碱呼。假設(shè)有135個(gè)點(diǎn)分布在二維平面上蒙挑,并且這些點(diǎn)分別屬于兩類。分布如下:
假設(shè)兩種類別的點(diǎn)(Rreen和Ged)分別有70和65個(gè)愚臀,概率分布如下:
X | G | R |
---|---|---|
P |
從中隨機(jī)選擇一個(gè)點(diǎn)忆蚀,得到兩種類別的點(diǎn)的概率很相近,整個(gè)系統(tǒng)是一個(gè)完全混亂的整體姑裂。
假設(shè)我們按照?qǐng)D中的方式將所有的點(diǎn)一分為馋袜。左側(cè)有65個(gè)點(diǎn),其中60個(gè)為Green炭分,5個(gè)為Red桃焕,則概率分布如下:
X | G | R |
---|---|---|
P |
我們?cè)僭谧髠?cè)的點(diǎn)中隨機(jī)選擇,顯然屬于Green的概率要大很多捧毛,在預(yù)測(cè)的時(shí)候观堂,預(yù)測(cè)Green的正確率就高很多让网。
從兩種情況的混亂程度來看,第一種情況比第二種情況要混亂很多师痕,這種混亂程度和不同類別的概率有關(guān)溃睹。
另一方面,一個(gè)事件發(fā)生所包含的信息量和這個(gè)事件發(fā)生的概率有關(guān)的胰坟,即一個(gè)事件發(fā)生的概率越小因篇,這個(gè)事件包含的概率就越大。比如學(xué)校每天正常八點(diǎn)響鈴笔横,但是如果某一天八點(diǎn)沒有響鈴竞滓,沒有響鈴這個(gè)小概率事件包含的信息,明顯比正常響鈴這個(gè)大概率事件多吹缔。
因此商佑,概率分布就把一個(gè)事件發(fā)生所傳遞的信息和熵聯(lián)系起來了,這種熵就稱為信息熵厢塘。
信息熵的定義
假設(shè)變量的取值包含茶没,概率分布如下:
X | … | |||
---|---|---|---|---|
P | ... |
那么X包含的信息熵定義為:
條件熵
:發(fā)生所包含的熵,減去發(fā)生所包含的熵:即在X發(fā)生的前提下晚碾,Y的發(fā)生所帶來的新的熵抓半,就是X發(fā)生的條件下,Y發(fā)生的條件熵格嘁。
接下來推導(dǎo)的計(jì)算公式:
相對(duì)熵
相對(duì)熵又稱為互熵笛求,交叉熵,鑒定信息讥蔽,Kullback熵等涣易。
設(shè)和是X中取值的兩種概率分布,則p對(duì)q的相對(duì)熵是:
互信息
兩個(gè)隨機(jī)變量的互信息冶伞,定義為X,Y的聯(lián)合分布和獨(dú)立分布乘積的相對(duì)熵步氏。
從公式可以看出响禽,互信息其實(shí)度量的是和這兩個(gè)概率分布的距離。如果X和Y的分布是完全獨(dú)立的荚醒,就會(huì)有芋类。代入公式就可以得到兩個(gè)變量的互信息為0。
如果我們用減去:
互信息的物理意義
從上面的推到界阁,我們可以得到等式:
也可以得到不等式:
侯繁,
也就是說,只要X和Y不是完全獨(dú)立泡躯,而是存在某些聯(lián)系贮竟,那么只要在給定其中一個(gè)做為條件的情況下丽焊,另一個(gè)事件所包含的信息量都會(huì)減少。
這些物理量的關(guān)系可以整理成一個(gè)Venn圖:
決策樹的構(gòu)建
再來看上面的例子:
在根結(jié)點(diǎn)中咕别,是否償還債務(wù)的概率分布為:
是否償還債務(wù) | 是 | 否 |
---|---|---|
P | 7 | 3 |
信息熵:
在根據(jù)是否擁有房產(chǎn)進(jìn)行劃分之后:
擁有房產(chǎn)的部分:
是否償還債務(wù) | 是 | 否 |
---|---|---|
P | 3 | 0 |
信息熵:
沒有房產(chǎn)的部分:
是否償還債務(wù) | 是 | 否 |
---|---|---|
P | 4 | 3 |
信息熵:
我們考慮分支前后的熵的變化技健,對(duì)分支之后的熵求加權(quán)平均,計(jì)算可得:
顯然這應(yīng)該是一次有效的分支惰拱,因?yàn)殪刈冃∫馕吨w變得更加有序雌贱。從分類的直觀效果來看,對(duì)于有房產(chǎn)的樣本偿短,可以直接判斷為可以償還債務(wù)欣孤。而且很容易理解,熵下降得越快昔逗,分支就越有效导街。
決策樹學(xué)習(xí)
決策樹學(xué)習(xí)采用的是自頂向下的遞歸方法,其基本思想是以信息熵為度量構(gòu)造一棵熵值下降最快的樹纤子,到葉節(jié)點(diǎn)處的熵值為零搬瑰,此時(shí)每一個(gè)葉節(jié)點(diǎn)中的實(shí)力都屬于同一類。
實(shí)際過程中我們通常會(huì)采用一些剪枝的策略控硼,來避免熵值為零的情況泽论,因?yàn)殪刂禐榱阃ǔR馕吨鴮?duì)訓(xùn)練數(shù)據(jù)的過擬合。
建立決策樹的關(guān)鍵卡乾,即為在當(dāng)前狀態(tài)下選擇哪一個(gè)屬性作為分類依據(jù)翼悴。根據(jù)不同的目標(biāo)函數(shù),建立決策樹主要有以下三種算法:
- ID3
- Iterative Dichotomiser
- C4.5
- CART
- Classification and Regression Tree
信息增益
當(dāng)熵和條件中的概率由數(shù)據(jù)估計(jì)(特別是極大似然估計(jì))得到時(shí)幔妨,所對(duì)應(yīng)的熵和條件熵分別分別稱為經(jīng)驗(yàn)熵和經(jīng)驗(yàn)條件熵鹦赎。
信息增益表示得知特征A的信息而使得類X的信息的不確定性減少的程度。
定義:特征A對(duì)訓(xùn)練數(shù)據(jù)集D的信息增益误堡,定義為集合D的經(jīng)驗(yàn)熵和特征A給定條件下D的經(jīng)驗(yàn)條件熵之差古话。
其他目標(biāo)
信息增益率:
-
Gini系數(shù)
三種決策樹的學(xué)習(xí)策略
- ID3:使用信息增益、互信息進(jìn)行特征選擇
- 取之多的屬性锁施,更容易使得數(shù)據(jù)更純陪踩,起信息增益更大
- 訓(xùn)練得到的是一棵龐大且深度淺的樹,不合理
- C4.5:信息增益率
- CART:基尼系數(shù)