日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01 决策树 - 数学理论概述 - 熵

發布時間:2025/6/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01 决策树 - 数学理论概述 - 熵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天開始進入決策樹的算法部分,首先介紹一下這部分涉及到的知識點。

一、大綱

1、信息熵

決策樹在生成過程中,對于評判是否要對樹進行劃分的關鍵指標。即樹生成時的決策根本。

2、決策樹
之前提過KD樹的劃分標準。02 KNN算法 - KD Tree KD樹是基于一個劃分的標準(中位數),最后構建起了整個KD樹。決策樹同樣也是一個樹形結構,同樣需要某些決策指標來構建起決策樹。最后幫助我們實現回歸或分類的目標。

3、決策樹優化
和KD樹一樣,決策樹模型生成以后同樣會存在欠擬合和過擬合的問題。如何解決這些問題就是決策樹優化需要考慮的。

4、剪枝
防止決策樹過擬合的過程,實際生產過程中剪枝的操作用的很少,但面試可能會提問,了解即可。

5、決策樹可視化
導入一些新的模塊,最后將決策樹展現在用戶面前。

二、決策樹的直觀理解

根據一個人是否有房產、婚姻情況、年收入情況判斷一個人是否有能力償還債務。
根據樣本構建出一個模型:

相比Logistic模型、回歸模型中參數的理解,決策樹是一個解釋性更強的模型。

三、比特化

數據:BACADCBD...
這里ABCD出現的概率都是1/4,等概率。
即P(X=A) =P(X=B) =P(X=C) =P(X=D) =1/4

令A-00 B-01 C-10 D-11(等概率,用兩個比特位表示4個變量即可)
BACADC = 01001011100111
E = 1×1/4 *4 = 1
(每個變量占用一個比特位,出現概率是1/4,一共4個變量,平均每個變量占1個比特位)


如果X變量出現概率不同:
即P(X=A)=1/2; P(X=B) = 1/4; P(X=C) =P(X=D) =1/8;

用更少的比特位描述出現概率更大的事件,能夠讓總的比特位數量最少:
令A-0 B-10 C-110 D-111

E=1×1/2 + 2×1/4 + 3×1/8 + 3×1/8 = 1.75
平均每個變量占1.75個比特位。其他任何一種編碼方式最終得到的期望都會大于1.75,耗費了多余的計算機資源。

還可以用下面的公式表示__平均每個變量占用的比特位__數量:

$color{red}{每個變量出現的概率:}$ p
$color{red}{每個變量占用的比特位:}$ -log2p

所以,m個變量在不同的出現概率p1~pm時,平均每個變量占用的比特位公式如下:

四、信息熵

__信息熵__是描述一個信息量的指標。如果一個事件發生的概率越大,那么認為該事件蘊含的信息越少。

當一個事件百分百確定的時候,我們得不到其他推論。那么認為信息量為0。

只有當事件的出現存在概率性,說明有額外的信息影響事件發生,那么針對這些信息我們才需要推理判斷 。

__信息熵__是系統有序程度的度量,一個系統越是有序,信息熵就越低。信息熵就是用來描述系統信息量的不確定度。

信息熵 = 比特化隨機變量X占用比特位的數學期望

五、條件熵

回顧H(X)的概念,并看下面的例子:


令L(S) = -P(S) × log2(S)
H(X) = L(X=數學) + L(X=IT) + L(X=英語)

= -0.5 × log2(0.5) - 0.25 × log2(0.25) - 0.25×log2(0.25) = 0.5 + 0.5 + 0.5 = 1.5

H(Y) = L(Y = M) + L(Y = F)

= -0.5 × log2(0.5) - 0.5 × log2(0.5) = 0.5 + 0.5 = 1

H(X, Y) = L(X=數學, Y=M) + L(X=IT, Y=M) + L(X=英語, Y=F) +
L(X=數學, Y=F) = -0.25 × log2(0.25) × 4 = 2

看明白上面的例子后,接下來引入__條件熵__的概念:
給定條件X的情況下,隨機變量Y的信息熵就是__條件熵__。
給定條件X的情況下,所有不同x值情況下,Y的信息熵的平均值,叫做__條件熵__。

當專業X為數學時,Y的信息熵的值為:H(Y|X=數學)
怎么計算H(Y|X=數學)?先把數學相關的項提取出來:

現在姓別出現的概率都是2/4,根據公式:

$color{red}{每個變量出現的概率:}$ p

$color{red}{每個變量占用的比特位:}$ -log2p


-log2(0.5)=1:單個性別的信息熵。
H(Y|X=數學) = -0.5 × log2(0.5) × 2 = 1


H(Y|X=數學) 是 H(Y|X) 的一部分,H(Y|X)還包括H(Y|X=IT)、H(Y|X=英語) 根據上述的方式能夠依次計算出H(Y|X=IT)、H(Y|X=英語) 的值。

回顧一下定義:
給定條件X的情況下,所有不同x值情況下,Y的信息熵的平均值,叫做__條件熵__。

以下log表示log2

條件熵 H(X/Y)
= H(X/Y=M)×P(Y=M) + H(X/Y=F)×P(Y=F) 即加權平均熵

= [L(X=數學/Y=M)+L(X=數學/Y=M)]×P(Y=M) + H(X/Y=F)×P(Y=F)= [-0.5 × log(0.5) × 2] × 0.5 + H(X/Y=F)×P(Y=F)= 0.5 + H(X/Y=F)×P(Y=F) = 0.5 + 0.5 = 1= __H(X, Y) - H(Y)__

條件熵 H(Y/X)
= H(Y/X=數學)×P(X=數學)+H(Y/X=IT)×P(X=IT)+H(Y/X=英語)×P(X=英語)

= [-0.5 × log(0.5) × 2] × 0.5+H(Y/X=IT)×P(X=IT)+H(Y/X=英語)×P(X=英語)= 0.5 + 0 + 0 = 0.5= __H(X, Y) - H(X)__

條件熵__的另一個公式: __H(Y/X) = H(X, Y) - H(X)
事件(X,Y)發生所包含的熵,減去事件X單獨發生的熵,即為事件X發生前提下,Y發生“新”帶來的熵。

結合概率論中的Venn圖思考上面公式的意義:

最后給出一個推導公式:

總結

以上是生活随笔為你收集整理的01 决策树 - 数学理论概述 - 熵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。