0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)據(jù)挖掘算法:決策樹算法如何學(xué)習(xí)及分裂剪枝

lviY_AI_shequ ? 2018-07-21 10:13 ? 次閱讀

1、決策樹模型與學(xué)習(xí)

決策樹(decision tree)算法基于特征屬性進(jìn)行分類,其主要的優(yōu)點(diǎn):模型具有可讀性,計(jì)算量小,分類速度快。決策樹算法包括了由Quinlan提出的ID3與C4.5,Breiman等提出的CART。其中,C4.5是基于ID3的,對分裂屬性的目標(biāo)函數(shù)做出了改進(jìn)。

決策樹模型

決策樹是一種通過對特征屬性的分類對樣本進(jìn)行分類的樹形結(jié)構(gòu),包括有向邊與三類節(jié)點(diǎn):

根節(jié)點(diǎn)(root node),表示第一個(gè)特征屬性,只有出邊沒有入邊;

內(nèi)部節(jié)點(diǎn)(internal node),表示特征屬性,有一條入邊至少兩條出邊

葉子節(jié)點(diǎn)(leaf node),表示類別,只有一條入邊沒有出邊。

上圖給出了(二叉)決策樹的示例。決策樹具有以下特點(diǎn):

對于二叉決策樹而言,可以看作是if-then規(guī)則集合,由決策樹的根節(jié)點(diǎn)到葉子節(jié)點(diǎn)對應(yīng)于一條分類規(guī)則;

分類規(guī)則是互斥并且完備的,所謂互斥即每一條樣本記錄不會同時(shí)匹配上兩條分類規(guī)則,所謂完備即每條樣本記錄都在決策樹中都能匹配上一條規(guī)則。

分類的本質(zhì)是對特征空間的劃分,如下圖所示,

決策樹學(xué)習(xí)

決策樹學(xué)習(xí)的本質(zhì)是從訓(xùn)練數(shù)據(jù)集中歸納出一組分類規(guī)則[2]。但隨著分裂屬性次序的不同,所得到的決策樹也會不同。如何得到一棵決策樹既對訓(xùn)練數(shù)據(jù)有較好的擬合,又對未知數(shù)據(jù)有很好的預(yù)測呢?

首先,我們要解決兩個(gè)問題:

如何選擇較優(yōu)的特征屬性進(jìn)行分裂?每一次特征屬性的分裂,相當(dāng)于對訓(xùn)練數(shù)據(jù)集進(jìn)行再劃分,對應(yīng)于一次決策樹的生長。ID3算法定義了目標(biāo)函數(shù)來進(jìn)行特征選擇。

什么時(shí)候應(yīng)該停止分裂?有兩種自然情況應(yīng)該停止分裂,一是該節(jié)點(diǎn)對應(yīng)的所有樣本記錄均屬于同一類別,二是該節(jié)點(diǎn)對應(yīng)的所有樣本的特征屬性值均相等。但除此之外,是不是還應(yīng)該其他情況停止分裂呢?

2、決策樹算法

特征選擇

特征選擇指選擇最大化所定義目標(biāo)函數(shù)的特征。下面給出如下三種特征(Gender, Car Type, Customer ID)分裂的例子:

圖中有兩類類別(C0, C1),C0: 6是對C0類別的計(jì)數(shù)。直觀上,應(yīng)選擇Car Type特征進(jìn)行分裂,因?yàn)槠漕悇e的分布概率具有更大的傾斜程度,類別不確定程度更小。

為了衡量類別分布概率的傾斜程度,定義決策樹節(jié)點(diǎn)t的不純度(impurity),其滿足:不純度越小,則類別的分布概率越傾斜;下面給出不純度的的三種度量:

其中,表示對于決策樹節(jié)點(diǎn)的概率。這三種不純度的度量是等價(jià)的,在等概率分布是達(dá)到最大值。

為了判斷分裂前后節(jié)點(diǎn)不純度的變化情況,目標(biāo)函數(shù)定義為信息增益(informationgain):

表示父節(jié)點(diǎn)分裂后的某子節(jié)點(diǎn),為其計(jì)數(shù),n為分裂后的子節(jié)點(diǎn)數(shù)。

特別地,ID3算法選取熵值作為不純度的度量,則

c指父節(jié)點(diǎn)對應(yīng)所有樣本記錄的類別; A表示選擇的特征屬性,即的集合。 那么,決策樹學(xué)習(xí)中的信息增益等價(jià)于訓(xùn)練數(shù)據(jù)集中類與特征的互信息,表示由于得知特征A的信息訓(xùn)練數(shù)據(jù)集c不確定性減少的程度。

在特征分裂后,有些子節(jié)點(diǎn)的記錄數(shù)可能偏少,以至于影響分類結(jié)果。為了解決這個(gè)問題,CART算法提出了只進(jìn)行特征的二元分裂,即決策樹是一棵二叉樹;C4.5算法改進(jìn)分裂目標(biāo)函數(shù),用信息增益比(information gain ratio)來選擇特征:

因而,特征選擇的過程等同于計(jì)算每個(gè)特征的信息增益,選擇最大信息增益的特征進(jìn)行分裂。此即回答前面所提出的第一個(gè)問題(選擇較優(yōu)特征)。ID3算法設(shè)定一閾值,當(dāng)最大信息增益小于閾值時(shí),認(rèn)為沒有找到有較優(yōu)分類能力的特征,沒有往下繼續(xù)分裂的必要。根據(jù)最大表決原則,將最多計(jì)數(shù)的類別作為此葉子節(jié)點(diǎn)。即回答前面所提出的第二個(gè)問題(停止分裂條件)。

決策樹生成

ID3算法的核心是根據(jù)信息增益最大的準(zhǔn)則,遞歸地構(gòu)造決策樹;算法流程如下:

如果節(jié)點(diǎn)滿足停止分裂條件(所有記錄屬同一類別 or 最大信息增益小于閾值),將其置為葉子節(jié)點(diǎn);

選擇信息增益最大的特征進(jìn)行分裂;

重復(fù)步驟1-2,直至分類完成。

C4.5算法流程與ID3相類似,只不過將信息增益改為信息增益比。

3、決策樹剪枝

過擬合

生成的決策樹對訓(xùn)練數(shù)據(jù)會有很好的分類效果,卻可能對未知數(shù)據(jù)的預(yù)測不準(zhǔn)確,即決策樹模型發(fā)生過擬合(overfitting)——訓(xùn)練誤差(training error)很小、泛化誤差(generalization error,亦可看作為test error)較大。下圖給出訓(xùn)練誤差、測試誤差(test error)隨決策樹節(jié)點(diǎn)數(shù)的變化情況:

可以觀察到,當(dāng)節(jié)點(diǎn)數(shù)較小時(shí),訓(xùn)練誤差與測試誤差均較大,即發(fā)生了欠擬合(underfitting)。當(dāng)節(jié)點(diǎn)數(shù)較大時(shí),訓(xùn)練誤差較小,測試誤差卻很大,即發(fā)生了過擬合。只有當(dāng)節(jié)點(diǎn)數(shù)適中是,訓(xùn)練誤差居中,測試誤差較??;對訓(xùn)練數(shù)據(jù)有較好的擬合,同時(shí)對未知數(shù)據(jù)有很好的分類準(zhǔn)確率。

發(fā)生過擬合的根本原因是分類模型過于復(fù)雜,可能的原因如下:

訓(xùn)練數(shù)據(jù)集中有噪音樣本點(diǎn),對訓(xùn)練數(shù)據(jù)擬合的同時(shí)也對噪音進(jìn)行擬合,從而影響了分類的效果;

決策樹的葉子節(jié)點(diǎn)中缺乏有分類價(jià)值的樣本記錄,也就是說此葉子節(jié)點(diǎn)應(yīng)被剪掉。

剪枝策略

為了解決過擬合,C4.5通過剪枝以減少模型的復(fù)雜度。[2]中提出一種簡單剪枝策略,通過極小化決策樹的整體損失函數(shù)(loss function)或代價(jià)函數(shù)(cost function)來實(shí)現(xiàn),決策樹T的損失函數(shù)為:

其中,表示決策樹的訓(xùn)練誤差,為調(diào)節(jié)參數(shù),模型的復(fù)雜度。當(dāng)模型越復(fù)雜時(shí),訓(xùn)練的誤差就越小。上述定義的損失正好做了兩者之間的權(quán)衡。

如果剪枝后損失函數(shù)減少了,即說明這是有效剪枝。具體剪枝算法可以由動態(tài)規(guī)劃等來實(shí)現(xiàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)挖掘
    +關(guān)注

    關(guān)注

    1

    文章

    406

    瀏覽量

    24148
  • 決策樹
    +關(guān)注

    關(guān)注

    2

    文章

    96

    瀏覽量

    13513

原文標(biāo)題:【十大經(jīng)典數(shù)據(jù)挖掘算法】C4.5

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    機(jī)器學(xué)習(xí)中常用的決策樹算法技術(shù)解析

    決策樹是最重要的機(jī)器學(xué)習(xí)算法之一,其可被用于分類和回歸問題。本文中,我們將介紹分類部分。
    發(fā)表于 10-12 16:39 ?1239次閱讀
    機(jī)器<b class='flag-5'>學(xué)習(xí)</b>中常用的<b class='flag-5'>決策樹</b><b class='flag-5'>算法</b>技術(shù)解析

    關(guān)于決策樹,這些知識點(diǎn)不可錯(cuò)過

    就比較高,如果知道其中的幾個(gè)特征(如身高、性格等),不確定性就會減少很多。由上面的例子可見,一個(gè)屬性的信息增益越大,表明這個(gè)屬性使得數(shù)據(jù)由不確定性變成確定性的能力越強(qiáng)。04 決策樹算法的補(bǔ)充要點(diǎn)關(guān)于
    發(fā)表于 05-23 09:38

    數(shù)據(jù)挖掘十大經(jīng)典算法,你都知道哪些!

    的所有需求。而這三類里又包含許多經(jīng)典算法。而今天,小編就給大家介紹下數(shù)據(jù)挖掘中最經(jīng)典的十大算法,希望它對你有所幫助。一、 分類決策樹
    發(fā)表于 11-06 17:02

    機(jī)器學(xué)習(xí)決策樹介紹

    機(jī)器學(xué)習(xí)——決策樹算法分析
    發(fā)表于 04-02 11:48

    一個(gè)基于粗集的決策樹規(guī)則提取算法

    一個(gè)基于粗集的決策樹規(guī)則提取算法:摘要:決策樹數(shù)據(jù)挖掘任務(wù)中分類的常用方法。在構(gòu)造決策樹的過程
    發(fā)表于 10-10 15:13 ?12次下載

    基于決策樹數(shù)據(jù)挖掘算法應(yīng)用研究

    決策樹數(shù)據(jù)挖掘分類算法在金融客戶關(guān)系管理(CRM)中的應(yīng)用為例,進(jìn)行了數(shù)據(jù)挖掘的嘗試,從中發(fā)現(xiàn)
    發(fā)表于 08-02 12:18 ?0次下載

    改進(jìn)決策樹算法的應(yīng)用研究

    該方法利用決策樹算法構(gòu)造決策樹,通過對分類結(jié)果中主客觀屬性進(jìn)行標(biāo)記并邏輯運(yùn)算,最終得到較客觀的決策信息,并進(jìn)行實(shí)驗(yàn)驗(yàn)證。
    發(fā)表于 02-07 11:38 ?27次下載
    改進(jìn)<b class='flag-5'>決策樹</b><b class='flag-5'>算法</b>的應(yīng)用研究

    一種新型的決策樹剪枝優(yōu)化算法

    目前關(guān)于決策樹剪枝優(yōu)化方面的研究主要集中于預(yù)剪枝和后剪枝算法。然而,這些剪枝
    發(fā)表于 11-30 10:05 ?0次下載
    一種新型的<b class='flag-5'>決策樹</b><b class='flag-5'>剪枝</b>優(yōu)化<b class='flag-5'>算法</b>

    使決策樹規(guī)模最小化算法

    決策樹技術(shù)在數(shù)據(jù)挖掘的分類領(lǐng)域應(yīng)用極其廣泛,可以從普通決策表(每行記錄包含一個(gè)決策值)中挖掘有價(jià)
    發(fā)表于 12-05 15:47 ?0次下載
    使<b class='flag-5'>決策樹</b>規(guī)模最小化<b class='flag-5'>算法</b>

    基于粗決策樹的動態(tài)規(guī)則提取算法

    針對靜態(tài)算法對大數(shù)據(jù)和增量數(shù)據(jù)處理不足的問題,構(gòu)造了基于粗決策樹的動態(tài)規(guī)則提取算法,并將其應(yīng)用于旋轉(zhuǎn)機(jī)械故障診斷中。將粗集與
    發(fā)表于 12-29 14:24 ?0次下載

    海量嘈雜數(shù)據(jù)決策樹算法

    針對當(dāng)前決策樹算法較少考慮訓(xùn)練集的嘈雜程度對模型的影響,以及傳統(tǒng)駐留內(nèi)存算法處理海量數(shù)據(jù)困難的問題,提出一種基于Hadoop平臺的不確定概率C4.5
    發(fā)表于 01-13 09:41 ?1次下載

    什么是決策樹?決策樹算法思考總結(jié)

    C4.5算法:基于ID3算法的改進(jìn),主要包括:使用信息增益率替換了信息增益下降度作為屬性選擇的標(biāo)準(zhǔn);在決策樹構(gòu)造的同時(shí)進(jìn)行剪枝操作;避免了
    的頭像 發(fā)表于 02-04 09:45 ?1.1w次閱讀
    什么是<b class='flag-5'>決策樹</b>?<b class='flag-5'>決策樹</b><b class='flag-5'>算法</b>思考總結(jié)

    決策樹的構(gòu)成要素及算法

    決策樹是一種解決分類問題的算法決策樹算法采用樹形結(jié)構(gòu),使用層層推理來實(shí)現(xiàn)最終的分類。
    發(fā)表于 08-27 09:52 ?4147次閱讀

    決策樹的基本概念/學(xué)習(xí)步驟/算法/優(yōu)缺點(diǎn)

    本文將介紹決策樹的基本概念、決策樹學(xué)習(xí)的3個(gè)步驟、3種典型的決策樹算法決策樹的10個(gè)優(yōu)缺點(diǎn)。
    發(fā)表于 01-27 10:03 ?2444次閱讀
    <b class='flag-5'>決策樹</b>的基本概念/<b class='flag-5'>學(xué)習(xí)</b>步驟/<b class='flag-5'>算法</b>/優(yōu)缺點(diǎn)

    什么是決策樹模型,決策樹模型的繪制方法

    決策樹是一種解決分類問題的算法,本文將介紹什么是決策樹模型,常見的用途,以及如何使用“億圖圖示”軟件繪制決策樹模型。
    發(fā)表于 02-18 10:12 ?1.3w次閱讀
    什么是<b class='flag-5'>決策樹</b>模型,<b class='flag-5'>決策樹</b>模型的繪制方法