決策樹,或稱多級分類器,是模式識別中進行分類的一種有效方法,對於多類或多峯分佈問題,這種方法尤其方便。 利用樹分類器能夠把一個複雜的多類別分類問題,轉化爲若干個簡單的分類問題來解決。 它不是企圖用一種算法、一個決策規則去把多個類別一次分開,而是採用分級的形式,使分類問題逐步獲得解決。算法
通常來說,一個決策樹由一個根節點n1,一組非終止節點ni和一些終止節點tj組成,可對tj標以各類類別標籤,有時不一樣的終止節點上能夠出現相同的類別標籤。 若是用T表示決策樹,則一個決策樹T對應於特徵空間的一種劃分,它把特徵空間分紅若干個區域,在每一個區域中,某類的樣本佔優點,所以能夠標出該類樣本的類別標籤。函數
決策樹的一種簡單形式是二叉樹,它是指除葉結點外,樹的每一個節點僅分爲兩個分支,即每一個非終止節點ni都有且僅有兩個子節點nil和nir。 二叉樹結構分類器能夠把一個複雜的多類別分類問題轉化爲多級多個兩類問題來解決,在每一個非終止節點ni都把樣本集分紅左右兩個子集。性能
分紅的每一部分仍然可能包含多個類別的樣本,能夠把每一部分再分紅兩個子集,如此下去,直至分紅的每一部分只包含同一類別的樣本,或某一類樣本佔優點爲止。 二叉樹結構分類器概念簡單、直觀、便於解釋,並且在各個節點上能夠選擇不一樣的特徵和採用不一樣的決策規則,所以設計方法靈活多樣,便於利用先驗知識來得到一個較好的分類器。優化
一個二叉決策樹的例子 在此例中,每一個節點只選擇一個特徵,並給出相應的決策閾值。 對於一個未知樣本x,只要從根節點到葉結點,順序把x的某個特徵觀測值與相應的閾值相比較,就可作出決策,把x分到相應的分支,最後分到合適的類別中去。spa
在設計一個決策樹時,主要應解決如下幾個問題: 選擇一個合適的樹結構,即合理安排樹的節點和分支; 肯定在每一個非終止節點上要使用的特徵; 在每一個非終止節點上選擇合適的決策規則。 上述三個問題解決了,決策樹的設計也就完成了。二叉樹的設計也不例外。設計
把一個多類別分類問題轉化爲兩類問題的形式是多種多樣的,所以,對應的二叉樹的結構也是各不相同的。一般的目的是要找一個最優的決策樹。 一個性能良好的決策樹結構應該具備小的錯誤率和低的決策代價。 可是因爲很難把錯誤率的解析表達式和樹的結構聯繫起來,並且在每一個節點上所採用的決策規則也僅僅是在該節點上所採用的特徵觀測值的函數,所以,即便每一個節點上的性能都達到最優,也不能說整個決策樹的性能達到最優。blog
在實際問題中,人們每每提出其它一些優化準則,例如極小化整個樹的節點數目,或從根節點到葉結點的最大路經長度,或從根節點到葉結點的平均路經長度等,而後採用動態規劃的方法,力爭設計出能知足某種準則的「最優」決策樹。二叉樹