引言
圈外人聽到“決策樹”的想法:這是什么樹?難道是類似于二叉樹的數據結構嗎?
圈內人聽到“決策樹”的想法:決策樹哦,機器學習常用模型,用樹型結構來模擬決策過程,具有很好的模型解釋型,其常用的決策樹模型有:(1)ID3(2)C4.5(3)CART,巴拉巴拉。。。。(頭暈了)
關于決策樹算法,我打算分兩篇來講,一篇講思想原理,另一篇直接擼碼來分析算法。本篇為原理篇。
通過閱讀這篇文章,你可以學到:
1、決策樹的本質
2、決策樹的構造過程
3、決策樹的優化方向
決策樹根據使用目的分為:分類樹和回歸樹,其本質上是一樣的。本文只講分類樹。
決策樹的本質
決策樹,根據名字來解釋就是,使用樹型結構來模擬決策。
用圖形表示就是下面這樣。
其中橢圓形代表:特征或屬性。長方形代表:類別結果。
面對一堆數據(含有特征和類別),決策樹就是根據這些特征(橢圓形)來給數據歸類(長方形)
例如,信用貸款問題,我根據《神奇動物在哪里》的劇情給銀行造了個決策樹模型,如下圖:
《神奇動物在哪里》的雅各布想開面包店向銀行貸款,一開始銀行根據該模型拒絕了他的貸款。
到最后,紐特給了他鳥蛇蛋作為抵押(其他值錢的抵押物),銀行便給予了貸款。
你可以感受一下這種分類的過程。
然而,決定是否貸款可以根據很多特征,然麻雞銀行選擇了:(1)是否房產價值>100w;(2)是否有其他值錢的抵押物;(3)月收入>10k;(4)是否結婚;這四個特征,來決定是否給予貸款。
先不管是否合理,但可以肯定的是,決策樹做了特征選擇工作,即選擇出類別區分度高的特征。
對應信貸問題就是,信用貸款最重要的一點就是是否有償還能力,麻雞銀行需要的是能明顯區分申請人是否有償還能力的特征。
由此可見,決策樹其實是一種特征選擇方法。(特征選擇有多種,決策樹屬于嵌入型特征選擇,以后或許會講到,先給個圖)即選擇區分度高的特征子集。
那么,從特征選擇角度來看決策樹,決策樹就是嵌入型特征選擇技術
同時,決策樹也是機器學習中經典分類器算法,通過決策路徑,最終能確定實例屬于哪一類別。
那么,從分類器角度來看決策樹,決策樹就是樹型結構的分類模型
從人工智能知識表示法角度來看,決策樹類似于if-then的產生式表示法。
那么,從知識表示角度來看決策樹,決策樹就是if-then規則的集合
由上面的例子可知,麻雞銀行通過決策樹模型來決定給哪些人貸款,這樣決定貸款的流程就是固定的,而不由人的主觀情感來決定。
那么,從使用者角度來看決策樹,決策樹就是規范流程的方法
最后我們再來看看決策樹的本質是什么已經不重要了。
決策樹好像是一種思想,而通過應用在分類任務中從而成就了“決策樹算法”。
下面內容還是繼續講解用于分類的“決策樹算法”。
決策樹的構建過程
前面講了決策樹是一種特征選擇技術。
既然決策樹就是一種特征選擇的方法,那么經典決策樹算法其實就是使用了不同的特征選擇方案。
如:
(1)ID3:使用信息增益作為特征選擇
(2)C4.5:使用信息增益率作為特征選擇
(3)CART:使用GINI系數作為特征選擇
具體選擇的方法網上一大把,在這里我提供幾個鏈接,不細講。
但,不僅僅如此。
決策樹作為嵌入型特征選擇技術結合了特征選擇和分類算法,根據特征選擇如何生成分類模型也是決策樹的一部分。
其生成過程基本如下:
- 根據某個指標(如:信息增益的大小)來選擇特征;
- 根據某個停止指標,使用自上而下或自下而上的方式構建決策樹(類似上述例子中麻雞銀行決策樹模型),直到滿足停止指標條件,則停止構建;
- 根據某個過擬合指標對決策樹進行剪枝。
根據這三個步驟,可以確定決策樹由:(1)特征選擇;(2)生成方法;(3)剪枝,組成。
決策樹中學習算法與特征選擇的關系如下圖所示:
原始特征集合T:就是包含收集到的原始數據所有的特征,例如:麻瓜銀行收集到與是否具有償還能力的所有特征,如:是否結婚、是否擁有100w的房產、是否擁有汽車、是否有小孩、月收入是否>10k等等。
中間的虛線框就是特征選擇過程,例如:ID3使用信息增益、C4.5使用信息增益率、CART使用GINI系數。
其中評價指標(如:信息增益)就是對特征的要求,特征需要滿足這種條件(一般是某個閾值),才能被選擇,而這一選擇過程嵌入在學習算法中,最終被選擇的特征子集也歸到學習算法中去。
這就是抽象的決策樹生成過程,不論哪種算法都是將這一抽象過程的具體化。
其具體算法我將留在下一篇文章來講解。
而決策樹的剪枝,其實用得不是很多,因為很多情況下隨機森林能解決決策樹帶來的過擬合問題,因此在這里也不講了。
決策樹的優化方向
決策樹的優化主要也是圍繞決策樹生成過程的三個步驟來進行優化的。
樹型結構,可想而知,算法效率決定于樹的深度,優化這方面主要從特征選擇方向上優化。
提高分類性能是最重要的優化目標,其主要也是特征選擇。
面對過擬合問題,一般使用剪枝來優化,如:李國和基于決策樹生成及剪枝的數據集優化及其應用。
同時,決策樹有很多不足,如:多值偏向、計算效率低下、對數據空缺較為敏感等,這方面的優化也有很多,大部分也是特征選擇方向,如:陳沛玲使用粗糙集進行特征降維。
由此,決策樹的優化方向大多都是特征選擇方向,像ID3、C4.5、CART都是基于特征選擇進行優化。
參考文獻
統計學習方法-李航
特征選擇方法綜述-李郅琴
決策樹分類算法優化研究_陳沛玲
基于決策樹生成及剪枝的數據集優化及其應用-李國和