決策樹在機(jī)器學(xué)習(xí)的理論學(xué)習(xí)與實(shí)踐

決策樹子漩,是一種傳統(tǒng)機(jī)器學(xué)習(xí)算法,也是機(jī)器學(xué)習(xí)的入門算法之一石洗。在它的基礎(chǔ)上幢泼,衍生了隨機(jī)森林、GBDT讲衫、XGBOOST等在CTR領(lǐng)域效果極佳的算法缕棵,因此,對(duì)它的學(xué)習(xí)可視為通向高級(jí)算法的必經(jīng)之路涉兽,同時(shí)招驴,它具有極強(qiáng)的可解釋性,可應(yīng)對(duì)回歸與分類問題枷畏,也視為商業(yè)應(yīng)用展示的不二之選别厘。對(duì)學(xué)習(xí)算法的入門者來說,了解決策樹很有必要拥诡,為此触趴,飛馬網(wǎng)于3月27日晚,邀請(qǐng)到畢業(yè)于美國密蘇里大學(xué)機(jī)器視覺實(shí)驗(yàn)室的黃楷老師進(jìn)行線上直播渴肉,黃老師向大家分享了關(guān)于決策樹的相關(guān)理論與實(shí)踐應(yīng)用冗懦。


以下是本次分享的主要內(nèi)容:


一.簡(jiǎn)介

1.在看簡(jiǎn)介之前,我們先討論幾個(gè)基礎(chǔ)問題:

機(jī)器學(xué)習(xí)包括有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)仇祭。有監(jiān)督學(xué)習(xí)是明確地表明每個(gè)樣本的類別或數(shù)值批狐,在有監(jiān)督學(xué)習(xí)之下,又分為分類和回歸問題,分類問題表示預(yù)測(cè)每個(gè)樣本的類別嚣艇,而回歸問題表示預(yù)測(cè)每個(gè)樣本的具體數(shù)值承冰。無監(jiān)督學(xué)習(xí)并沒有給出樣本的類別或數(shù)值,它會(huì)通過一系列的算法進(jìn)行聚類食零。

今天我們要學(xué)習(xí)的決策樹屬于有監(jiān)督學(xué)習(xí)困乒,它可以處理分類和回歸兩個(gè)問題。

2.決策樹簡(jiǎn)介:


上面這張圖片就是決策樹的簡(jiǎn)介贰谣,大家可以先簡(jiǎn)單了解一下娜搂,后面會(huì)有深入的探索。


二.決策樹的結(jié)構(gòu)


我們可以看到上圖左是一個(gè)非持ǜВ基本的樹形結(jié)構(gòu)百宇,學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的人對(duì)此一定很熟悉。我們重點(diǎn)看頭部的根節(jié)點(diǎn)秘豹,下面的葉子節(jié)點(diǎn)代表分類后的結(jié)果携御,下面的分支代表數(shù)據(jù)的判定條件,例如第一層是大于0.99既绕、大于1.20啄刹、大于3.20等。


三.?決策樹使用的階段


1.在我們使用決策樹的時(shí)候凄贩,分為兩個(gè)階段:訓(xùn)練階段和分類階段誓军。


訓(xùn)練階段我們會(huì)通過已有的數(shù)據(jù)訓(xùn)練一個(gè)模型,分類階段我們會(huì)通過模型進(jìn)行數(shù)據(jù)的預(yù)測(cè)疲扎,通常我們會(huì)將數(shù)據(jù)隨機(jī)分為十個(gè)部分昵时,將八個(gè)部分進(jìn)行訓(xùn)練,取兩個(gè)進(jìn)行測(cè)試椒丧,測(cè)試的數(shù)據(jù)不會(huì)出現(xiàn)在我們的訓(xùn)練數(shù)據(jù)中债查,我們最終的結(jié)果也是以測(cè)試的數(shù)據(jù)為準(zhǔn),最后通過一個(gè)交叉驗(yàn)證瓜挽,得到準(zhǔn)確率。


2.例子:

下面我們通過一個(gè)國外信用卡的例子來進(jìn)行學(xué)習(xí)征绸。


第一列表示數(shù)據(jù)的ID久橙,第二列表示是否有退稅,第三列表示婚姻狀態(tài)(單身管怠、離異淆衷、已婚),第四列表示納稅收入渤弛,第五列就是我們要預(yù)測(cè)的祝拯。

嚴(yán)重的話,可理解為這個(gè)人是否有過信用卡詐騙記錄,不嚴(yán)重的話佳头,可理解為是否信用卡有逾期等等鹰贵。

我們可以稱這里的數(shù)據(jù)有十個(gè)樣本、三個(gè)屬性康嘉,“categorical”表示數(shù)據(jù)是離散的碉输,“continuous”表示數(shù)據(jù)是連續(xù)的,“class”表示我們要預(yù)測(cè)的類別亭珍。

通過一系列的感性認(rèn)識(shí)敷钾,同學(xué)甲可能會(huì)構(gòu)建出上圖右的決策樹,黃色的字指判定的是哪一列肄梨,箭頭上的值指的是判別的值阻荒,藍(lán)色的字指預(yù)測(cè)的結(jié)果。




對(duì)于同學(xué)甲這個(gè)模型众羡,我們來看一看他是怎么判別的:





這時(shí)候同學(xué)乙可能會(huì)覺得不大滿意侨赡,他認(rèn)為婚姻可能是最重要的,就把婚姻放在決策樹的第一位:

以上的這個(gè)例子是對(duì)決策樹的感性理解纱控,通過對(duì)每一步進(jìn)行判別辆毡,來得到最終的目的。


四.如何理性地建立決策樹

下面我們來進(jìn)行理性的思考甜害,到底如何去建立決策樹舶掖?

1.建立決策樹的基本步驟:


對(duì)于樹的截止問題浅浮,從上圖中我們得知奠货,它有兩個(gè)結(jié)束的條件,一是所有的葉子節(jié)點(diǎn)屬于同一類別入挣,二是所有的備選屬性已經(jīng)選完嚣州。當(dāng)達(dá)不到結(jié)束條件時(shí)鲫售,我們就會(huì)選擇一個(gè)最佳的屬性來進(jìn)行構(gòu)建。


2.例子:








由于之前的最優(yōu)節(jié)點(diǎn)都是想出來的该肴,因此就會(huì)遇到另外的問題情竹,“如何去選擇最優(yōu)節(jié)點(diǎn)?”和“選擇節(jié)點(diǎn)時(shí)遇到連續(xù)性數(shù)據(jù)時(shí)匀哄,如何處理秦效?”


3.如何去選擇最優(yōu)節(jié)點(diǎn):

接下來,我們攻克一下這些問題涎嚼。首先引入一個(gè)概念—信息熵阱州。它是一個(gè)物理概念,主要描述信息的混亂程度法梯,熵越大苔货,信息越混亂,它的公式如下圖所示。


下面是信息熵的一些特性:



在構(gòu)建決策樹時(shí)夜惭,我們會(huì)選擇信息熵的一個(gè)差值來進(jìn)行構(gòu)建姻灶,我們來具體看一下例子:


在上圖的例子中,我們有14個(gè)樣本滥嘴,5個(gè)是“No”木蹬,9個(gè)是“Yes”,屬性有天氣若皱、溫度镊叁、濕度、是否刮風(fēng)走触。通過這四個(gè)維度晦譬,我們決定要不要去打網(wǎng)球。

選擇第一個(gè)節(jié)點(diǎn)的時(shí)候互广,我們有四個(gè)備選方案:


到底如何選取最優(yōu)屬性呢敛腌?我們可以先計(jì)算一下原始的信息熵,在原始數(shù)據(jù)里面有14個(gè)樣本惫皱,我們套進(jìn)公式得出像樊,原始的信息熵是0.94。


對(duì)于第一個(gè)備選項(xiàng)天氣旅敷,我們可以分為三個(gè)值(晴天生棍、多云、下雨):


得到天氣各自熵的值之后媳谁,我們?cè)偻ㄟ^各自熵的值乘以它發(fā)生的概率涂滴。按照天氣屬性我們得出熵的值是0.693:


同理,我們可以依次地計(jì)算溫度晴音、濕度柔纵、刮風(fēng)的信息增益:


上圖的值是說我們之前父節(jié)點(diǎn)的信息增益,5次不打球锤躁、9次打球的值減去按條件得出的信息增益搁料,我們會(huì)發(fā)現(xiàn),其實(shí)對(duì)于天氣而言系羞,它的信息增益是最大的郭计,我們就會(huì)選擇天氣作為最佳的分裂節(jié)點(diǎn)。


其次觉啊,濕度的計(jì)算方式,就是我們之前講的得到它的一個(gè)信息增益率沈贝,然后去挑選哪個(gè)是它的最優(yōu)節(jié)點(diǎn):


經(jīng)過上面這些比較簡(jiǎn)單的構(gòu)建方法杠人,我們就能得到最終的決策樹:


五.建立決策樹后的思考

在構(gòu)建完這棵決策樹之后,事情并沒有結(jié)束,大家可以思考一下嗡善,在建模型的時(shí)候辑莫,我們總是希望它的準(zhǔn)確率越高越好,但這些是不是我們要的一個(gè)結(jié)果罩引?

1.在機(jī)器學(xué)習(xí)中各吨,有一個(gè)詞叫做“過擬合”。它表示我們的模型在訓(xùn)練數(shù)據(jù)時(shí)表現(xiàn)地很棒袁铐,但在面臨外部數(shù)據(jù)的時(shí)候揭蜒,它又顯得不堪一擊,我們一起來看下圖:


圖左是訓(xùn)練數(shù)據(jù)的一個(gè)分布剔桨,理想狀態(tài)下圖右是我們要得到的一個(gè)模型屉更,但機(jī)器卻不這樣認(rèn)為,機(jī)器覺得畫個(gè)貓更適合洒缀,新來的數(shù)據(jù)通過這只貓會(huì)劃分什么結(jié)果瑰谜,我們不知道,這叫做Overfitting树绩,就是過擬合萨脑。


2.決策樹在訓(xùn)練集當(dāng)中,的確有非常好的分類能力饺饭,但它對(duì)未知的測(cè)試數(shù)據(jù)而言渤早,不是特別適應(yīng),產(chǎn)生過擬合現(xiàn)象砰奕,這時(shí)我們就需要剪枝蛛芥。


決策樹分為預(yù)剪枝和后剪枝。預(yù)剪枝就是通過人為的知識(shí)军援,確定節(jié)點(diǎn)樣本數(shù)目以及樹的高度和深度等仅淑,操作起來非常方便。但在實(shí)際應(yīng)用中胸哥,我們會(huì)選擇后剪枝涯竟。

決策樹的剪枝通常會(huì)做以下這幾個(gè)點(diǎn):


我們比較常用的是悲觀錯(cuò)誤剪枝和代價(jià)復(fù)雜度剪枝。悲觀錯(cuò)誤剪枝空厌,假設(shè)說決策樹的精度在剪枝的前后并無變化庐船,則進(jìn)行剪枝,精度不等于錯(cuò)誤度嘲更,如果說決策樹剪枝后的誤差小于剪枝前精度的上限筐钟,效果性是一致的,就進(jìn)行剪枝赋朦。我們認(rèn)為數(shù)越大越容易過擬合篓冲,代價(jià)復(fù)雜度剪枝融合了錯(cuò)誤率和數(shù)的大小李破,形成新的值平衡兩個(gè)因數(shù),然后選擇比較大的壹将,剪枝處理掉嗤攻。


六.決策樹+

1.決策樹差異:

構(gòu)建一棵樹的步驟我們已經(jīng)清晰,上面所講的方法比較傳統(tǒng)诽俯,我們稱之為ID3妇菱,除此之外還有其它的一些方法,我們來比較一下:


在ID3中暴区,我們使用的是信息增益來進(jìn)行判斷闯团,信息增益是父節(jié)點(diǎn)的熵減去子節(jié)點(diǎn)的熵的一個(gè)最大值。一個(gè)ID對(duì)應(yīng)唯一的一個(gè)類颜启,這樣的話偷俭,它的信息增益值是最大的,它優(yōu)先選擇ID作為它分裂的節(jié)點(diǎn)缰盏,所以涌萤,我們的樹只有兩層,一層是判斷ID口猜,负溪,一層是判定分類,并沒有什么意義济炎,人們就會(huì)開發(fā)出新算法來解決這些問題川抡。

第一個(gè)新算法是C4.5,它不再使用信息增益的差值须尚,而是使用信息增益率崖堤,信息增益率是子節(jié)點(diǎn)的熵除以父節(jié)點(diǎn)的熵,就可以很好地避免ID的問題耐床。同時(shí)C4.5也可以處理連續(xù)性數(shù)據(jù)和缺失性數(shù)據(jù)密幔,達(dá)到三贏的效果,其次C4.5可以解決回歸問題撩轰,通過估算某一個(gè)具體的值胯甩。對(duì)于大數(shù)據(jù)而言,計(jì)算熵會(huì)涉及取對(duì)數(shù)的問題堪嫂,速度并不是特別好偎箫。

人們又開發(fā)了一個(gè)新的算法,叫做CART皆串,它使用基尼系數(shù)去代表信息熵淹办,它不僅可以很好地去表示信息的存進(jìn)度,而且拋棄了用對(duì)數(shù)計(jì)算恶复,速度快怜森、更靠譜齐遵。二叉樹的處理避免了樹的碎片化。


2.例子:

下面我們來看例子塔插,加深一下理解。


這個(gè)數(shù)據(jù)集叫做Iris數(shù)據(jù)集拓哟,在入門學(xué)習(xí)階段是一個(gè)非常常用的分類實(shí)驗(yàn)數(shù)據(jù)集想许,中文名叫做鳶尾花卉數(shù)據(jù)集,屬于多重分類断序,包括150個(gè)樣本流纹,分為3類,每一列的花50個(gè)數(shù)據(jù)违诗,每個(gè)數(shù)據(jù)包含4個(gè)屬性漱凝,去預(yù)測(cè)鳶尾花屬于哪一種。

下圖是具體演示過程:


下面這張圖就是最后決策樹的一個(gè)值诸迟,我們簡(jiǎn)單看一下:


在我們實(shí)際應(yīng)用中茸炒,比較常用的其實(shí)是隨機(jī)森林,它速度快阵苇、不易過擬合壁公。之后決策樹還發(fā)展出GBDT梯度下降樹,融合了“森林”的思想绅项,增強(qiáng)錯(cuò)誤樣本的權(quán)重紊册,它可以做特征處理。


在直播最后快耿,黃楷老師還針對(duì)大家的提問進(jìn)行了耐心講解囊陡,我們一起來看一下:

1.自己動(dòng)手實(shí)現(xiàn)這個(gè)計(jì)算過程,還是自己調(diào)用內(nèi)建函數(shù)掀亥?

黃老師:我建議初學(xué)者自己先動(dòng)手寫一下整個(gè)計(jì)算過程撞反,調(diào)包的話,工作中可以使用铺浇,但并不適合加深學(xué)習(xí)印象痢畜。

2.決策樹要大量數(shù)學(xué)公式嗎?

黃老師:決策樹的數(shù)學(xué)公式主要體現(xiàn)在節(jié)點(diǎn)計(jì)算鳍侣,包括信息增益怎么計(jì)算和剪枝理論丁稀,公式不大多,剛開始做的時(shí)候倚聚,可以先拋棄剪枝部分线衫,只計(jì)算它的分裂節(jié)點(diǎn)、信息熵惑折,這樣的話授账,數(shù)學(xué)公式就不是特別多枯跑。

3.決策樹的應(yīng)用場(chǎng)景?

黃老師:其實(shí)在工作當(dāng)中白热,我們已經(jīng)很少單純地只使用決策樹敛助,通常會(huì)使用隨機(jī)森林和其它的一些算法。在數(shù)據(jù)展現(xiàn)方面屋确,決策樹會(huì)給人非常直觀的理解纳击,有著獨(dú)一無二的優(yōu)勢(shì)。


以上六部分就是本次線上直播的主要內(nèi)容攻臀,想了解更多更詳細(xì)內(nèi)容的小伙伴們焕数,可以關(guān)注服務(wù)號(hào):FMI飛馬網(wǎng),點(diǎn)擊菜單欄飛馬直播刨啸,即可進(jìn)行學(xué)習(xí)堡赔。



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市设联,隨后出現(xiàn)的幾起案子善已,更是在濱河造成了極大的恐慌,老刑警劉巖离例,帶你破解...
    沈念sama閱讀 211,496評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雕拼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡粘招,警方通過查閱死者的電腦和手機(jī)啥寇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洒扎,“玉大人辑甜,你說我怎么就攤上這事∨劾洌” “怎么了磷醋?”我有些...
    開封第一講書人閱讀 157,091評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)胡诗。 經(jīng)常有香客問我邓线,道長(zhǎng),這世上最難降的妖魔是什么煌恢? 我笑而不...
    開封第一講書人閱讀 56,458評(píng)論 1 283
  • 正文 為了忘掉前任骇陈,我火速辦了婚禮,結(jié)果婚禮上瑰抵,老公的妹妹穿的比我還像新娘你雌。我一直安慰自己,他們只是感情好二汛,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,542評(píng)論 6 385
  • 文/花漫 我一把揭開白布婿崭。 她就那樣靜靜地躺著拨拓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氓栈。 梳的紋絲不亂的頭發(fā)上渣磷,一...
    開封第一講書人閱讀 49,802評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音授瘦,去河邊找鬼幸海。 笑死,一個(gè)胖子當(dāng)著我的面吹牛奥务,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播袜硫,決...
    沈念sama閱讀 38,945評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼氯葬,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了婉陷?” 一聲冷哼從身側(cè)響起帚称,我...
    開封第一講書人閱讀 37,709評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秽澳,沒想到半個(gè)月后闯睹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,158評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡担神,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,502評(píng)論 2 327
  • 正文 我和宋清朗相戀三年楼吃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妄讯。...
    茶點(diǎn)故事閱讀 38,637評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡孩锡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亥贸,到底是詐尸還是另有隱情躬窜,我是刑警寧澤,帶...
    沈念sama閱讀 34,300評(píng)論 4 329
  • 正文 年R本政府宣布炕置,位于F島的核電站荣挨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏朴摊。R本人自食惡果不足惜默垄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,911評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望甚纲。 院中可真熱鬧厕倍,春花似錦、人聲如沸贩疙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至组民,卻和暖如春棒仍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背臭胜。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評(píng)論 1 266
  • 我被黑心中介騙來泰國打工莫其, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耸三。 一個(gè)月前我還...
    沈念sama閱讀 46,344評(píng)論 2 360
  • 正文 我出身青樓乱陡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親仪壮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子憨颠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,500評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容