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


一、決策樹模型

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

  決策樹是一種常用的機器學習方法,以二分類為例,假設現在我們要對是否買西瓜進行判斷和決策,我們會問一些問題,根據回答,我們決斷是買還是不買,或者還拿補丁主意,這時會繼續問問題,直到可以確定為止。

  決策樹基於“樹”結構進行決策:

    (1)內部結點:屬性

    (2)分支:屬性值

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

    學習過程:通過對訓練樣本的分析來確定“划分屬性”(即內部結點所對應的屬性)

    預測過程:將測試示例從根結點開始,沿着划分屬性所構成的“判定測試序列”下行,直到葉結點

  學習的過程就是通過划分屬性構建決策樹的過程,預測過程就是將測試樣本從根節點開始,沿着划分屬性構成的“判定序列”下行,直到葉結點。

  結構舉例:

       

  從代碼角度來看,決策樹其實可以看成是一堆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規則集合具有一個重要的性質:互斥並且完備。這就是說,每一個實例都被一條路徑或一條規則所覆蓋,而且只被一條路徑或一條規則所覆蓋。從代碼角度來看,決策樹的判定過程比較簡單。

二、決策樹簡史

  (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現在決策樹已經成為了一種主流的機器學習方法。

三、基本流程 

  策略:“分而治之”(divide-and-conquer)。

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

  決策樹算法采用分而治之的學習策略,決策樹的構造過程就是一個從根節點到葉結點的遞歸過程。首先根據一定的准則選取最優的屬性進行划分,根據屬性值得到若干個子集,然后在每個子集上利用同樣方法構造決策樹。當下面三個條件中一個條件滿足時,將含有較多樣本的類別作為葉結點中對應的類別標簽。

三種情形導致遞歸返回:

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

  (2) 當前屬性集為空, 或是所有樣本在所有屬性上取值相同,無法划分。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM