決策樹學習

2021-07-10 23:25:11 字數 2714 閱讀 3458

決策樹學習是一種逼近離散值目標函式的方法,在這種方法中學習到的函式被表示為一棵決策樹。

決策樹通過把例項從艮節點排列到某個葉子結點來分類例項,葉子結點即為例項所屬的分類。樹上的每乙個結點指定了對例項的某個屬性的測試,並且該結點的每乙個後繼分支對應於該屬性的乙個可能值。分類例項的方法是從這棵樹的根節點開始,測試這個結點的屬性,然後按照給定例項的屬性值對應的樹枝向下移動。然後這個過程在以新結點的根的子樹上重複。

決策樹對應表示式:

通過自頂向下構造決策樹來進行學習。構造過程是從「哪乙個屬性將在樹的根結點被測試?」這個問題開始的。為了回答這個問題,使用統計測試來確定每乙個例項屬性單獨分類訓練樣例的能力。分類能力最好的屬性被選作樹的根結點的測試。然後為根節點屬性的每個可能值產生乙個分支,並把訓練樣例排列到適當的分支之下。然後重複整個過程,用每個分支結點關聯的訓練樣例來選取在該點被測試的最佳屬性。這形成了對合格決策樹的貪婪搜尋(greedy search),也就是演算法從不回溯重新考慮原來的選。

專門用於學習布林函式的id3演算法概要

id3(examples,target_attribute,attributes)

examples即訓練樣例集。target_attribute是這棵樹要測試的目標屬性。attributes是除目標屬性外供學習到的決策樹測試的屬性列表。返回一棵能正確分類給定examples的決策樹。

•如果examples都為正,那麼返回label=+的單結點樹root

•如果examples都為反,那麼返回label=+的單結點樹root

•如果attributes為空,那麼返回單結點樹root,label=examples中最普遍的target_attribute的值

•否則開始

•a←attributes中分類examples能力最好的屬性

•root的決策屬性←a

•對於a的每個可能值vi

•在root下加乙個新的分支對應測試a=vi

•令examples vi為examples中滿足a屬性值為vi的子集

•如果examples vi為空

•在這個新分支下加乙個葉子結點,結點的label=examples中最普遍的target_attribute值

•否則在這個新分支下加乙個子樹id3(examples vi,target_attribute,attributes-)

•結束•返回root

熵(entropy):刻畫了任意樣例集的純度(purity)。

熵確定了要編碼集合s中任意成員(即以均勻的概率隨機抽出的乙個成員)的分類所需要的最小二進位制位數。

如果目標屬性具有c個不同的值,那麼s相對c個狀態(c-wise)的分類的熵定義為:

pi是s中屬於類別i的比例。

資訊增益(information gain):乙個屬性的資訊增益就是由於使用這個屬性分割樣例而導致的期望熵降低。

values(a)是屬性a所有可能值的集合,sv 是s中屬性a的值為v的子集。

例如,假定s包含14個樣例-[9+,5-]。在這14個樣例中,假定正例中的6個和反例中的2個有wind=weak,其他的有wind=strong。由於按照屬性wind分類14個樣例得到的資訊增益可以計算如下。

首先計算四個屬性的資訊增益:

gain(s,outlook)=0.246

gain(s,humidity)=0.151

gain(s,wind)=0.048

gain(s,temperature)=0.029

根據資訊增益標準,屬性outlook在訓練樣例上提供了對目標屬性playtennis的最佳**。

id3演算法中的假設空間包含所有的決策樹,它是關於現有屬性的有限離散值函式的乙個完整空間。

當變了決策樹空間時,id3僅維護單一的當前假設。

基本的id3演算法在搜尋中不進行回溯。

id3演算法在搜尋的每一步都使用當前的所有訓練樣例,以統計為基礎覺得怎樣簡化以前的假設。

關於c4.5決策樹 可以參考 

決策樹學習

決策樹是一種在機器學習中常見的學習演算法。決策樹是一種基於樹結構來進行決策分類和回歸的,在每一步的決策過程中根據屬性值來進行劃分,決策過程中提出的每個判定問題就是對某乙個屬性的測試。一般的,乙個決策樹通常包含乙個根節點,若干的葉子節點和內部節點,葉子節點對應於最後的決策結果,其他每一節點對應於每乙個...

決策樹學習

決策樹是以例項為基礎的歸納學習。該類方法從一類無序,無規則的事物中推理出決策樹表示的分類規則。不論哪種決策樹學習演算法,其基本思想是一致的,即以資訊熵為度量構造一棵 熵值下降最快的樹,到葉子節點處的熵值為零。此時每個葉子結點的例項都屬於同一類。決策樹學習採用自頂向下的遞迴方法,決策樹的每一層結點依靠...

決策樹學習

在學習決策樹學習之前,我想先問問幾個問題,以便好好梳理思路。1.決策樹是什麼?幹啥用的?決策樹學習又是什麼?2.資訊增益,純度,熵是什麼?在決策樹中是幹啥用的?3.構建乙個決策樹包含哪幾個步驟?如何構建?回答 2.熵表示乙個系統的無序程度,熵將小表示系統趨於有序。資訊增益表示在劃分資料之前之後資訊發...