決策樹與隨機森林

決策樹(decision tree)是一種基本的分類與回歸方法,本文主要討論用于分類的決策樹。決策樹模型呈樹形結構,在分類問題中,表示基于特征對實例進行分類的過程。它可以認為是if-then規則的集合,也可以認為是定義在特征空間與類空間上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹學習通常包括三個步驟:特征選擇,決策樹的生成和決策樹的修剪。而隨機森林則是由多個決策樹所構成的一種分類器,更準確的說,隨機森林是由多個弱分類器組合形成的強分類器。

本文將先對決策樹特征選擇的算法ID3, C4.5和CART進行計算,然后介紹決策樹的剪枝策略,最后介紹隨機森林。


預備知識

條件熵

信息論中,條件熵描述了在已知第二個隨機變量X的前提下,隨機變量Y的信息熵還剩多少?;赬條件的Y的信息熵,用H(Y|X)表示。

如果H(Y|X=x)為變數Y在變數X取特定值x條件下的熵,那么H(Y|X)就是H(Y|X=x)在X取遍所有可能的x后取平均的結果。


我們可以借助上圖來幫助理解熵和條件熵:紅色的整個圓表示變量X的熵,藍色的整個圓表示變量Y的熵。
首先,熵可以理解為事件的不確定性,聯系到上面的X, Y就是H(X)表示的是未知的不確定的X(也即紅色的圓),而藍色的則表示未知不確定的Y,而條件熵表示的是在知道某一事件后對另一事件未知性的減少(前提是這兩個事件有交集)。放在上面則是知道確定了X后Y的不確定性還剩多少,也就是右側藍色的圓減去兩個圓交叉的部分后剩余的,這就是條件熵H(Y|X)。
現在理解了條件熵,那么兩事件X, Y中間的交集互信息該如何理解呢?既然條件熵是知曉了X后Y未知性還剩余的多少,那么互信息就可以理解為知曉了事件X后Y事件有多少也是可以確定的,也即X對Y造成的干擾部分,即為互信息I(X; Y)。
而聯合熵就比較好理解了,就是事件X未知性和事件Y的未知性之和減去他們的交集部分。

首先需要知道的是熵的公式:

隨機變量X的熵
對上式做簡單的說明:
(1)P(xi)表示事件xi的概率;
(2)-P(xi)logP(xi)表示事件xi的熵;

條件熵的推導公式如下:

根據條件熵的定義式,可以得到:
上式最后可以看做是給定X條件下,Y的熵值的期望

決策樹生成算法

決策樹分類從根節點開始,對實例的某一特征進行測試,根據測試結果將實例分配到其子節點。每一個子節點對應著該特征的一個取值。如此遞歸地對實例進行測試并分配,直至達到葉節點,最后將實例分配到葉節點的類中。

決策樹學習的算法通常是一個遞歸地選擇最優特征,并根據該特征對訓練數據進行劃分。如果利用一個特征進行分類的結果與隨機分類的結果沒有很大差別,則稱這個特征是沒有分類能力的。通常特征選擇的準則是信息增益或信息增益比,特征選擇的常用算法有ID3,C4.5,CART。

信息增益

信息增益表示得知特征A的信息而使得數據X的信息的不確定性的程度。
信息增益定義:特征A對訓練數據集D的信息增益g(D, A)定義為集合D的經驗熵H(D)與給定特征A的條件下D的經驗條件熵H(D|A)之差,即:

信息增益,也叫作互信息

根據信息增益選擇特征的方法是:對于給定數據集D,計算其每個特征的信息增益,并比較他們的大小,選擇信息增益最大的特征。使用信息增益選擇特征的算法稱為C3算法。

基本記號:

信息增益的計算方法:
信息增益比

信息增益值的大小是相對于訓練數據集而言的,并沒有絕對意義。在分類為題困難時,也就是說在訓練數據集的經驗熵大的時候,信息增益值會偏大。反之,信息增益值會偏小。因此,使用信息增益比可以對這一問題進行校正,這是另一種特征選擇算法,也即C4.5算法。

信息增益比定義:特征A對訓練數據集D的信息增益比gR(D, A)定義為其信息增益g(D, A)與訓練集D的經驗熵之比:

信息增益比

基尼指數

基尼指數是CART分類樹用來選擇最優特征的算法,同時決定了該特征的最優二值切分點。

定義:假設有K個類,樣本點屬于第k類的概率為pk,則概率分布的基尼指數定義:

對于給定的樣本集合D,其基尼指數為:


這里,Ck是D中屬于第k類的樣本子集,K是類的個數。

一個特征的信息增益/基尼系數越大,表明特征對樣本的熵減少的能力更強,這個特征使得數據由不確定性變成確定性的能力越強。

決策樹的剪枝

決策樹生成算法產生的決策樹對于訓練數據的分類往往很準確,但對于未知數據的分類卻沒有這么準確,即容易出現過擬合情況。解決的辦法便是考慮樹的復雜度,對已生成的樹進行剪枝簡化。

決策樹的剪枝往往通過極小化決策樹整體的損失函數來實現。
設樹T的葉節點個數為|T|,t是樹T的葉節點,該葉節點有Nt個樣本點,其中k類的樣本點有Ntk個,k=1,2,3...K, Ht(T)為葉節點t上的經驗熵, α>=0為參數,則決策樹學習的損失函數可以定義為:

α|T|可看作是模型復雜度的正則化項
其中經驗熵為:
在損失函數式子中,等式右端第一項記作:
C(T)為模型與預測數據的擬合程度
最后,損失函數表示為:
image.png

損失函數中C(T)表示模型對訓練數據的預測誤差,也即擬合程度。|T|表示模型復雜度,即節點越多模型越復雜,使用參數α來控制兩者之間的影響。α越大模型越簡單,對數據擬合差;α越小模型越復雜,對數據擬合性好;α=0時則不考慮模型復雜度。

因此,剪枝就是在確定了α時,選擇損失函數最小的樹。


隨機森林

參考:
《統計學習方法》李航
機器學習. 鄒博

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容