02決策樹-初識與構建
在講決策樹之前補充了一些基本概念:位元化、資訊熵、條件熵,重點理解熵的概念。本章開始正式進入機器學習模型-決策樹。
01 決策樹 – 數學理論概述
決策樹 Decision Tree: 在已知各種情況發生概率的基礎上,通過構建決策樹來進行分析的一種方式,是一種__運用概率分析的圖解法__。
決策樹是一個預測模型,代表物件屬性和物件值的對映關係;每個葉子節點都代表一種類別;
決策樹分為:決策樹可用於__有監督__的分類和迴歸演算法,迴歸用於預測連續值,常用演算法:ID3、C4.5、CART等。
一、決策樹構建過程
決策樹演算法的重點是決策樹的構造,構造過程是進行屬性選擇度量,確定各個特徵屬性之間的樹形關係。
構建決策樹步驟是分裂屬性,分裂屬性是指在某個節點按照某一類特徵屬性的不同劃分,構建不同的分支。目的在於:讓各個分裂子集儘可能$color{red}{純}$。即讓一個分裂子類中,待分類的項儘可能的屬於同一類別。
比如:根據一個人有沒有喉結來判斷是男是女。
通過“是否有喉結”這一屬性分類出的兩個子類:“男”,“女” 。這是一個比較$color{red}{純}$的分類。原來人的分類是男是女不確定性很高,但根據上述分類之後,男和女的分類相當清晰,此時該系統的不穩定性會比較低。
但是:如果根據一個人 “是否帶眼鏡” 來判斷是男是女,顯然分類的結果不如根據 “是否有喉結” 進行分類效果好。
此時理解:__構造過程是進行屬性選擇度量,確定各個特徵屬性之間的樹形關係。__ 這句話的含義是不是就清晰多了。
二、構建步驟如下
1、將所有特徵看成一個一個的節點。
2、遍歷每個特徵的每一種分割方式,找到最好的分割點;將資料劃分為不同的子節點,N1、N2、…、Nm,計算劃分之後所有子節點的$color{red}{純度}$資訊。
3、對於第2步產生的分割,選擇出最優的特徵以及最優的劃分方式;得出最終的子節點:N1、N2、…、Nm;
4、對於子節點N1、N2、…、Nm分別繼續執行2~3步,直到每個最終子節點都足夠$color{red}{純}$。
思考決策樹和KD樹的區別:
01 KNN演算法 – 概述
02 KNN演算法 – KD Tree
KD樹是一個二叉樹,而決策樹每一層的葉子節點可以有多個。
步驟分析:現在有若干特徵x1、x2、… 、xn
__假設1:__特徵x為是否有喉結。
那麼對於特徵值的劃分必然是(0-有,1-沒有),特徵劃分方式只有一種。二叉樹。
__假設2:__特徵x有三種取值:(0,1,2) 那麼分類方式有幾種?
第1種:(0,1,2);三個葉子節點。
第2種:屬於0類,不屬於0類;二叉樹。
第3種:屬於1類,不屬於1類;二叉樹。
第4種:屬於2類,不屬於2類;二叉樹。
在這4中分類方式中,我們可以找到一個對系統穩定性最佳的分類方式。
然後對於若干特徵x1、x2、… 、xn,我們需要遍歷出每一種特徵__所有__的分類方式,並找到一個對系統穩定性最佳的分類方式。
再針對上一步已選出的特徵x1、x2、… 、xn中的最佳的分類方式,我們再從這n個分類方式中再找到一個最佳的分類方式,做為決策樹第一次分裂。這次的分裂是所有選擇中最$color{red}{純}$的分割方式,是整個系統中的最優分割方式。
得到第一個最$color{red}{純}$的分割方式即生成了第1組子節點,我們還可以繼續往下劃分,以此類推。
注意:
1、一切劃分的標準都是基於目標值Y的,一個理想的演算法結果是:每一次分割後的子節點,都更夠更好得體現目標值。
2、如果一次分裂將子節點分割得太細,如動物分類,我們不是分割到狗就結束,而是一次細分到狗的每一個品種(金毛、泰迪)。分得太細可能會引起過擬合的問題。
3、針對連續值的劃分:確定一個值s作為分裂點,將大於s的值作為一條分支,小於等於s的值作為另一條分支。
三、決策樹分割屬性的選擇
決策樹演算法是一種 “貪心演算法” ,我們只可能考慮到每一次分裂的最優分割情況,但是無法找出全域性的最優劃分情況。
對於整體資料而言,按照所擁有特徵屬性進行劃分操作,對所有劃分操作的結果集$color{red}{純度}$進行比較,選擇$color{red}{純度}$越高的屬性作為當前需要分割的資料集進行分割操作。持續迭代,直到得到最終結果。
決策樹是通過$color{red}{純度}$來選擇分割特徵屬性點的。
PS:在本文中,唯一沒有深入解釋的術語是$color{red}{純度}$,文章中統一使用紅色標註。$color{red}{純度}$是非常重要的一個知識點,會在下一章深入描述。本章中,請先充分認識到$color{red}{純度}$在決策樹中的作用和意義。
相關文章
- 決策樹模型(3)決策樹的生成與剪枝模型
- 初識建構函式函式
- 決策樹
- 決策樹示例
- 02_初識jQueryjQuery
- 《機器學習Python實現_09_02_決策樹_CART》機器學習Python
- 構建知識圖譜-初學
- 機器學習西瓜書02:第四章,決策樹。機器學習
- 4. 決策樹
- Decision tree——決策樹
- 決策樹(Decision Tree)
- 【資料結構與演算法】二分鐘初識樹資料結構演算法
- 遊戲AI之決策結構—行為樹遊戲AI
- Python機器學習:決策樹001什麼是決策樹Python機器學習
- 構建之法02
- 淺談樹模型與整合學習-從決策樹到GBDT模型
- 決策樹演算法的推理與實現演算法
- 分類——決策樹模型模型
- 決策樹演算法演算法
- ML《決策樹(三)CART》
- [模式識別複習筆記] 第8章 決策樹模式筆記
- 機器學習之使用sklearn構造決策樹模型機器學習模型
- 關於決策樹的理解
- 機器學習:決策樹機器學習
- 決策樹和隨機森林隨機森林
- 決策樹學習總結
- 機器學習——決策樹模型機器學習模型
- 大資料————決策樹(decision tree)大資料
- 機器學習之決策樹機器學習
- 決策樹模型(2)特徵選擇模型特徵
- ML《決策樹(一)ID3》
- ML《決策樹(二)C4.5》
- 【Python機器學習實戰】決策樹和整合學習(二)——決策樹的實現Python機器學習
- 決策樹模型(4)Cart演算法模型演算法
- 決策樹模型(1)總體介紹模型
- 決策樹演算法-實戰篇演算法
- 決策樹詳解,從熵說起熵
- 決策樹演算法-理論篇演算法