《機器學習(周志華)》筆記--決策樹(1)--決策樹模型、決策樹簡史、基本流程

1、決策樹模型node

  決策樹(decision tree)是一種經常使用的機器學習方法,是一種描述對實例進行分類的樹形結構。算法

  決策樹是一種經常使用的機器學習方法,以二分類爲例,假設如今咱們要對是否買西瓜進行判斷和決策,咱們會問一些問題,根據回答,咱們決斷是買仍是不買,或者還拿補丁主意,這時會繼續問問題,直到能夠肯定爲止。dom

  決策樹基於「樹」結構進行決策:機器學習

    (1)內部結點:屬性ide

    (2)分支:屬性值學習

    (3)p葉結點:分類結果    測試

    學習過程:經過對訓練樣本的分析來肯定「劃分屬性」(即內部結點所對應的屬性)ui

    預測過程:將測試示例從根結點開始,沿着劃分屬性所構成的「斷定測試序列」下行,直到葉結點spa

  學習的過程就是經過劃分屬性構建決策樹的過程,預測過程就是將測試樣本從根節點開始,沿着劃分屬性構成的「斷定序列」下行,直到葉結點。rest

  結構舉例:

       

  從代碼角度來看,決策樹其實能夠當作是一堆if-else語句的集合,例如引例中的決策樹徹底能夠當作是以下代碼:

if isRed: if isCold: if hasSeed: print("buy") else: print("don't buy") else: if isCheap: print("buy") else: print("don't buy") else: print("don't buy")

  由決策樹的根結點(root node)到葉結點(leaf node)的每一條路徑構建一條規則:路徑上內部結點的特徵對應着規則的條件,而葉結點的類對應着規則的結論。

  決策樹的路徑或其對應的if-then規則集合具備一個重要的性質:互斥而且完備。這就是說,每個實例都被一條路徑或一條規則所覆蓋,並且只被一條路徑或一條規則所覆蓋。從代碼角度來看,決策樹的斷定過程比較簡單。

2、決策樹簡史

  (1)第一個決策樹算法:CLS (Concept Learning System)

    [E. B. Hunt, J. Marin, and P. T. Stone’s book 「Experiments in Induction」 published by Academic Press in 1966]

  (2)使決策樹受到關注、成爲機器學習主流技術的算法:ID3

         [J. R. Quinlan’s paper in a book 「Expert Systems in the Micro Electronic Age」 edited by D. Michie, published by Edinburgh University Press in 1979]

  (3)最經常使用的決策樹算法:C4.5

    [J. R. Quinlan’s book 「C4.5: Programs for Machine Learning」 published by Morgan Kaufmann in 1993]

  (4)能夠用於迴歸任務的決策樹算法:CART (Classification and Regression Tree)

    [L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone’s book 「Classification and Regression Trees」 published by Wadsworth in 1984]

  (5)基於決策樹的最強大算法:RF (Random Forest),這是一種「集成學習」方法。

    [L. Breiman’s MLJ’01 paper 「Random Forest]

  最初的決策樹學習算法是心理學家兼計算機科學假hunt在研究概念學習過程當中提出的CLS,這個算法確立了決策樹「分而治之」的學習策略。後來hunt的學生寫了一個相似於CLS的程序,其中最重要的改進是引入了信息增益準則,這就是ID3算法,現已經成爲機器學習主流技術算法,ID3對於可能取值多的屬性有所偏好,後來引入了增益率準則,就是C4.5.ID3如今決策樹已經成爲了一種主流的機器學習方法。

3、基本流程 

  策略:「分而治之」(divide-and-conquer)。

  自根至葉的遞歸過程,在每一箇中間結點尋找一個「劃分」(split or test)屬性。

  決策樹算法採用分而治之的學習策略,決策樹的構造過程就是一個從根節點到葉結點的遞歸過程。首先根據必定的準則選取最優的屬性進行劃分,根據屬性值獲得若干個子集,而後在每一個子集上利用一樣方法構造決策樹。當下面三個條件中一個條件知足時,將含有較多樣本的類別做爲葉結點中對應的類別標籤。

三種情形致使遞歸返回:

  (1) 當前結點包含的樣本全屬於同一類別,無需劃分。

  (2) 當前屬性集爲空, 或是全部樣本在全部屬性上取值相同,沒法劃分。

  (3) 當前結點包含的樣本集合爲空,不能劃分。

相關文章
相關標籤/搜索