A. 決策樹演算法總結
目錄
一、決策樹演算法思想
二、決策樹學習本質
三、總結
一、決策樹(decision tree)演算法思想:
決策樹是一種基本的分類與回歸方法。本文主要討論分類決策樹。決策樹模型呈樹形結構,在分類問題中,表示基於特徵對實例進行分類的過程。 它可以看做是if-then的條件集合,也可以認為是定義在特徵空間與類空間上的條件概率分布 。決策樹由結點和有向邊組成。結點有兩種類型:內部結點和葉結點,內部結點表示一個特徵或屬性,葉結點表示一個類。(橢圓表示內部結點,方塊表示葉結點)
決策樹與if-then規則的關系
決策樹可以看做是多個if-then規則的集合。將決策樹轉換成if-then規則的過程是:由決策樹的根結點到葉結點的每一條路徑構建一條規則;路徑上的內部結點的特徵對應著規則的條件,而葉結點的類對應著規則的結論。決策樹的路徑或其對應的if-then規則集合具有一個重要的性質:互斥且完備。這就是說,每一個實例都被一條路徑或一條規則所覆蓋,且只被一條路徑或一條規則所覆蓋。這里的覆蓋是指實例的特徵與路徑上的特徵一致或實例滿足規則的條件。
決策樹與條件概率分布的關系
決策樹還表示給定特徵條件下類的條件概率分布。這一條件概率分布定義在特徵空間的一個劃分上。將特徵空間劃分為互不相交的單元或區域,並在每個單元定義一個類的概率分布,就構成一個條件概率分布。決策樹的一條路徑對應於劃分中的一個單元。決策樹所表示的條件概率分布由各個單元給定條件下類的條件概率分布組成。
決策樹模型的優點
決策樹模型具有可讀性,分類速度快。學習時,利用訓練數據,根據損失函數最小化原則建立決策樹模型;預測時,對新的數據,利用決策樹模型進行分類 。
二、決策樹學習本質:
決策樹學習是從訓練數據集中歸納一組分類規則、與訓練數據集不相矛盾的決策樹可能有多個,也可能一個沒有。我們需要訓練一個與訓練數據矛盾較小的決策樹,同時具有很好的泛化能力。從另一個角度看 決策樹學習是訓練數據集估計條件概率模型 。基於特徵空間劃分的類的條件概率模型有無窮多個。我們選擇的條件概率模型應該是不僅對訓練數據有很好的擬合,而且對未知數據有很好的預測。 決策樹的學習使用損失函數表示這一目標,通常的損失函數是正則化的極大似然函數。決策樹的學習策略是以損失函數為目標函數的最小化。當損失函數確定後,決策樹學習問題變為損失函數意義下選擇最優決策樹的問題。這一過程通常是一個遞歸選擇最優特徵,並根據特徵對訓練數據進行分割,使得對各個子數據集有一個最好分類的過程。這一過程對應著特徵選擇、決策樹的生成、決策樹的剪枝。
特徵選擇 : 在於選擇對訓練數據具有分類能力的特徵,這樣可以提高決策樹的學習效率。
決策樹的生成 : 根據不同特徵作為根結點,劃分不同子結點構成不同的決策樹。
決策樹的選擇 :哪種特徵作為根結點的決策樹信息增益值最大,作為最終的決策樹(最佳分類特徵)。
信息熵 : 在資訊理論與概率統計中,熵是表示隨機變數不確定性的度量。設X是一個取有限個值的離散隨機變數,其概率分布為P(X= ) = ,i=1,2,3...n,則隨機變數X的熵定義為
H(X) = — ,0 <= H(X) <= 1,熵越大,隨機變數的不確定性就越大。
條件熵(Y|X) : 表示在已知隨機變數X的條件下隨機變數Y的不確定性。
信息增益 : 表示得知特徵X的信息而使得類Y的信息的不確定性減少的程度。
信息增益 = 信息熵(父結點熵 ) — 條件熵(子結點加權熵)
三、 總結 :
優點
1、可解釋性高,能處理非線性的數據,不需要做數據歸一化,對數據分布沒有偏好。
2、可用於特徵工程,特徵選擇。
3、可轉化為規則引擎。
缺點
1、啟發式生成,不是最優解。
2、容易過擬合。
3、微小的數據改變會改變整個數的形狀。
4、對類別不平衡的數據不友好。
B. 決策樹的演算法
C4.5演算法繼承了ID3演算法的優點,並在以下幾方面對ID3演算法進行了改進:
1) 用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;
2) 在樹構造過程中進行剪枝;
3) 能夠完成對連續屬性的離散化處理;
4) 能夠對不完整數據進行處理。
C4.5演算法有如下優點:產生的分類規則易於理解,准確率較高。其缺點是:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致演算法的低效。此外,C4.5隻適合於能夠駐留於內存的數據集,當訓練集大得無法在內存容納時程序無法運行。
具體演算法步驟如下;
1創建節點N
2如果訓練集為空,在返回節點N標記為Failure
3如果訓練集中的所有記錄都屬於同一個類別,則以該類別標記節點N
4如果候選屬性為空,則返回N作為葉節點,標記為訓練集中最普通的類;
5for each 候選屬性 attribute_list
6if 候選屬性是連續的then
7對該屬性進行離散化
8選擇候選屬性attribute_list中具有最高信息增益率的屬性D
9標記節點N為屬性D
10for each 屬性D的一致值d
11由節點N長出一個條件為D=d的分支
12設s是訓練集中D=d的訓練樣本的集合
13if s為空
14加上一個樹葉,標記為訓練集中最普通的類
15else加上一個有C4.5(R - {D},C,s)返回的點 背景:
分類與回歸樹(CART——Classification And Regression Tree)) 是一種非常有趣並且十分有效的非參數分類和回歸方法。它通過構建二叉樹達到預測目的。
分類與回歸樹CART 模型最早由Breiman 等人提出,已經在統計領域和數據挖掘技術中普遍使用。它採用與傳統統計學完全不同的方式構建預測准則,它是以二叉樹的形式給出,易於理解、使用和解釋。由CART 模型構建的預測樹在很多情況下比常用的統計方法構建的代數學預測准則更加准確,且數據越復雜、變數越多,演算法的優越性就越顯著。模型的關鍵是預測准則的構建,准確的。
定義:
分類和回歸首先利用已知的多變數數據構建預測准則, 進而根據其它變數值對一個變數進行預測。在分類中, 人們往往先對某一客體進行各種測量, 然後利用一定的分類准則確定該客體歸屬那一類。例如, 給定某一化石的鑒定特徵, 預測該化石屬那一科、那一屬, 甚至那一種。另外一個例子是, 已知某一地區的地質和物化探信息, 預測該區是否有礦。回歸則與分類不同, 它被用來預測客體的某一數值, 而不是客體的歸類。例如, 給定某一地區的礦產資源特徵, 預測該區的資源量。