一般而言,隨著決策樹的不斷劃分,我們希望決策樹的分支節點所包含的樣本盡可能屬於同一類別,即節點的「純度」越來越高。
一、概念
1.什麼是熵
一種事物的不確定性。比如:我第一次去買西瓜,不知道怎麼挑西瓜,很懵,但不知到該挑哪乙個。
2.什麼是資訊
消除我對不確定事物的因素。
資訊的作用:
調整概率;拿乙個榴蓮聞一聞,很香,他就進入了你的目標。
排除干擾;無關因素,包裝,店面等等因素。
確定情況;比如賣瓜的人說了一句,這瓜保熟,不甜不要錢。你是不是打算挑這個西瓜。
3.噪音
不能消除某人對某件事的不確定性的事物(白白浪費精力)。
4.資料
我們日常得到的資料就是:噪音+資訊
二、熵如何量化
參照單位
參照乙個不確定的事件作為單位。
我的不確定相當於拋幾次硬幣的不確定性:如拋硬幣:50%正,50%反相當於猜一次硬幣的不確定性,記為1bit(二分法)。
如下表:
拋硬幣次數
結果個數12
2438
n2n拋硬幣次數與結果不確定性呈指數關係
2.等概率均勻分布
8個等概率的不確定情況,相當於拋3次硬幣
4個等概率的不確定情況,相當於拋2次硬幣
假設有m=10個等概率的不確定情況,那麼10 = 2n ,相當於拋n = log210 次硬幣
所以等概率均勻分布的熵: n = log2m (m:有m種等概率的不確定的情況。n:這種情況熵的值)
3.每種情況概率不相等一般分布
樣本集合d中第k類樣本所佔的比例為 p
kp_k
pk(k = 1,2,3,…∣y∣
\mid y\mid
∣y∣)
資訊熵計算公式:ent(d) =- ∑k=
1∣y∣
pklo
g2pk
\displaystyle\sum_^ p_k log_2p_k
k=1∑∣y
∣pk
log
2pk
(y:當前結果的個數)
ent(d)的值越小,則d的純度越高。(這個公式也決定了資訊增益的乙個缺點:即資訊增益對可取值數目多的特徵有偏好(即該屬效能取得值越多,資訊增益,越偏向這個),因為特徵可取的值越多,會導致「純度」越大,即ent(d)會很小,如果乙個特徵的離散個數與樣本數相等,那麼ent(d)值會為0)。
公式複雜,但舉例很容易理解:
解釋原理:
三、資訊如何量化(資訊增益 id3決策樹演算法)
得知資訊前後,熵的差額就是資訊的量(資訊增益)
公式:一般而言,資訊增益越大,則表示使用特徵對資料集劃分所獲得的「純度提公升」越大。所以資訊增益可以用於決策樹劃分屬性的選擇,其實就是選擇資訊增益最大的屬性,id3演算法就是採用的資訊增益來劃分屬性。
舉例:小明不知道選擇題是abcd哪個選項是時的熵: n = log24 = 2,
這時告訴小明c有一半概率是正確,小明知道c有一半概率後:a正確的概率:1/6,b正確的概率:1/6,c正確的概率:1/2,d正確的概率:1/6
所以小明知道c有一半概率後的不確定性(熵):
所以,告訴小明c有一半概率是正確 提供的資訊:2 -1.73 = 0.21
天澤28,這位大神把每一步寫的都很詳細,鏈結點此引用資訊增益比的定義為:
其中:舉例:上面計算了關於色澤的資訊增益
資訊增益為:
所以特徵「色澤」的增益率為:
1.資訊增益對取值數目較多的屬性有所偏好
舉個例子講,還是考慮西瓜資料集,如果我們把「編號」這一列當做屬性也考慮在內,那麼可以計算出它的資訊增益為0.998,遠遠大於其他的候選屬性,因為「編號」有17個可取的數值,產生17個分支,每個分支結點僅包含乙個樣本,顯然這些分支結點的純度最大。但是,這樣的決策樹不具有任何泛化能力。
2.增益率對取值數目較少的屬性有所偏好,所以c4.5演算法並不是直接選擇使用增益率最大的候選劃分屬性,而是使用了乙個啟發式演算法:先從候選劃分屬性中找出資訊增益高於平均水平的屬性,再從中選擇資訊增益率最高的。
gini(d)反映了從資料d中隨機抽取兩個樣本,其中類別標記不一致的概率。因此gini(d)越小,資料集d的純度越高。
所以在候選屬性集合中,選擇那個使得劃分後基尼指數最小的屬性作為最優劃分屬性。
關於基尼指數的詳細例子,參考大神 ksy_e的博文
詳細位址在此剪枝是決策樹學習演算法對付「過擬合」的主要手段。分為:預剪枝和後剪枝
關於剪枝處理,b站有位大神講的十分清楚:
【一起啃書】機器學習西瓜書白話解讀,講解的西瓜書上的內容,甚是透徹。
b站位址在此還是看大神天澤28的博文但要注以兩點:
1.標記(好瓜壞瓜)是由訓練集中數量最多的類別決定的,當數量相同時為好瓜。
2精確值時由測試集上的樣例是否分對的個數。
詳細位址在此但要總結一下計算過程(參照西瓜書資料集3.0):
1.先把「密度」這些值從小到大排序(17個數值)
2.依此計算兩兩之間的中位數(16個數值)
3.以此以16個中位數為閾值,劃分資料集(二分類),從而計算資訊增益或基尼指數。
複習筆記 決策樹學習
決策樹適用問題的特徵 1 例項由 屬性 值 對 pair 表示 2 目標函式具有離散的輸出值 3 可能需要析取的描述 4 訓練資料可以包含錯誤 5 訓練資料可以包含缺少屬性值的例項 id3演算法特點 1 搜尋完整的假設空間 也就是說,決策樹空間能夠表示定義在離散例項上的任何離散值函式 2 從根向下推...
資料探勘 決策樹複習
3.1.1 資訊增益 劃分資料集的大原則是 將無序資料變得更加有序,但是各種方法都有各自的優缺點,資訊理論是量化處理資訊的分支科學,在劃分資料集前後資訊發生的變化稱為資訊增益,獲得資訊增益最高的特徵就是最好的選擇,所以必須先學習如何計算資訊增益,集合資訊的度量方式稱為夏農熵,或者簡稱熵。希望通過所給...
決策樹和CART決策樹
首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...