[模式識別複習筆記] 第8章 決策樹

MarisaMagic發表於2024-06-22

1. 決策樹

1.1 決策樹簡介

決策樹(Decision Tree)是一種以 樹形資料結構 來展示決策規則和分類結果的模型。每一條從根結點(對最終分類結果貢獻最大的屬性)到葉子結點(最終分類結果)的路徑都代表一條決策的規則。

[模式識別複習筆記] 第8章 決策樹


1.2 決策樹的構建過程

  1. 首先生成一個 根節點,其 包含所有的樣本

  2. 判斷劃分:

    • 當前節點中所有樣本 都屬於 同一類別 \(C\)。此時 無需再進行劃分,此節點 標記為 \(C\) 類別的葉子節點

    • 資料為空,此時 無法進行劃分,此節點 標記為 \(D\) 中樣本最多的類

  3. 選擇當前條件下的 最優屬性進行劃分

  4. 經歷上步驟劃分後,生成新的節點。

    繼續迴圈判斷,不斷生成新的分支節點,直到所有節點都跳出迴圈。

    最後生成一顆決策樹。



2. 最優劃分屬性的選擇

2.1 資訊增益

2.1.1 基本概念

  • 資訊熵

    用來衡量一個隨機變數取值的不確定程度,設 \(X\) 是一個取有限個值(\(m\) 類)的離散隨機變數,其機率分佈為:

    \[P(X = x_i) = p_i, \ i = 1, \ldots, m \]

    則隨機變數 \(X\) 的熵定義為:

    \[\text{Ent}(X) = -\sum_{i=1}^{m}p_i \log p_i \]

    \(p_i = 0\) 時,定義 \(0 \log 0 = 0\)

    \(\log\)\(2\) 為底,此時熵的單位為位元 \(\text{bit}\)

    \(\log\)\(e\) 為底,此時熵的單位為納特 \(\text{nat}\)


  • 資訊熵的性質

    熵只依賴於隨機變數的分佈。

    對於一個有 \(m\) 個取值的隨機變數 \(X\),可以證明:

    • \(p_1 = p_2 = \cdots = p_m = \frac{1}{m}\) 時,也就是 所有機率相等 時,\(X\) 的熵取得最大值 \(\log m\)

    • \(p_i = 1, \ \forall i \not = j, \ p_j = 0\) 時,\(X\) 的熵取得最小值 \(0\)

    熵越大,表明隨機變數 \(X\) 的取值的 不確定性越大


  • 條件熵 \(\text{Ent}(X|Y)\)

    衡量隨機變數 \(Y\) 的取值已知的條件下,隨機變數 \(X\) 取值的不確定性:

    \[\text{Ent}(X|Y) = \sum_{i=1}^{m}P(Y = y_i)\text{Ent}(X|Y=y_i) \]


  • 資訊增益 \(gain(X, Y)\)

    表示在得知 \(Y\) 後,隨機變數 \(X\) 不確定性減少的程度,也是 確定性增加的程度:

    \[gain(X, Y) = \text{Ent}(X) - \text{Ent}(X|Y) \]



2.1.2 基於資訊增益學習決策樹

在決策樹中,將樣本類別看作是一個隨機變數。對於一個 \(c\) 類的分類問題,類別變數的分佈為:

\[P(\text{class} = i) = \frac{訓練集 D 中第 i 類樣本的數目}{訓練集 D 中 所有樣本的總數}, \ \ i = 1, \ldots, c \]

\(p_i = P(\text{class} = i)\),則類別變數的熵為:

\[\text{Ent}(\text{class}) = - \sum_{i=1}^{c}p_i \log p_i \]

將類別變數的熵稱為 訓練集 \(D\) 的熵,記為 \(\text{Ent}(D)\)


假設選取了屬性 \(a\) 對樣本進行劃分,屬性 \(a\)\(k\) 個不同的取值 \(\{ a^{(1)}, a^{(2)}, \cdots, a^{(k)} \}\),樣本集 \(D\) 對應劃分成 \(k\) 個子集 \(D_1, D_2, \ldots, D_k\)

\(|D_i|\) 表示屬性 \(a\) 取值為 \(a_i\) 的對應的劃分出來的 \(D_i\) 的大小。

選擇 \(a\) 屬性對樣本集 \(D\) 進行劃分產生的 資訊增益

\[gain(D, a) = \text{Ent}(D) - \text{Ent}(D | a) \]

\[\text{Ent}(D | a) = \sum_{i=1}^{k}\frac{|D_i|}{|D|}\text{Ent}(D_i) \]


而選擇的 最優劃分屬性 是資訊增益最大的屬性(增加確定性最多):

\[a^{*} = \text{argmax}_{a\in A}gain(D, a) \]


例題 1

[模式識別複習筆記] 第8章 決策樹

解:

[模式識別複習筆記] 第8章 決策樹
[模式識別複習筆記] 第8章 決策樹


例題 2

\(X\) 是一個離散型隨機變數,其機率分佈為:

\[P(X = x_i) = p_i , i = 1,2, \cdots, m \]

\(X\)熵的最大值,其中熵以 納特 為單位。

[模式識別複習筆記] 第8章 決策樹


未完待續...

相關文章