1. 程式人生 > >統計學習方法學習筆記《五》——決策樹

統計學習方法學習筆記《五》——決策樹

引言

預測問題:分類和迴歸

        資料分類是大資料分析的一種重要手段,在已有的資料集上學習到一個預測模型,用於對未知資料進行分類。當該模型預測結果是離散且無序的話,可以看成是某個特定類別的資料集(class label), 反之,當該模型預測結果是實數或者有序的話,我們稱之為迴歸分析(regression analysis),也稱數值預測(numeric prediction)。在這裡,我們集中討論分類預測問題。

        何為分類?分類的依據又是什麼?試想一下,我們怎麼描述和判別一個幾何形狀是三角形,長方形,或是圓形?直觀上,我們會想到用點和邊描述一個幾何形狀,在判別的過程中,我們會依據有幾條邊,邊之間的值關係,角點的數量進行預測。以此類推,我們很容易想到,給定訓練資料集S,資料集元素x是由n個特徵值構成的n維向量X,我們期望於找到一系列劃分規則或者一個目標函式(target function):y = f(X), 把向量X對映到類標籤集合中。如果學習到的預測函式(模型)被認為是良好的話,我們就可以用它來對未知的同類資料進行類別預測。

         決策樹是一種基本的分類和迴歸方法,下面我們著重討論用於分類的決策樹。在分類問題中,它可以認為是if-then規則的集合,也可以認為是定義在特徵空間與類空間上的概率分佈。它的的主要優點

        (1):模型具有可讀性,具有描述性,利於人工分析;

        (2):分類速度快,效率高,學習一次即可用於預測,具有資料擴充套件性,預測時最大計算次數不會不會超過樹的深度。

決策樹模型與學習

        分類樹模型是一種描述對例項進行分類的樹形結構,類似於流程圖結構。決策樹由結點(node)和有向邊(directed edge)組成,節點有兩種型別:內部結點(internal node)和葉結點(leaf node);有向邊表示基於某個特徵測試的輸出結果,內部結點表示基於某個特徵的測試,葉子結點表示最後輸出預測結果類別。         決策樹學習本質是從訓練資料集中歸納出一組分類規則(或是一個估計條件概率模型),與訓練資料集不相矛盾的決策樹可能有多個,也可能一個也沒有,我們需要構造一個與訓練資料矛盾較小的決策樹,同時具有良好的泛化能力。為了直觀我們看下面一個例子(from Data Mining Concepts and Techniques):         
                 常見的分類決策樹演算法ID3 C4.5 CART ,都採用了自頂而下的遞迴選擇最優特徵進行分割。決策樹學習演算法通常包含特徵選擇,決策樹的生成與決策樹的剪枝過程。決策樹的生成只考慮區域性最優,相對地,決策樹的剪枝則考慮全域性最優。下面結合ID3 C4.5 CART具體的演算法分析決策樹學習過程。

特徵選擇

        特徵選擇在於選取對訓練資料具有分析能力的特徵,通常是區域性最優。如果一個特徵進行分類和隨機分類的結果沒有多大區別,則稱這個特徵是沒有分類能力的。下面介紹幾種常用的特徵選擇方法。

資訊增益(Information Gain)

        如何評價一個特徵分割點好壞?如果由該特徵點分割的資料集中,每一個數據集分對的概率都比較大,相對比較純(purity),我們就認定該特徵點是最好的分割點;那麼問題來了,如何量化好壞程度呢?ID3採用了資訊理論中的互資訊(mutual information)和熵(entropy)來度量,互資訊表示的兩個事件集合的相關性,熵表示隨機變數不確定性的度量,熵值越大,表示需要對集合正確分類的資訊越多, 越不純(impurity)。         熵的定義:         

        條件熵的定義:                  資訊增益的定義:                  所謂條件熵表示在已知特徵已經被選取的條件下原始資料集的不純性(impurity),也即不確定性。資訊增益表示得知特徵的資訊而使得資料集不確定性減少程度,其定義為:                  ID3便是採用此種特徵選取方法。

資訊增益比(Gain Ratio)

        我們先來考慮這樣一個問題:假設我們有個資料集,該資料集描述的是每件商品,每件商品包含唯一的商品ID:product_ID,如果我們按照product_ID劃分的話,把每件商品劃分到一類,劃分後的資料集都很純,但是這樣劃分對預測資料一點用也沒有。因此我們發現通過資訊增益作為特徵選取演算法有一定缺陷,它傾向於把原資料集分成很多類,造成過擬合。因此改進的C4.5演算法採用資訊增益比作為特徵選取演算法.         資訊增益比的定義:                  其中分割資訊定義如下,類似熵的定義,但這個ID3中求熵不同,這裡是求資料集相對特徵劃分後類別的熵,而ID3中是求資料集相對本徵類別的熵。         

基尼指數(Gini Index)

        CART遞迴地構建二叉決策樹,對迴歸樹用平方誤差最小化準則,對分類樹則用基尼指數(Gini Index)最小化準則,進行特徵選擇,生成二叉樹。                  如果樣本集合D根據特徵A被分割成D1和D2兩部分,則在特徵A的條件下,集合D的基尼指數定義為:                  基尼指數越大,樣本集合的不確定性也就越大,這一點和熵類似。因為CART嚴格要求是二叉樹,因此在對特徵劃分的時候會遇到兩種情況,一類是離散值,另一類是連續值,可以進行如下劃分:         

決策樹生成

下面給出虛擬碼,其中特徵選取函式分別對應上面給定的三種特徵選取方式依次為ID3 C4.5 CART:

決策樹剪枝

        決策樹生產演算法遞迴地產生決策樹,直到不能繼續下去。這樣產生的樹往往對訓練資料的分類很準確,但對未知的測試資料的分類卻沒有那麼準確,即出現過擬合現象,因此對已生成的決策樹進行簡化,也即是剪枝,簡化分類樹模型。剪枝演算法有很多,參考統計學習方法一書,介紹簡單的一種剪枝演算法。決策樹的剪枝往往通過極小化決策樹整體的損失函式(loss function)或代價函式(cost function)來實現。構造合理的損失函式,對最後的剪枝結果有著決定性的作用。

參考資料

[1] 《DATA MINING Concepts and Techniques》Chapter 8 Classification: Basic Concepts
[2] 《統計學習方法》Chapter 5