決策樹

決策樹

決策樹說白了就好像是if-else結構一樣,它的結果就是你要生成這個一個可以從根開始不斷判斷選擇到葉子節點的樹,但是這裏的if-else必然不會是讓我們人爲去設置的,我們要做的是提供一種方法,計算機可以根據這種方法得到我們所需要的決策樹。這個方法的重點就在於如何從這麼多的特徵中選擇出有價值的,並且按照最好的順序由根到葉選擇。完成了這個我們也就可以遞歸構造一個決策樹了。
決策樹思想,實際上就是尋找最純淨的劃分方法,這個最純淨在數學上叫純度,純度通俗點理解就是目標變量要分得足夠開(y=1的和y=0的混到一起就會不純)。另一種理解是分類誤差率的一種衡量。實際決策樹算法往往用到的是,純度的另一面也即不純度,下面是不純度的公式。不純度的選取有多種方法,每種方法也就形成了不同的決策樹方法,比如ID3算法使用信息增益作爲不純度;C4.5算法使用信息增益率作爲不純度;CART算法使用基尼係數作爲不純度。
決策樹要達到尋找最純淨劃分的目標要幹兩件事:建樹和剪枝
一、建樹:
1. 信息增益(ID3算法):
在信息論中,期望信息越小,那麼信息增益就越大,從而純度就越高。ID3算法的核心思想就是以信息增益來度量屬性的選擇,選擇分裂後信息增益最大的屬性進行分裂。該算法採用自頂向下的貪婪搜索遍歷可能的決策空間。
1) 信息熵與信息增益:
在信息增益中,重要性的衡量標準就是看特徵能夠爲分類系統帶來多少信息,帶來的信息越多,該特徵越重要。在認識信息增益之前,先來看看信息熵的定義。熵這個概念最早起源於物理學,在物理學中是用來度量一個熱力學系統的無序程度,而在信息學裏面,熵是對不確定性的度量。在1948年,香農引入了信息熵,將其定義爲離散隨機事件出現的概率,一個系統越是有序,信息熵就越低,反之一個系統越是混亂,它的信息熵就越高。所以信息熵可以被認爲是系統有序化程度的一個度量。
假如一個隨機變量X的取值爲X={x1,x2,..., xn},每一種取到的概率分別是{p1, p2,..., pn},那麼X的熵定義爲
意思是一個變量的變化情況可能越多,那麼它攜帶的信息量就越大。
對於分類系統來說,類別C是變量,它的取值是C1, C2,..., Cn,而每一個類別出現的概率分別是P(C1), P(C2),..., P(Cn), 而這裏的n就是類別的總數,此時分類系統的熵就可以表示爲
以上就是信息熵的定義,接下來介紹信息增益。
信息增益是針對一個一個特徵而言的,就是看一個特徵t,系統有它和沒有它時的信息量各是多少,兩者的差值就是這個特徵給系統帶來的信息量,即信息增益。
接下來以天氣預報的例子來說明。下面是描述天氣數據表,學習目標是play或者not play。
可以看出,一共14個樣例,包括9個正例和5個負例。那麼當前信息的熵計算如下
在決策樹分類問題中,信息增益就是決策樹在進行屬性選擇劃分前和劃分後信息的差值。假設利用屬性Outlook來分類,那麼如下圖
劃分後,數據被分爲三部分了,那麼各個分支的信息熵計算如下
那麼劃分後的信息熵爲
Entropy(S|T)代表在特徵屬性T的條件下樣本的條件熵。那麼最終得到特徵屬性T帶來的信息增益爲
信息增益的計算公式如下
其中S爲全部樣本集合,value(T)是屬性T所有取值的集合,vT的其中一個屬性值,SvS中屬性T的值爲v的樣例集合,|Sv|Sv中所含樣例數。
在決策樹的每一個非葉子結點劃分之前,先計算每一個屬性所帶來的信息增益,選擇最大信息增益的屬性來劃分,因爲信息增益越大,區分樣本的能力就越強,越具有代表性,很顯然這是一種自頂向下的貪心策略。以上就是ID3算法的核心思想。
 
Reference:
http://blog.csdn.net/acdreamers/article/details/44661149
http://www.cnblogs.com/fionacai/p/5894142.html
http://www.cnblogs.com/leoo2sk/archive/2010/09/19/decision-tree.html
http://wiki.mbalib.com/wiki/%E5%86%B3%E7%AD%96%E6%A0%91
posted @ 2017-10-17 22:32 劉川楓 閱讀(...) 評論(...) 編輯 收藏
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章