1?決策樹(shù)模型與學(xué)習(xí)
1.1?決策樹(shù)模型
??定義 5.1 (決策樹(shù))?分類決策樹(shù)模型是描述對(duì)實(shí)例進(jìn)行分類的樹(shù)形結(jié)構(gòu)。決策樹(shù)由 結(jié)點(diǎn) (node) 和 有向邊(directed edge) 組成加匈。結(jié)點(diǎn)有兩種類型:內(nèi)部結(jié)點(diǎn)與外部結(jié)點(diǎn)凳宙。內(nèi)部結(jié)點(diǎn)表示一個(gè)特征或?qū)傩?/strong>,外部結(jié)點(diǎn)表示一個(gè)類。
1.2?決策樹(shù)與 if-then 規(guī)則
??可以將決策樹(shù)看做一個(gè) if-then 規(guī)則的集合挑宠。從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的每一條路徑都可以看做是一個(gè)規(guī)則:
??(1) 內(nèi)部節(jié)點(diǎn)的特征對(duì)應(yīng)著規(guī)則的條件;
??(2) 葉節(jié)點(diǎn)的類對(duì)應(yīng)著規(guī)則的結(jié)論颓影。
??這樣的規(guī)則具有互斥性和完備性各淀,即每一個(gè)實(shí)例都由一條路徑覆蓋,并且這個(gè)實(shí)例只能被這條路徑覆蓋诡挂。
?? k 近鄰算法可以完成很多分類任務(wù)碎浇,但是其最大的缺點(diǎn)是無(wú)法給出數(shù)據(jù)的內(nèi)在含義。決策樹(shù)由于采用 if-then 規(guī)則從而具有較好的可解釋性璃俗。
1.3?決策樹(shù)與條件概率分布
??決策樹(shù)還表示給定特征條件下類的條件概率分布奴璃。這一條件概率分布定義在特則空間的一個(gè)劃分上。將特征空間劃分為互不相交的單元或區(qū)域旧找,并在每個(gè)單元定義一個(gè)類的概率分布就構(gòu)成了一個(gè)條件概率分布。決策樹(shù)的一條路徑對(duì)應(yīng)于劃分中的一個(gè)單元麦牺。決策樹(shù)所表示的條件概率分布由各個(gè)單元給定條件下類的條件概率分布組成钮蛛。
1.4?決策樹(shù)學(xué)習(xí)
??給定訓(xùn)練數(shù)據(jù)集其中鞭缭,
為輸入實(shí)例,
為特征個(gè)數(shù)魏颓,
為類標(biāo)記岭辣,
,
為樣本容量甸饱。
??● 決策樹(shù)的目標(biāo):根據(jù)給定數(shù)據(jù)集構(gòu)建一個(gè)決策樹(shù)模型沦童,使它能夠?qū)?shí)例進(jìn)行正確的分類;
??● 決策樹(shù)學(xué)習(xí)的本質(zhì):從訓(xùn)練集中歸納出一組分類規(guī)則叹话,或者說(shuō)是由訓(xùn)練數(shù)據(jù)集估計(jì)條件概率模型偷遗;
??● 決策樹(shù)學(xué)習(xí)的損失函數(shù):正則化的極大似然函數(shù);
??● 決策樹(shù)的學(xué)習(xí)算法包含特征選擇驼壶、決策樹(shù)的生成與決策樹(shù)的剪枝三個(gè)過(guò)程氏豌;
??● 決策樹(shù)學(xué)習(xí)常用的算法有 ID3、C4.5 與 CART热凹。
2?特征選擇
??特征選擇在于選取對(duì)訓(xùn)練數(shù)據(jù)集具有分類能力的特征泵喘,這樣可以提高決策樹(shù)學(xué)習(xí)的效率。通常特征選擇的準(zhǔn)則是信息增熵或信息增益比般妙。
2.1?信息增益
-
信息熵
??信息熵 (entropy) 是表示隨機(jī)變量不確定性的度量纪铺。熵越大,則隨機(jī)變量的不確定性就越大碟渺。設(shè)是一個(gè)取有限值的離散隨機(jī)變量鲜锚,其概率分布為
則隨機(jī)變量
的熵定義為:
若有 0 概率,則定義
止状。 通常烹棉,式中的對(duì)數(shù)以 2 為底或以
為底,這是熵的單位分別稱為比特 (bit)或納特 (nat)怯疤。由于熵只依賴于
的分布浆洗,而與
的取值無(wú)關(guān),故也可將
的熵記作
集峦。從定義驗(yàn)可驗(yàn)證
伏社。
這里給出
的證明:
證明:
??信息熵的非負(fù)性是顯然的,這里只證明塔淤。這個(gè)證明是容易的:不妨設(shè)
以自然對(duì)數(shù)為底摘昌,那么
??因此,根據(jù)對(duì)數(shù)不等式取等號(hào)的條件高蜂,
聪黎,即
當(dāng)且僅當(dāng)
,
時(shí)备恤,等號(hào)成立稿饰。Q.E.D.
-
條件信息熵
??設(shè)有隨機(jī)變量锦秒,其聯(lián)合概率分布為
??條件熵 (conditional entropy)
表示在已知隨機(jī)變量
的條件下隨機(jī)變量
的不確定性,定義為
給定條件
的條件概率分布的熵對(duì)
的數(shù)學(xué)期望
這里
喉镰,
旅择。若有 0 概率,則定義
侣姆。
??當(dāng)熵和條件熵中的概率由數(shù)據(jù)估計(jì)(尤其是極大似然估計(jì))得到時(shí)生真,所對(duì)應(yīng)的熵與條件熵分別稱為經(jīng)驗(yàn)熵和經(jīng)驗(yàn)條件熵。
-
信息增益
??信息增益 (information gain) 表示得知特征的信息而使得類
的信息的不確定性減少的程度捺宗。
??定義 5.2 (信息增益)?特征對(duì)訓(xùn)練數(shù)據(jù)集
的信息增益
柱蟀,定義為集合
對(duì)經(jīng)驗(yàn)熵
與特征
給定條件下
的經(jīng)驗(yàn)條件熵
之差,即
??一般的偿凭,熵
與條件熵
之差稱為互信息 (mutual information)产弹。
??決策樹(shù)學(xué)習(xí)應(yīng)用信息增益準(zhǔn)則選擇特征。由于信息增益表示一個(gè)特征對(duì)數(shù)據(jù)集的分類的不確定性減少的程度弯囊,故信息增益越大的特征往往具有更強(qiáng)的分類能力痰哨。
- 更多有關(guān)熵、條件熵匾嘱、信息增益的數(shù)學(xué)性質(zhì)可參考:熵斤斧、條件熵和互信息的性質(zhì)
- 如果不理解熵、條件熵霎烙、信息增益的概念可參考:通俗理解信息增益
2.2?信息增益比
??以信息增益作為劃分訓(xùn)練數(shù)據(jù)集的特征撬讽,存在偏向于選擇取值較多的特征的問(wèn)題。使用信息增益比 (information gain ratio) 可以對(duì)這一問(wèn)題進(jìn)行校正悬垃。這是特征選擇的另一準(zhǔn)則游昼。
??定義 5.2 (信息增益比)?特征 對(duì)訓(xùn)練數(shù)據(jù)集
的信息增益比
,定義為信息增益
與訓(xùn)練數(shù)據(jù)集
關(guān)于特征
的值的熵
之比尝蠕,即
其中烘豌,
,
為特征
的取值的個(gè)數(shù)看彼。
3?決策樹(shù)的生成
3.1?ID3 算法與 C4.5 算法
??從第 2 小節(jié)信息論相關(guān)的知識(shí)中我們知道:信息熵越大廊佩,從而樣本純度越低。ID3 算法的核心思想就是在決策樹(shù)的各個(gè)結(jié)點(diǎn)以信息增益準(zhǔn)則來(lái)進(jìn)行特征選擇靖榕,遞歸地構(gòu)建決策樹(shù)标锄。 其大致步驟為:
??(1) 從根結(jié)點(diǎn)開(kāi)始,對(duì)結(jié)點(diǎn)計(jì)算所有可能的特征的信息增益茁计;
??(2) 選擇信息增益最大的特征作為該結(jié)點(diǎn)的特征料皇;
??(3) 根據(jù)步驟 (2) 所選取特征的不同取值建立子節(jié)點(diǎn)(即按照特征的取值來(lái)劃分不同分支的數(shù)據(jù)集合),再對(duì)子節(jié)點(diǎn)遞歸地調(diào)用步驟 (1);
??(4) 重復(fù)上述步驟践剂,若子集只包含單一特征或子集中的信息增熵小于閾值毒返,則設(shè)為單節(jié)點(diǎn)。直至生成最后一棵單節(jié)點(diǎn)決策樹(shù)舷手。
從 ID3 算法的具體步驟我們分析不難發(fā)現(xiàn)其可能具有如下缺點(diǎn):
- 采用信息增益準(zhǔn)則對(duì)可取值數(shù)目較多的特征有所偏好 (如類似“編號(hào)”的特征);
- 只能用于處理離散分布的特征 (這是因?yàn)檫B續(xù)分布的特征取值數(shù)目會(huì)很大)劲绪;
??為了克服 ID3 的上述缺點(diǎn)男窟,我們可以采取如下方法:
??(1) 對(duì)于特征取值數(shù)目的偏重這一缺點(diǎn),采用引入信息增益比作為分類標(biāo)準(zhǔn)的 C4.5 算法來(lái)進(jìn)行決策樹(shù)的生成贾富;
??(2) 對(duì)于無(wú)法處理連續(xù)分布的特征歉眷,可以將連續(xù)特征離散化,C4.5 算法中采用的方法如下:先將特征取值排序颤枪,以連續(xù)兩個(gè)值中間值作為劃分標(biāo)準(zhǔn)汗捡。嘗試每一種劃分,并計(jì)算修正后的信息增益畏纲,選擇信息增益最大的分裂點(diǎn)作為該屬性的分類點(diǎn)扇住。
??信息增益率對(duì)可取值較少的特征有所偏好(分母越小,整體越大)盗胀,因此實(shí)際上 C4.5 算法可以采用一種類似于啟發(fā)式方法進(jìn)行改進(jìn):先從特征中找到信息增益高于某一閾值(如平均值)的特征艘蹋,再?gòu)闹羞x擇信息增益率最高的。
4?決策樹(shù)的剪枝
??決策樹(shù)的剪枝處理——從已經(jīng)生成的決策樹(shù)上裁掉一些子樹(shù)或者葉節(jié)點(diǎn)票灰,并將其根節(jié)點(diǎn)或者父節(jié)點(diǎn)作為新的葉節(jié)點(diǎn)女阀,從而簡(jiǎn)化分類樹(shù)模型。
??決策樹(shù)的剪枝往往通過(guò)極小化決策樹(shù)整體的損失函數(shù)來(lái)實(shí)現(xiàn)屑迂。設(shè)樹(shù) 的葉結(jié)點(diǎn)個(gè)數(shù)為
浸策,
是樹(shù)
的葉結(jié)點(diǎn),該葉結(jié)點(diǎn)有
個(gè)樣本點(diǎn)惹盼,其中
類樣本點(diǎn)有
個(gè)庸汗,
,
為葉結(jié)點(diǎn)
上的經(jīng)驗(yàn)熵逻锐,
為參數(shù)夫晌,則決策樹(shù)學(xué)習(xí)的損失函數(shù)可以定義為
其中經(jīng)驗(yàn)熵為
??不難發(fā)現(xiàn),上式定義的損失函數(shù)極小化等價(jià)于正則化的極大似然估計(jì)昧诱。
5?CART 算法
??CART (classification and regression tree):分類與回歸樹(shù)晓淀,可以用于分類與回歸。
??CART 是在給定輸入隨機(jī)變量 條件下輸出隨機(jī)變量
的條件概率分布的學(xué)習(xí)方法盏档。CART 假設(shè)決策樹(shù)是二叉樹(shù)凶掰,這樣的決策樹(shù)等價(jià)于遞歸地二分每個(gè)特征粉捻,將輸入空間即特征空間劃分為有限個(gè)單元,并在這些單元上確定預(yù)測(cè)的概率分布袄琳,也就是在輸入給定的條件下輸出的條件概率分布婶恼。
5.1?CART 生成
??決策樹(shù)的生成就是遞歸地構(gòu)建二叉樹(shù)的過(guò)程,對(duì)回歸樹(shù)用平方誤差最小準(zhǔn)則畅涂,對(duì)分類樹(shù)用基尼指數(shù)最小化準(zhǔn)則港华。
??1. 回歸樹(shù)的生成
??算法 5.5 (最小二乘回歸樹(shù)生成算法)
??輸入:訓(xùn)練數(shù)據(jù)集 ;
??輸出:回歸樹(shù) 午衰;
??在訓(xùn)練數(shù)據(jù)集所在的輸入空間中立宜,遞歸地將每個(gè)區(qū)域劃分為兩個(gè)子區(qū)域并決定每個(gè)子區(qū)域的輸出值,構(gòu)建二叉決策樹(shù):
??(1) 選擇最優(yōu)切分變量 與切分點(diǎn)
臊岸,求解
??遍歷變量
橙数,對(duì)固定的切分變量
掃描切分點(diǎn)
,選擇使上式達(dá)到最小的
帅戒;
??(2) 對(duì)選定的 劃分區(qū)域并決定相應(yīng)的輸出值:
??(3) 繼續(xù)對(duì)兩個(gè)子區(qū)域調(diào)用步驟 (1)灯帮,(2),直至滿足停止條件逻住;
??(4) 將輸入空間劃分為 個(gè)區(qū)域
钟哥,生成決策樹(shù):
??2. 分類樹(shù)的生成
??定義 5.4 (基尼指數(shù))?分類問(wèn)題中,假設(shè)有 個(gè)類瞎访,樣本點(diǎn)屬于第
類的概率為
瞪醋,則概率分布的基尼指數(shù)定義為
對(duì)于二分類問(wèn)題,若樣本點(diǎn)屬于第一個(gè)類的概率是
装诡,則概率分布的基尼指數(shù)為
對(duì)于給定的樣本集合
银受,其基尼指數(shù)為
這里,
是
中屬于第
類的樣本子集鸦采,
是類的個(gè)數(shù)宾巍。
??若樣本集合 根據(jù)特征
是否取某一可能值
被分割成
和
兩個(gè)部分,即
則在特征
的條件下渔伯,集合
的基尼指數(shù)定義為
基尼指數(shù)
表示集合
的不確定性顶霞,基尼指數(shù)
表示集合
經(jīng)過(guò)
分割后的不確定性。基尼指數(shù)越越大锣吼,表示樣本集合的不確定性也就越大选浑。
??算法 5.6 (CART 生成算法)
??輸入:訓(xùn)練數(shù)據(jù)集 ,停止計(jì)算的條件玄叠;
??輸出:CART 決策樹(shù)古徒;
??(1) 計(jì)算現(xiàn)有特征對(duì)數(shù)據(jù)集的基尼指數(shù),對(duì)每一個(gè)特征 读恃,對(duì)其可能取的每個(gè)值
隧膘,將
劃分成
與
代态,計(jì)算
時(shí)的基尼指數(shù)。
??(2) 在所有可能的特征 以及它所有可能的切分點(diǎn)
中疹吃,選擇基尼指數(shù)最小的特征及其對(duì)應(yīng)的切分點(diǎn)作為最優(yōu)特征與最優(yōu)切分點(diǎn)蹦疑。根據(jù)其將數(shù)據(jù)分配到兩個(gè)子節(jié)點(diǎn)中去。
??(3) 對(duì)兩個(gè)子節(jié)點(diǎn)遞歸地調(diào)用 (1)萨驶,(2)歉摧,直至滿足停止條件。
??(4) 生成 CART 決策樹(shù)
??算法的停止條件是節(jié)點(diǎn)中的樣本個(gè)數(shù)小于閾值腔呜,或樣本集的基尼指數(shù)小于預(yù)定閾值判莉,或者沒(méi)有更多的特征。
5.2?CART 剪枝
??算法 5.7 (CART 剪枝算法)
??輸入:CART 算法生成的決策樹(shù)育谬;
??輸出:最優(yōu)決策樹(shù) ;
??(1) 設(shè) 帮哈,
膛檀;
??(2) 設(shè) ;
??(3) 自下而上地對(duì)各內(nèi)部結(jié)點(diǎn) 計(jì)算
娘侍,
以及
??其中咖刃,
表示以
為根結(jié)點(diǎn)的子樹(shù),
為預(yù)測(cè)誤差憾筏,
為
的葉結(jié)點(diǎn)個(gè)數(shù)嚎杨;
??(4) 對(duì) 的內(nèi)部結(jié)點(diǎn)
進(jìn)行剪枝,并以多數(shù)表決法決定其類氧腰,得到樹(shù)
枫浙;
??(5) 設(shè) ,
古拴,
箩帚;
??(6) 若 不是由根節(jié)點(diǎn)及兩個(gè)葉結(jié)點(diǎn)構(gòu)成的樹(shù),則回到步驟 (2)黄痪;否則令
??(7) 采用交叉驗(yàn)證法在子樹(shù)數(shù)列 中選取最優(yōu)子樹(shù)
紧帕。
6?習(xí)題
習(xí)題6.1?根據(jù)表 5.1 所給訓(xùn)練集,運(yùn)用 C4.5 算法生成決策樹(shù)桅打。
解:
(1) 根據(jù)例題 5.2是嗜,我們得到:
數(shù)據(jù)集 的經(jīng)驗(yàn)熵:
(年齡) 對(duì)數(shù)據(jù)集
的信息增益:
(有工作) 對(duì)數(shù)據(jù)集
的信息增益:
(有自己的房子) 對(duì)數(shù)據(jù)集
的信息增益:
(信貸情況) 對(duì)數(shù)據(jù)集
的信息增益:
(2) 計(jì)算數(shù)據(jù)集 關(guān)于各個(gè)特征
,
的值的熵:
(3) 計(jì)算各特征對(duì)數(shù)據(jù)集 的信息增益比:
(4) 由于特征 (有自己的房子) 的信息增益比最大挺尾,所以選擇特征
作為根節(jié)點(diǎn)的特征鹅搪。它將訓(xùn)練數(shù)據(jù)集
劃分為兩個(gè)子集
(
取值為“是”) 和
(
取值為“否”)。由于
只有同一類的樣本點(diǎn)遭铺,所以它成為一個(gè)葉結(jié)點(diǎn)涩嚣,結(jié)點(diǎn)的類標(biāo)記為“是”崇众。
(5) 對(duì) 則需從特征
中選擇新的特征。根據(jù)例題 5.3航厚,我們得到:
(年齡) 對(duì)數(shù)據(jù)集
的信息增益:
(有工作) 對(duì)數(shù)據(jù)集
的信息增益:
(信貸情況) 對(duì)數(shù)據(jù)集
的信息增益:
(6) 計(jì)算數(shù)據(jù)集 關(guān)于各個(gè)特征
的值的熵:
(7) 計(jì)算各特征對(duì)數(shù)據(jù)集 的信息增益比:
(8) 由于特征 (有工作) 的信息增益比最大顷歌,所以選擇特征
作為葉結(jié)點(diǎn)的特征。它將訓(xùn)練數(shù)據(jù)集
劃分為兩個(gè)子集
(
取值為“是”) 和
(
取值為“否”)幔睬。由于
,
都只有同一類的樣本點(diǎn)眯漩,所以它們分別成為一個(gè)葉結(jié)點(diǎn),結(jié)點(diǎn)的類標(biāo)記分別為“是”和“否”麻顶。
?這樣我們就采用 C4.5 算法構(gòu)建了一個(gè)決策樹(shù)赦抖,這個(gè)決策樹(shù)只用了兩個(gè)特征。
|--- 有自己的房子 | |--- class: 否 | | |--- 有工作 | | | |--- class: 否 | | |--- 有工作 | | | |--- class: 是 |--- 有自己的房子 | |--- class: 是