ID3、C4.5、CART、RandomForest的原理


決策樹意義:

分類決策樹模型是表示基於特征對實例進行分類的樹形結構.決策樹可以轉換為一個if_then規則的集合,也可以看作是定義在特征空間划分上的類的條件概率分布. 它着眼於從一組無次序、無規則的樣本數據(概念)中推理出決策樹表示形式的分類規則.假設這里的樣本數據應該能夠用“屬性—結論”.決策樹學習旨在構建一個與訓練數據擬合很好,並且復雜度小的一個可以自動對數據進行分類的樹形結構,是樹形結構的知識表示,可以直接轉換為分類規則.因為從可能的決策樹中直接選取最優決策樹是NP完全問題,現實中采用啟發式方法學習次優的決策樹.

隨機森林就是通過集成學習的思想將多棵樹集成的一種算法,它的基本單元是決策樹,而它的本質屬於機器學習的一大分支——集成學習(Ensemble Learning)方法.

樹模型在制葯和生物領域尤其受歡迎,可能因為它和醫生做決策的過程比較類似. 隨機森林(Random Forest,簡稱RF)擁有廣泛的應用前景,從市場營銷到醫療保健保險,既可以用來做市場營銷模擬的建模,統計客戶來源,保留和流失,也可用來預測疾病的風險和病患者的易感性.

 

決策樹學習算法:

包含3部分:特征選擇、樹的生成和樹的剪枝.常用算法有ID3、C4.5和CART、RandomForest,其中C4.5是ID3的校正,RandomForest的思想可用於前面三種算法來提高正確度

 

 

 

CART(分類的生成算法)

輸入:訓練數據集D,停止計算的條件;

輸出:CART決策樹

根據訓練數據集,從根結點開始,遞歸地對每個結點進行以下操作,構建二叉決策樹;

(1)設結點的訓練數據集為D,計算現有特征對該數據集的基尼指數.此時,對每一個特征A,對其可能取的每一值a,根據樣本點對A=a的測試為“是”或“否”將D分割成D1和D2 兩部分,計算A=a時的基尼指數

(2)在所有可能的特征A以及它們所有可能的切分點a中,選擇基尼指數最小的特征及其對應的切分點作為最優特征與最優切分點.依最優特征與最優切分點,從現結點生成兩個子結點,將訓練數據集依特征分配到兩個子結點中去.

(3)對兩個子結點遞歸地調用(1)、(2),直至滿足停止條件

(4)生成CART決策樹

算法停止計算的條件是結點中的樣本個數小於預定閾值,或樣本集的基尼指數小於預定閾值(樣本基本屬於同一類),或者沒有更多特征.

 

 

決策樹優缺點:

優點:

1、決策樹易於理解和實現,人們在在學習過程中不需要使用者了解很多的背景知識,只從樣本數據及提供的信息就能夠產生一顆決策樹,這同時是它的能夠直接體現數據的特點,只要通過解釋后都有能力去理解決策樹所表達的意義;

2、對於決策樹,數據的准備往往是簡單或者是不必要的,而且能夠同時處理數據型和常規型屬性,在相對短的時間內能夠對大型數據源做出可行且效果良好的結果;

3、易於通過靜態測試來對模型進行評測,可以測定模型可信度;如果給定一個觀察的模型,那么根據所產生的決策樹很容易推出相應的邏輯表達式;

缺點:

1、是基於規則的算法,在產生規則的時候采用了局部的貪婪方法,每次只選取一個屬性進行分析構造決策樹,因而產生大量的規則,數據集很大,規則就很復雜,效率明顯會下降,而且既然是局部最優,無法保障全局最優;

2、C4.5在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效.只適合於能夠駐留於內存的數據集,當訓練集大得無法在內存容納時程序無法運行;

3、處理缺失數據時的困難;

4、過度擬合問題的出現,以及忽略數據集中屬性之間的相關性等.

 

RF的優缺點:

優點:

1、 幾乎不需要輸入准備.它們可以處理二元特征,分類特征,數字特征,並且不需要任何縮放處理.

2、 在當前所有算法中,具有極好的准確率;

3、 能夠有效地運行在大數據集上;

4、 能夠處理具有高維特征的輸入樣本,而且不需要降維;

5、 能夠評估各個特征在分類問題上的重要性;

6、 在生成過程中,能夠獲取到內部生成誤差的一種無偏估計;

7、 對於缺省值問題也能夠獲得很好得結果;

8、 可實現隱式特征選擇,並且提供一個很好的特征重要性指標;

9、 通用性.隨機森林適用於各種各樣的建模工作,它們可以很好的處理回歸任務和分類任務(甚至產生體面的校正的概率分數),它就相當於機器學習領域的Leatherman(多面手),你幾乎可以把任何東西扔進去,它基本上都是可供使用的.在估計推斷映射方面特別好用,以致都不需要像SVM那樣做很多參數的調試.

 

缺點:

1、  隨機森林的主要劣勢在於模型大小.你可能需要數百兆的內存才能輕松地結束一個森林,而且評估的速度也很慢.

2、  另外一點,有些人可能會發現一個問題,也就是隨機森林模型其實是個很難去解釋的黑盒子.

 

RF為什么要有放回地抽樣:

如果不是有放回的抽樣,那么每棵樹的訓練樣本都是不同的,都是沒有交集的,這樣每棵樹都是"有偏的",都是絕對"片面的",也就是說每棵樹訓練出來都是有很大的差異的;而隨機森林最后分類取決於多棵樹(弱分類器)的投票表決,這種表決應該是"求同",因此使用完全不同的訓練集來訓練每棵樹這樣對最終分類結果是沒有幫助的

1)如果每個樣本的特征維度為M,指定一個常數m<<M,隨機地從M個特征中選取m個特征子集,每次樹進行分裂時,從這m個特征中選擇最優的;

2)  每棵樹都盡最大程度的生長,並且沒有剪枝過程.

隨機森林中的“隨機”就是指的這里的兩個隨機性.兩個隨機性的引入對隨機森林的分類性能至關重要.由於它們的引入,使得隨機森林不容易陷入過擬合,並且具有很好得抗噪能力(比如:對缺省值不敏感).

隨機森林分類效果(錯誤率)與兩個因素有關:

1)森林中任意兩棵樹的相關性:相關性越大,錯誤率越大;

2)森林中每棵樹的分類能力:每棵樹的分類能力越強,整個森林的錯誤率越低.

減小特征選擇個數m,樹的相關性和分類能力也會相應的降低;增大m,兩者也會隨之增大.所以關鍵問題是如何選擇最優的m(或者是范圍),這也是隨機森林唯一的一個參數.

 

 


免責聲明!

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



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