機器學習筆記 決策樹生成原理

2021-06-21 11:46:10 字數 1592 閱讀 5796

決策樹是一種屬性結構的輔助決策工具。樹枝節點表示決策規則,也有叫屬性;樹葉節點表示結果,也有叫類別。自上而下由根節點依次延伸,根據屬性閾值不同延伸到不同的方向,到達下乙個屬性節點,並繼續延伸,直至最終的葉子節點,也就是分類完成。

決策樹學習是一種逼近離散值目標函式的方法,該方法學習到的函式被表示為乙個決策樹。決策樹可被表示為多個if-then的規則。

那麼,怎麼知道先從哪個屬性開始作為根節點,又怎麼知道下乙個節點應該是哪乙個屬性?這就要用到乙個演算法id3了。

id3演算法的核心問題是選取在樹的每個節點要測試的屬性。也就是說,在決策樹構造的過程中,「哪乙個屬性將要被測試?」是由演算法id3決定的。id3是基本演算法,後續有些衍生演算法,如c4.5等。

那麼id3是怎麼決定哪個屬性應該在接下來的節點上呢?或者說,id3演算法中,用什麼定量標準來衡量屬性價值?

這裡定義乙個統計屬性,稱為「資訊增益」(information gain),用來衡量給定屬性區分訓練樣本的能力。id3演算法在增長樹的每一步使用這個量(資訊增益)作為標準,從候選屬性中選擇屬性。怎麼來描述「資訊增益」這個量?id3又是怎樣利用這個量來選擇屬性的呢?這要從另乙個量——熵,開始說起。

熵是資訊理論中廣泛使用的乙個度量標準,用來描述任意樣本集的純度。一般的,如果目標屬性具有n個不同的值,那麼樣本集合s相對n個狀態的分類的熵定義為:

其中pi是s中屬於類別i的比例。注意,對數的底數為2,原因是熵是以二進位制位的個數來度量編碼長度的。同時注意,如果目標屬性具有c個可能值,則熵最大可能到log2c.

下面分析,熵為什麼用上面的式子定義,熵到底是什麼?

為理解上面的式子(1),首先,考慮乙個包含n個成員的集合,那麼每個元素被抽取的等可能概率為

p(xi)=1/n

。那麼根據資訊理論的內容,這個含有n個元素的集合的結果輸出需要的資訊量是:

使用二進位制表示時b=2.這裡說的資訊量是指採用二進位制表示資訊可能的結果的個數需要

的最小二進位制位數。有點繞,舉個例子,此文中都是指通過二進位制表示。如果傳遞資訊的可能結果只有2個,那麼傳遞這個結果只需要0或1兩種結果表達,也就是只需要1位二進位制表示即可表示資訊的可能結果的個數;當有n個可能結果時,n=2

u,則需要u位二進位制才能完全表示所有可能結果,這裡u就是資訊量。資訊量也就結果的不確定度。

接著解釋,由於p(xi)=1/n,那麼

有了資訊量,我們說,所有該集合中結果需要的平均資訊量是多少,也即集合

資訊量的期望是什麼?我們知道數學期望的定義是,所有可能的取值與概率的乘積的總和。這樣,資訊量的期望也是這樣乙個總和,即每種資訊結果的資訊量與該結果發生概率乘積的總和。

這個式子是不是就跟熵的定義式子一致了!這裡的數學式子的含義就是資訊量的期望,或者不確定度的期望;而資訊理論中熵的概念是衡量訓練樣本中集合純度的標準。

介紹完資訊理論中熵的概念,回到上面的話題,接著說id3中使用的用來度量屬性的分類訓練資料能力的標準——資訊增益。乙個屬性的資訊增益是指,由於使用這個屬性分割樣本而導致的熵的降低。屬性a相對於樣本集s的資訊增益gain(s,a)定義為:

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

資訊增益正是id3演算法增長樹的每一步中選取最佳屬性的度量標準。資訊資訊增益越大,說明採用該屬性進行篩選後,資訊熵變得越小,樣本集合純度更高。

機器學習筆記 決策樹學習

決策樹學習是一種逼近離散值目標函式的方法,在這樣的方法中學習到的函式被表示為一棵決策樹。表示法 把例項從根節點排列到某個葉子節點來分類例項,葉子節點即為例項所屬的分類。樹上的每個節點指定了對例項的某個屬性 attribute 的測試,而且該節點的每個字尾分支相應於該屬性的乙個可能值。分類例項的方法是...

機器學習 決策樹

一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...

機器學習 決策樹

我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...