0. Motivation?
Decision Tree Classifier, repetitively divides the working area(plot) into sub part by identifying lines.
1. 基本流程
遞歸返回:
(1)當(dāng)前結(jié)點(diǎn)包含的樣本全屬于同一類別,無(wú)需劃分
(2)當(dāng)前屬性集為空,或是所有樣本在所有屬性上的取值相同,無(wú)法劃分帆啃。把當(dāng)前結(jié)點(diǎn)標(biāo)記為葉結(jié)點(diǎn)邢享,類別為該節(jié)點(diǎn)所含樣本最多的類別侨赡。
(3)當(dāng)前結(jié)點(diǎn)包含的樣本集合為空摇庙,不能劃分胆剧。把當(dāng)前結(jié)點(diǎn)標(biāo)記為葉結(jié)點(diǎn)絮姆,類別設(shè)定為其父結(jié)點(diǎn)所含樣本最多的類別。
2. 劃分選擇
2.1 信息增益
假定當(dāng)前樣本集合D中第k類樣本所占的比例為
信息熵:度量樣本集合純度
信息熵越小秩霍,樣本集合的純度越高
假定離散屬性a有V個(gè)可能的取值滚朵,
:D中所有在屬性a上取值為
的樣本
:根據(jù)不同分支結(jié)點(diǎn)所包含的樣本數(shù),給分支結(jié)點(diǎn)賦予權(quán)重前域,樣本數(shù)越多的分支結(jié)點(diǎn)影響越大
信息增益:
信息增益越大辕近,意味著使用屬性a來(lái)進(jìn)行劃分所獲得的“純度”提升越大
ID3以信息增益為準(zhǔn)則選擇劃分屬性,即在圖4.2第八行選擇屬性
判別是否是好瓜:匿垄,正例
,反例
(1)計(jì)算根結(jié)點(diǎn)信息熵:
(2)計(jì)算當(dāng)前屬性集合{色澤移宅,根蒂,敲聲椿疗,紋理漏峰,臍部,觸感}中每個(gè)屬性的信息增益届榄。
“色澤”={青綠浅乔,烏黑,淺白}
(色澤=青綠)={1铝条,4靖苇,6,10班缰,13贤壁,17},正例
埠忘,反例
脾拆,
(色澤=烏黑)={2,3莹妒,7名船,8,9旨怠,15}渠驼,正例
,反例
运吓,
(色澤=淺白)={5渴邦,11疯趟,12拘哨,14谋梭,16},正例
倦青,反例
瓮床,
同理
選擇“紋理”作為劃分屬性:
針對(duì)“紋理=清晰”的分支結(jié)點(diǎn),基于計(jì)算出各屬性的信息增益:
不斷對(duì)每個(gè)分支結(jié)點(diǎn)進(jìn)行上述操作述雾,最終得到
信息增益準(zhǔn)則對(duì)可取值數(shù)目較多的屬性有所偏好街州。
C4.5使用“增益率”來(lái)選擇最優(yōu)劃分屬性。
2.2 增益率
增益率:
屬性a的固有值:
屬性a的可取值數(shù)目越多(V越大)玻孟,則IV(a)通常會(huì)越大
增益率準(zhǔn)則對(duì)可取值數(shù)目較少的屬性有所偏好唆缴。
因此,C4.5算法沒(méi)有直接選擇增益率最大的候選劃分屬性黍翎,而是先從候選劃分屬性中找出信息增益高于平均水平的屬性面徽,再?gòu)闹羞x擇增益率最高的。
2.3 基尼指數(shù)
CART決策樹是用“基尼指數(shù)”來(lái)選擇劃分屬性匣掸。
基尼值:趟紊,反映了從數(shù)據(jù)集D中隨機(jī)抽取兩個(gè)樣本,其類別標(biāo)記不一致的概率碰酝。
Gini值越小织阳,數(shù)據(jù)集D的純度越高。
屬性a的基尼指數(shù):
在侯選屬性集合A中砰粹,選擇那個(gè)使得劃分后基尼指數(shù)最小的屬性作為最優(yōu)劃分屬性唧躲,即
3. 剪枝處理
預(yù)剪枝:在決策樹的生成過(guò)程中,對(duì)每個(gè)結(jié)點(diǎn)在劃分前先進(jìn)行估計(jì)碱璃,若當(dāng)前結(jié)點(diǎn)的劃分不能帶來(lái)決策樹泛化性能提升弄痹,則停止劃分并將當(dāng)前結(jié)點(diǎn)標(biāo)記為葉節(jié)點(diǎn)。
后剪枝:先從訓(xùn)練集生成一顆完整的決策樹,然后自底向上地對(duì)非葉節(jié)點(diǎn)進(jìn)行考察,若將該結(jié)點(diǎn)對(duì)應(yīng)的子樹替換為葉節(jié)點(diǎn)能帶來(lái)決策樹泛化性能提升挂捅,則將該子樹替換為葉節(jié)點(diǎn)沮翔。
采用信息增益準(zhǔn)則生成決策樹
3.1 預(yù)剪枝
(1)若根結(jié)點(diǎn)“臍部”不進(jìn)行劃分猜极,被標(biāo)記為葉結(jié)點(diǎn)鹿寻,其類別標(biāo)記為訓(xùn)練樣例數(shù)最多的類別屉更,假設(shè)標(biāo)記為“好瓜”抖苦。用驗(yàn)證集進(jìn)行評(píng)估历极,編號(hào){4,5,8}被正確分類窄瘟,{9,11,12,13}被錯(cuò)誤分類,精度為42.9%趟卸。用屬性“臍部”劃分后蹄葱,{4,5,8,11,12}被正確分類,驗(yàn)證集精度為71.4%锄列。因此图云,用“臍部”劃分得以確定。
(2) 對(duì)②進(jìn)行劃分邻邮,基于信息增益準(zhǔn)則挑選出”色澤“竣况,{5}會(huì)被錯(cuò)分,劃分后驗(yàn)證集精度下降筒严,于是將禁止結(jié)點(diǎn)②被劃分丹泉。
(3) 對(duì)③,最優(yōu)劃分屬性為”根蒂“萝风,劃分前后精度一樣嘀掸,禁止劃分。
(4) 對(duì)④规惰,其所含訓(xùn)練樣例已屬于同一類睬塌,不再進(jìn)行劃分。
優(yōu)點(diǎn):降低過(guò)擬合風(fēng)險(xiǎn)歇万,顯著減少了訓(xùn)練和測(cè)試的時(shí)間開銷
缺點(diǎn):基于”貪心“揩晴,有欠擬合風(fēng)險(xiǎn)。有些分支當(dāng)前劃分雖然不能提升泛化性能贪磺,但在其基礎(chǔ)上進(jìn)行后續(xù)劃分卻有可能導(dǎo)致性能顯著提高硫兰。
3.2 后剪枝
先從訓(xùn)練集生成一顆完整的決策樹。圖4.5中決策樹的驗(yàn)證集精度為42.9%寒锚。
(1) 首先考慮結(jié)點(diǎn)⑥劫映,剪枝后的葉結(jié)點(diǎn)包含編號(hào){7,15}的訓(xùn)練樣本,于是刹前,該葉結(jié)點(diǎn)的類別標(biāo)記為”好瓜“泳赋,此時(shí)驗(yàn)證集精度提高至57.1%。因此決定剪枝喇喉。
(2)考察結(jié)點(diǎn)⑤祖今,替換后的葉結(jié)點(diǎn)包含{6,7,15},標(biāo)記為”好瓜“,驗(yàn)證集精度仍為57.1%千诬,可以不進(jìn)行剪枝耍目。
(3)對(duì)結(jié)點(diǎn)②,替換后的葉結(jié)點(diǎn)包括{1,2,3,14}徐绑,標(biāo)記為”好瓜”邪驮,此時(shí)驗(yàn)證集精度提高至71.4%,于是泵三,決定剪枝耕捞。
(4)對(duì)結(jié)點(diǎn)③和①衔掸,替換后精度均未得到提高烫幕,于是得以保留。
后剪枝決策樹通常比預(yù)剪枝決策樹保留更多的分支敞映。一般情況下较曼,后剪枝決策樹欠擬合風(fēng)險(xiǎn)很小,但其訓(xùn)練時(shí)間開銷較大振愿。
4. 連續(xù)與缺失值
4.1 連續(xù)值處理
二分法:給定樣本集D和連續(xù)屬性a捷犹,假定a在D上出現(xiàn)了n個(gè)不同的取值,撿這些值從小到大進(jìn)行排序冕末,記為基于劃分點(diǎn)t可將D分為子集
和
萍歉,其中
包含那些在屬性a上取值不大于t的樣本,而
則包含那些在屬性a上大于t的樣本档桃。
與離散屬性不同枪孩,若當(dāng)前結(jié)點(diǎn)劃分屬性為連續(xù)屬性,則該屬性還可作為其后代結(jié)點(diǎn)的劃分屬性藻肄。例如在父結(jié)點(diǎn)上使用了“密度<=0.381”蔑舞,不會(huì)禁止在子結(jié)點(diǎn)上使用“密度<=0.294”.
4.2 缺失值處理
問(wèn)題: (1)如何在屬性值缺失的情況下進(jìn)行劃分屬性選擇?
給定訓(xùn)練集D和屬性a嘹屯,令表示D中在屬性a上沒(méi)有缺失值的樣本子集攻询。假定屬性a有V個(gè)可取值
,令
表示
中在屬性a上取值為
的樣本子集州弟,
表示
中屬于第k類的樣本子集钧栖,顯然有
,
。
假定我們?yōu)槊總€(gè)樣本x賦予一個(gè)權(quán)重,并定義
婆翔,表示無(wú)缺失值樣本所占的比例
拯杠,表示無(wú)缺失值樣本中第k類所占的比例,
浙滤,表示無(wú)缺失值樣本中在屬性a上取值為
的樣本所占的比例阴挣,
以表4.4的數(shù)據(jù)為例生成一顆決策樹:
學(xué)習(xí)開始時(shí),根節(jié)點(diǎn)包含樣本集D中全部17個(gè)樣例纺腊,各樣例的權(quán)值為1.
屬性“色澤”上無(wú)缺失值的樣例子集畔咧,共14個(gè)樣例茎芭。
信息熵
令分別表示在屬性“色澤”上取值為“”青綠,“烏黑”誓沸,“淺白”的樣本子集梅桩。
樣本子集上屬性“色澤”的信息增益為
于是,樣本集D上屬性“色澤”的信息增益為
類似地可計(jì)算出所有屬性在D上的信息增益
“紋理”取得最大的信息增益洪添,被用于對(duì)根節(jié)點(diǎn)進(jìn)行劃分垦页。
問(wèn)題:(2)給定劃分屬性,若樣本在該屬性上的值缺失干奢,如何對(duì)樣本進(jìn)行劃分痊焊?
若樣本x在劃分屬性a上的取值已知,則將x劃入與其取值對(duì)應(yīng)的子結(jié)點(diǎn)忿峻,且樣本權(quán)值在子結(jié)點(diǎn)中保持為.
若樣本x在劃分屬性a上的取值未知薄啥,則將x劃入與所有的子結(jié)點(diǎn),且樣本權(quán)值與屬性值對(duì)應(yīng)的子結(jié)點(diǎn)中調(diào)整為
逛尚。
就是讓同一個(gè)樣本以不同的概率劃入到不同的子結(jié)點(diǎn)中去垄惧。
{1,2,3,4,5,6,15}進(jìn)入“紋理=清晰”分支,{7,9,13,14,15}進(jìn)入“紋理=稍糊”分支绰寞,{11,12,16}進(jìn)入“紋理=模糊”分支到逊,且樣本在各子結(jié)點(diǎn)中權(quán)重保持1.
{8}在“紋理”上屬性缺失,將同時(shí)進(jìn)入三個(gè)分支中克握,但權(quán)重在三個(gè)子結(jié)點(diǎn)中分別調(diào)整為菩暗。{10}類似掰曾。
5 多變量決策樹
決策樹分類邊界的特點(diǎn):軸平行,這是的學(xué)習(xí)結(jié)果有較好的可解釋性停团,每一段劃分都直接對(duì)應(yīng)某個(gè)屬性取值旷坦。
但在真實(shí)分類邊界比較復(fù)雜時(shí),必須使用很多段劃分才能獲得較好的近似佑稠。
多變量決策樹:斜劃分秒梅,非葉結(jié)點(diǎn)對(duì)屬性的線性組合進(jìn)行測(cè)試,不再針對(duì)某個(gè)屬性舌胶。