機器學習之決策樹算法
決策樹是歸納學習中的一種展示決策規則和分類結果的模型算法。在本文中,作者分享了決策樹的原理和構造步驟,以及日常應用場景,供各位參考。
一、什么叫決策樹?
決策樹(Decision Tree),又稱判斷樹,它是一種以樹形數據結構來展示決策規則和分類結果的模型,作為一種歸納學習算法,其重點是將看似無序、雜亂的已知實例,通過某種技術手段將它們轉化成可以預測未知實例的樹狀模型,每一條從根結點(對最終分類結果貢獻最大的屬性)到葉子結點(最終分類結果)的路徑都代表一條決策的規則。
二、決策樹的原理是什么?
決策樹(Decision Tree),是一種樹狀結構,上面的節點代表算法的某一特征,節點上可能存在很多的分支,每一個分支代表的是這個特征的不同種類(規則),最后葉子節點代表最終的決策結果。
決策樹的構造只會影響到算法的復雜度和計算的時間,不會影響決策的結果。
為了更直觀地理解決策樹,我們現在來構建一個簡單的郵件分類系統,如圖:
- 首先檢測發送郵件域名地址;
- 如果地址為com,則放置于“無聊時需要閱讀的郵件”分類;
- 如果不是這個地址,那么再次檢測;
- 檢查郵件是否有單詞“曲棍球”;
- 包含單詞“曲棍球”,則放置于“需要及時處理的朋友郵件”分類;
- 不包含單詞“曲棍球”,則放置于“無需閱讀的垃圾郵件”分類。
現在,我們來總結一下決策樹的構成:
- 根節點。第一個需要判斷的條件,往往也是最具有特征的那個條件,我們稱為根節點。
- 中間節點。那個矩形總是要往下分,并不是最終的結果,它叫做中間節點(或內部節點)。
- 邊。那些帶有文字的線段(一般使用有箭頭的有向線段),線的一端連的是中間節點、另一端連的是另一個中間節點或葉節點,然后線段上還有文字,它叫做邊。
- 葉節點。那個圓角矩形,它就已經是最后的結果了,不再往下了,這一類東西呢,在決策樹里叫做葉節點。
三、決策樹的構造步驟
- 數據準備:首先對數據進行預處理,包括缺失值填充、異常值處理以及特征編碼等操作。
- 特征選擇:在每個內部節點上,計算所有特征的基尼不純度(CART)或信息增益(ID3),選取具有最小不純度/最大增益的特征作為劃分標準。
- 生成分支:根據選定特征的最佳分割點,將數據集劃分為子集,并為該節點創建分支。
- 遞歸生長:對每個子集重復上述過程,直至滿足停止條件,如達到預設的最大深度、葉子節點包含樣本數量少于閾值或者信息增益不再顯著提高等。
- 剪枝優化:為了防止過擬合,可以通過后剪枝或預剪枝方法來簡化決策樹結構,提升模型泛化能力。
四、決策樹的分類有哪些?
1. CART(Classification and Regression Tree)
Breiman.L.I等人在1984年提出了CART算法,即分類回歸樹算法。CART算法用基尼指數(Gini Index)代替了信息熵,用二叉樹作為模型結構,所以不是直接通過屬性值進行數據劃分,該算法要在所有屬性中找出最佳的二元劃分。CART算法通過遞歸操作不斷地對決策屬性進行劃分,同時利用驗證數據對樹模型進行優化。
處理問題類型:分類或回歸
結構:二叉樹結構
計算指標:分類問題是基尼系數,回歸問題的指標是偏差
特點:可以處理缺失值,連續值,可以剪枝,避免過擬合。即可以處理分類問題,也可以處理回歸問題。
CART中用于選擇變量的不純性度量是Gini指數,總體內包含的類別越雜亂,GINI指數就越大(跟熵的概念很相似)。
基尼系數公式如下:
舉例:
數據集D的純度可用基尼值來度量:
屬性a的基尼指數定義為加權基尼指數:
如何理解上面的公式呢?我們簡單舉個例子:
樣例數據
簡單解釋下為啥要這樣算。
首先工資有兩個取值,分別是0和1。當工資=1時,有3個樣本。
所以:
同時,在這三個樣本中,工作都是好。
所以:
就有了加號左邊的式子:
同理,當工資=0時,有5個樣本,在這五個樣本中,工作有3個是不好,2個是好。
就有了加號右邊的式子:
同理,可得壓力的基尼指數如下:
平臺的基尼指數如下:
注意啦,在計算時,工資和平臺的計算方式有明顯的不同。因為工資只有兩個取值0和1,而平臺有三個取值0,1,2。所以在計算時,需要將平臺的每一個取值都單獨進行計算。比如:當平臺=0時,將數據集分為兩部分,第一部分是平臺等于0,第二部分是平臺大于0。
根據基尼指數最小準則,我們優先選擇工資或者平臺=0作為D的第一特征。
我們選擇工資作為第一特征,那么當工資=1時,工作=好,無需繼續劃分。
當工資=0時,需要繼續劃分。當工資=0時,繼續計算基尼指數:
當平臺=0時,基尼指數=0,可以優先選擇。
同時,當平臺=0時,工作都是好,無需繼續劃分,當平臺=1,2時,工作都是不好,也無需繼續劃分。直接把1,2放到樹的一個結點就可以。最終的決策樹如下:
2. ID3(Iterative Dichotomiser 3)
ID3采用香濃的信息熵來計算特征的區分度。選擇熵減少程度最大的特征來劃分數據,也就是“最大信息熵增益”原則。它的核心思想是以信息增益作為分裂屬性選取的依據。
處理問題類型:多分類
結構:多叉樹結構
計算指標:信息增益
特點:簡單易懂,無法剪枝、容易過擬合,無法處理連續值
存在的缺陷:該算法未考慮如何處理連續屬性、屬性缺失以及噪聲等問題。
下面來介紹兩個與此有關的概念:
信息熵是一種信息的度量方式,表示信息的混亂程度,也就是說:信息越有序,信息熵越低。舉個列子:火柴有序放在火柴盒里,熵值很低,相反,熵值很高。它的公式如下:
信息增益: 在劃分數據集前后信息發生的變化稱為信息增益,信息增益越大,確定性越強。
我們來看看代表之一 —— ID3算法。
在劃分數據集之前之后信息發生的變化稱為信息增益,知道如何計算信息增益,我們就可以計算每個特征值劃分數據集獲得的信息增益,獲得信息增益最高的特征就是最好的選擇。
這里又引入了另一個概念——熵。這里先不展開說了,我們記住他的概念:一個事情它的隨機性越大就越難預測。
具體來說這個概率p越小,最后熵就越大(也就是信息量越大),如果極端情況一件事情概率為1,它的熵就變成0了。
比如,你如果能預測一個彩票的中獎號碼就發達了。但是,如果你能預測明天太陽從東邊升起來則毫無價值。這樣衡量一個信息價值的事,就可以由熵來表示。
聰明的你或許已經發現了,決策樹算法其實就是為了找到能夠迅速使熵變小,直至熵為0的那條路徑,這就是信息增益的那條路。我們將對每個特征劃分數據集的結果計算一次信息熵,然后判斷按照哪個特征劃分數據集是最好的劃分方式。
舉個容易理解的例子:
解決問題:預設4個自變量:天氣、溫度、濕度、風速,預測學校會不會舉辦運動會?
步驟一:假設我們記錄了某個學校14屆校運會按時舉行或取消的記錄,舉行或者取消的概率分別為:9/14、5/14,那么它的信息熵,這里也叫先驗熵,為:
步驟二:我們同時記錄了當天的天氣情況,發現天氣好壞和校運會舉行還是取消有關。14天中,5次晴天(2次舉行、3次取消)、5次雨天(3次舉行、2次取消)、4次陰天(4次舉行)。相對應的晴天、陰天、雨天的后驗熵。
步驟三:我們計算知道天氣情況后的條件熵。
步驟四:我們計算在有沒有天氣情況這個條件前后的信息增益就是。
步驟五:我們依次計算在有沒有溫度、濕度、風速條件前后的信息增益。
步驟六:根據設置的閾值,若信息增益的值大于設置的閾值,選取為我們的特征值,也就是我們上圖中的矩形節點。
步驟七:生成決策樹。選取信息增益最大的自變量作為根節點。其他的特征值依次選取為內部節點。
比如上面的例子是這樣的過程:
經過如上步驟,我們得到決策樹??梢钥吹?,最終們只選取了3個特征值作為內部節點。
3. C4.5
J.R.Quinlan針對ID3算法的不足設計了C4.5算法,引入信息增益率的概念。它克服了ID3算法無法處理屬性缺失和連續屬性的問題,并且引入了優化決策樹的剪枝方法,使算法更高效,適用性更強。
處理問題類型:多分類
結構:多叉樹結構
計算指標:信息增益
特點:可以處理缺失值,連續值,可以剪枝,避免過擬合
同樣介紹一下信息增益率:在決策樹分類問題中,即就是決策樹在進行屬性選擇劃分前和劃分后的信息差值。
五、決策樹的優勢與局限是什么?
優勢:
- 易于理解和解釋,生成的決策規則可以直接轉化為業務策略。
- 可處理分類問題及回歸問題,分類問題可處理多分類問題。
局限:
- 容易過擬合。決策樹傾向于生成復雜的模型,容易過擬合訓練數據,導致模型在新數據上的性能下降,缺乏泛化能力。為了解決這個問題,可以通過剪枝、限制樹的最大深度或引入正則化等技術來控制模型復雜度。
- 對噪聲及不均衡數據非常敏感。噪聲數據可能導致錯誤的分割點,從而影響模型的準確性。在不均衡數據集中,如果某個類別的樣本數目遠遠超過其他類別,則決策樹往往傾向于選擇該類別作為劃分點,造成模型偏向該類別。
- 對輸入數據的微小變化敏感,可能導致完全不同的決策樹生成。
- 決策樹計算復雜。決策樹的構建過程中,需要對每個特征進行多次劃分,并計算信息增益、基尼系數等指標。這導致了決策樹算法的計算復雜度較高,特別是在處理大規模數據集時。為了降低計算負擔,可以采用一些優化技術,如特征選擇和剪枝。
六、 決策樹的日常應用場景有哪些?
1. 信用評估
銀行或金融機構在進行個人或企業信貸審批時,可以使用決策樹模型根據申請人的特征(如年齡、收入水平、職業、負債情況等)來預測其違約風險,并據此制定貸款策略。
2. 市場營銷
在市場細分中,公司可通過決策樹分析客戶的購買行為、消費習慣、地理位置等信息,以識別潛在的目標群體并定制營銷策略。
3. 醫療診斷
構建疾病診斷模型,醫生可以根據病人的癥狀、體檢結果等因素快速得出可能的診斷結論,如心臟病發作的風險評估、腫瘤分類等。
4. 圖像識別
雖然深度學習在圖像識別方面表現優異,但在某些簡單場景下,基于像素強度值或其他提取出的圖像特征構建的決策樹或隨機森林也能實現有效分類,比如醫學影像中的結節檢測。
5. 推薦系統
用于基于內容的推薦,根據用戶的屬性和歷史行為數據建立模型,決定向用戶推薦何種類型的商品或服務。
參考:
七大機器學習常用算法精講:決策樹與隨機森林(三)-人人都是產品經理-火粒產品
機器學習必修:決策樹算法(Decision Tree)-人人都是產品經理-CARRIE
AI產品經理必懂算法:決策樹-人人都是產品經理-燕然未勒
作者:厚謙,公眾號:小王子與月季
本文由@厚謙 原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!