決策樹

決策樹(Decision Tree)

定義:

  • 決策樹(decision tree)是一個樹結(jié)構(gòu)(可以是二叉樹或非二叉樹)。其每個非葉節(jié)點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節(jié)點存放一個類別。使用決策樹進行決策的過程就是從根節(jié)點開始,測試待分類項中相應(yīng)的特征屬性,并按照其值選擇輸出分支,直到到達葉子節(jié)點,將葉子節(jié)點存放的類別作為決策結(jié)果。

  • 參考示例:

    女兒:多大年紀(jì)了?
    母親:26。
    女兒:長的帥不帥?
    母親:挺帥的。
    女兒:收入高不?
    母親:不算很高,中等情況。
    女兒:是公務(wù)員不?
    母親:是,在稅務(wù)局上班呢。
    女兒:那好,我去見見。

graph TD

A((年齡)) --> |<=30| C((長相))

A((年齡)) --> |>30| B((不見))

C --> |帥或中等|E((收入))

C --> |丑|D((不見))

E --> |高|F((見))

E --> |中等|G((公務(wù)員))

E --> |低|H((不見))

G --> |不是|I((不見))

G --> |是|J((見))

  • 上面是一個簡單的決策樹示例,可以看出決策樹比較直觀,容易讓人理解
決策樹的構(gòu)造
  • 不同于貝葉斯算法,決策樹的構(gòu)造過程不依賴領(lǐng)域知識,它使用屬性選擇度量來選擇將元組最好地劃分成不同的類的屬性。所謂決策樹的構(gòu)造就是進行屬性選擇度量確定各個特征屬性之間的拓?fù)浣Y(jié)構(gòu)。

  • 構(gòu)造決策樹的關(guān)鍵步驟是分裂屬性。所謂分裂屬性就是在某個節(jié)點處按照某一特征屬性的不同劃分構(gòu)造不同的分支,其目標(biāo)是讓各個分裂子集盡可能地“純”。盡可能“純”就是盡量讓一個分裂子集中待分類項屬于同一類別。分裂屬性分為三種不同的情況:

  • 1、屬性是離散值且不要求生成二叉決策樹。此時用屬性的每一個劃分作為一個分支。

  • 2、屬性是離散值且要求生成二叉決策樹。此時使用屬性劃分的一個子集進行測試,按照“屬于此子集”和“不屬于此子集”分成兩個分支。

  • 3、屬性是連續(xù)值。此時確定一個值作為分裂點split_point,按照>split_point和<=split_point生成兩個分支。

  • 構(gòu)造決策樹的關(guān)鍵性內(nèi)容是進行屬性選擇度量,屬性選擇度量是一種選擇分裂準(zhǔn)則,是將給定的類標(biāo)記的訓(xùn)練集合的數(shù)據(jù)劃分D“最好”地分成個體類的啟發(fā)式方法,它決定了拓?fù)浣Y(jié)構(gòu)及分裂點split_point的選擇。

  • 屬性選擇度量算法有很多,一般使用自頂向下遞歸分治法,并采用不回溯的貪心策略。這里介紹ID3和C4.5兩種常用算法。

  • 信息增益

  • 定義:劃分信息之前、之后發(fā)生的變化叫做信息增益

  • 度量方式:香農(nóng)熵、熵(entropy)

  • 公式:$H(D)=-\sum_{i=1}^mp_ilog_2(p_i)$

  • $p_i$表示第i個類別在整個訓(xùn)練集中出現(xiàn)的概率,可以用屬于此類別元素的數(shù)量除以訓(xùn)練元組元素總數(shù)量作為估計

ID3算法
  • 從信息論知識中我們直到,期望信息越小,信息增益越大,從而純度越高。

  • 以信息增益度量屬性選擇,選擇分裂后信息增益最大的屬性進行分裂。

ID4.5算法
  • ID3算法存在一個問題,就是偏向于多值屬性,例如,如果存在唯一標(biāo)識屬性ID,則ID3會選擇它作為分裂屬性,這樣雖然使得劃分充分純凈,但這種劃分對分類幾乎毫無用處。

  • ID3的后繼算法C4.5使用增益率(gain ratio)的信息增益擴充,試圖克服這個偏倚。

補充說明

  • 如果屬性用完了怎么辦

在決策樹構(gòu)造過程中可能會出現(xiàn)這種情況:所有屬性都作為分裂屬性用光了,但有的子集還不是純凈集,即集合內(nèi)的元素不屬于同一類別。在這種情況下,由于沒有更多信息可以使用了,一般對這些子集進行“多數(shù)表決”,即使用此子集中出現(xiàn)次數(shù)最多的類別作為此節(jié)點類別,然后將此節(jié)點作為葉子節(jié)點。

  • 關(guān)于剪枝

  • 在實際構(gòu)造決策樹時,通常要進行剪枝,這時為了處理由于數(shù)據(jù)中的噪聲和離群點導(dǎo)致的過分?jǐn)M合問題。剪枝有兩種:

  • 先剪枝——在構(gòu)造過程中,當(dāng)某個節(jié)點滿足剪枝條件,則直接停止此分支的構(gòu)造。

  • 后剪枝——先構(gòu)造完成完整的決策樹,再通過某些條件遍歷樹進行剪枝。

  • 關(guān)于剪枝的具體算法這里不再詳述,有興趣的可以參考相關(guān)文獻。

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 決策樹理論在決策樹理論中,有這樣一句話,“用較少的東西,照樣可以做很好的事情。越是小的決策樹,越優(yōu)于大的決策樹”。...
    制杖灶灶閱讀 6,056評論 0 25
  • 3.1、摘要 在前面兩篇文章中,分別介紹和討論了樸素貝葉斯分類與貝葉斯網(wǎng)絡(luò)兩種分類算法。這兩種算法都以貝葉斯定理為...
    chaaffff閱讀 949評論 0 1
  • 轉(zhuǎn)自算法雜貨鋪--決策樹決策樹和隨機森林學(xué)習(xí)筆記-歡迎補充 http://www.cnblogs.com/fion...
    堯字節(jié)閱讀 10,912評論 1 6
  • 在計算機科學(xué)中,樹是一種很重要的數(shù)據(jù)結(jié)構(gòu),比如我們最為熟悉的二叉查找樹(Binary Search Tree),紅...
    ZPPenny閱讀 16,582評論 3 20
  • 從今年五月份開始到現(xiàn)在,跟著余老師學(xué)語文已經(jīng)一年時間,集中活動了兩次。兩次完成作業(yè)時的認(rèn)真鉆研、絞盡腦汁...
    實驗小學(xué)吳雪鳳閱讀 313評論 0 0

友情鏈接更多精彩內(nèi)容