正規化吉尼不純度怎麼算?
某組資料共 10 項標籤如下:A, A, A, A, A, B, B, B, B, B 若該標籤僅有 A、B 兩種,請問這組資料的「正規化吉尼不純度(Normalized Gini impurity)」為何?
有 10 筆資料,5 筆屬於 A 類、5 筆屬於 B 類,各占一半,比例完全平均。這道題要你計算這組資料的「正規化吉尼不純度」。
問你:A、B 各 5 筆的資料集,正規化吉尼不純度是多少?
一句話總結
A、B 各 5 筆(各占 50%),分佈最「混亂」。吉尼不純度 = 0.5,正規化後(除以最大值 0.5)= 1,代表完全不純(兩類各半是最混亂的狀態)。
先感受問題:袋子裡什麼顏色球最容易亂
想像一個袋子裡裝了 10 顆球,你隨機摸出一顆,猜它是什麼顏色。
情境 1:袋子裡 10 顆全是紅球。你一定猜對,因為只有一種顏色。
情境 2:袋子裡 5 顆紅、5 顆藍。你猜對的機率只有 50%,完全靠運氣。
吉尼不純度(Gini Impurity)就是在量化這個「猜的難度」:袋子越「純」(只有一種),不純度越低;越「混」(各種顏色各半),不純度越高。
決策樹(Decision Tree)在選擇分裂節點時,就是要找能讓「分裂後的子集不純度最低」的特徵,也就是分完之後最容易猜中的分割方式。
不了解不純度概念時會踩哪些坑
- 把「純」和「不純」搞反:直覺上「吉尼不純度 = 1 = 最高」聽起來像是最好,但事實相反:不純度高代表資料最混亂、最難預測,是決策樹最希望透過分裂來改善的狀態。
- 混淆吉尼不純度和吉尼係數:經濟學的「吉尼係數(Gini Coefficient)」是衡量收入不平等的指標,範圍也是 0 到 1,但意義完全不同。機器學習的「吉尼不純度(Gini Impurity)」是決策樹的分裂準則。名字相似但領域不同,不要混淆。
- 不知道正規化的目的:原始吉尼不純度的最大值隨類別數不同而改變(2 類最大 0.5,3 類最大 0.667)。正規化是除以最大值,把所有情況都縮放到 [0, 1],方便比較。
- 算公式時忘記平方:吉尼不純度的公式是 1 - Σ(p_i²),要對每個類別的比例取平方再相加再用 1 減,不是直接加各類別比例。
- 誤以為吉尼不純度 = 0 代表最差:吉尼不純度 = 0 代表完全純(只有一種類別),是決策樹分裂的「終極目標」,是最好的狀態,不是最差。
一步步算出正規化吉尼不純度
資料:A 5 筆、B 5 筆,共 10 筆。
Step 1:算各類別比例
p_A = 5/10 = 0.5,p_B = 5/10 = 0.5
Step 2:套吉尼不純度公式
Gini = 1 - (p_A² + p_B²) = 1 - (0.5² + 0.5²) = 1 - (0.25 + 0.25) = 1 - 0.5 = 0.5
Step 3:算正規化
2 個類別時,吉尼不純度的最大值 = 0.5(各占一半時)。
正規化吉尼不純度 = Gini / Gini_max = 0.5 / 0.5 = 1
意義:這組資料的混亂程度已經達到最大值,A 和 B 各占一半,完全無法預判下一筆是哪一類。
這就是選項 D 講的:1。
技術版:吉尼不純度的完整公式與決策樹應用
中級考試大概率會考程式碼跟公式,所以這部分你還是要學。但如果現在學起來很痛苦,可以先跳過,等讀完其他題目回頭再來。
想像你在玩賓果:如果一個桶子裡全是「O」,你每次摸出來都是「O」,猜中率 100%,桶子是「純」的。如果桶子裡「O」和「X」各一半,猜什麼都只有 50% 機率,桶子是「最不純的」。
吉尼不純度就是在量化這個「桶子的混亂程度」。決策樹每次分裂,就是要找一個分法,讓左邊桶子和右邊桶子都盡量「純」(只有一種球),這樣分完後每個桶子的答案就更容易猜到。
正規化是把「混亂程度」統一縮放到 0-1,讓不同類別數的資料可以比較:0 = 完全純,1 = 最混亂。
| 白話說法 | 公式 |
|---|---|
| 第 i 類的比例 | p_i = n_i / N |
| 吉尼不純度(原始) | Gini = 1 - Σ(p_i²) |
| 二分類最大吉尼值 | Gini_max = 1 - 2×(1/2)² = 0.5 |
| k 類最大吉尼值 | Gini_max = 1 - k×(1/k)² = 1 - 1/k |
| 正規化吉尼不純度 | Normalized_Gini = Gini / Gini_max |
- p_i
- 第 i 個類別在資料集中的比例(0 ≤ p_i ≤ 1,所有 p_i 加總 = 1)
- Σ
- 對所有類別加總(這裡是 A 和 B 兩個類別)
- Gini
- 原始吉尼不純度,範圍是 [0, Gini_max]
- Gini_max
- 該類別數下的最大吉尼值(所有類別比例相等時達到)
- Normalized_Gini
- 正規化後的不純度,範圍固定在 [0, 1]
資料:A 5 筆、B 5 筆,共 10 筆
Step 1:各類別比例
p_A = 5/10 = 0.5
p_B = 5/10 = 0.5
Step 2:吉尼不純度
Gini = 1 - (p_A² + p_B²)
= 1 - (0.5² + 0.5²)
= 1 - (0.25 + 0.25)
= 1 - 0.5
= 0.5
Step 3:2 類最大吉尼值
Gini_max = 1 - 1/k = 1 - 1/2 = 0.5
Step 4:正規化
Normalized_Gini = Gini / Gini_max = 0.5 / 0.5 = 1
對照:如果 A 10 筆、B 0 筆(完全純)
Gini = 1 - (1² + 0²) = 1 - 1 = 0
Normalized_Gini = 0 / 0.5 = 0 ← 完全純,不純度最低
- A 有 8 筆、B 有 2 筆,原始吉尼不純度是多少?
- 吉尼不純度最大值出現在什麼情況?最小值出現在什麼情況?
- 為什麼決策樹要最小化吉尼不純度,而不是最大化它?
- 三個類別各占 1/3,正規化吉尼不純度是多少?
- 吉尼不純度和資訊熵(Entropy)在決策樹中各有什麼用?
為什麼其他選項是錯的
A0
正規化吉尼不純度等於 0,代表完全純。
0 表示資料完全只有一種類別(例如 10 筆全是 A)。但題目是 A 和 B 各 5 筆,各占 50%,這是最混亂的狀態,完全不可能是 0。只有當資料集「純到底」(只有一種類別)才會是 0。
把「不純度 = 0 = 最低 = 最純」的方向搞反的人,或者沒有仔細代入公式計算的人。
B0.42
正規化吉尼不純度等於 0.42。
0.42 這個數字跟常見吉尼計算沒有對應關係。如果有人誤把正規化步驟省略,直接用原始 Gini = 0.5,或者算錯比例,可能會得到一個類似的中間值,但都不是 0.42。這個選項是用來混淆「以為要除以不同分母」的考生。
對正規化步驟不確定、用錯誤的 Gini_max 計算的人,或者沒有仔細算完整步驟的人。
C0.84
正規化吉尼不純度等於 0.84。
0.84 大約是 0.5 × 1.68,或 0.42 × 2。這個數字可能是有人把吉尼不純度公式算成 Gini = 1 - Σp_i(沒有平方,直接加),2 × 0.5 = 1,1 - (0.5 + 0.5) = 0,然後用某種錯誤方式得到。無論如何,都不符合正確公式的計算結果。
公式記錯(忘記平方),或把 3 分類的計算結果搬到 2 分類的人。
同個考點下次怎麼變形
A 有 8 筆、B 有 2 筆,原始吉尼不純度是多少?
不均等的情況,吉尼不純度比各半時低。
p_A = 0.8,p_B = 0.2。Gini = 1 - (0.8² + 0.2²) = 1 - (0.64 + 0.04) = 1 - 0.68 = 0.32。正規化後:0.32 / 0.5 = 0.64。比 A、B 各半的情況(= 1)更低,因為 A 佔多數時資料相對「較純」。
決策樹分裂時,怎麼用吉尼不純度選擇最佳特徵?
吉尼不純度只是個數字,決策樹怎麼用它來決定分裂?
決策樹計算每個特徵分裂後的「加權吉尼不純度」:左子節點的吉尼 × 左側樣本比例 + 右子節點的吉尼 × 右側樣本比例。選擇讓加權不純度最小的特徵作為分裂點。不純度降低最多的特徵,代表它把資料分得最「乾淨」。
吉尼不純度和資訊熵(Entropy)作為分裂準則,有什麼差別?
決策樹有時用 Entropy,有時用 Gini,哪個更好?
兩者的結果通常很接近。Entropy(資訊熵)需要計算 log 函數,計算成本稍高;Gini 只需要平方和,計算更快。CART 演算法(sklearn 的 DecisionTreeClassifier 預設)用 Gini;ID3 和 C4.5 用 Entropy。實務上兩者建出的樹差異很小,選哪個主要看運算效率考量。
10 筆資料全部是 A,吉尼不純度是多少?
全部一樣的話,不純度應該是 0。
p_A = 1,p_B = 0。Gini = 1 - (1² + 0²) = 1 - 1 = 0。正規化後:0 / 0.5 = 0。吉尼不純度 = 0 代表資料完全純,這是決策樹分裂達到「葉節點」的終止條件:節點裡只有一種類別,不需要再分裂了。
三類(A、B、C 各 1/3)的正規化吉尼不純度是多少?
三類各占一樣多,應該也是最混亂,正規化後也是 1?
是的。p_A = p_B = p_C = 1/3。Gini = 1 - 3×(1/3)² = 1 - 3×(1/9) = 1 - 1/3 = 2/3 ≈ 0.667。Gini_max(3 類)= 1 - 1/3 = 2/3。正規化後:(2/3) / (2/3) = 1。無論幾類,只要各類別比例完全相等,正規化吉尼不純度永遠都是 1,代表達到該類別數下的最高混亂程度。
想再往下看,這 5 個
- 決策樹(Decision Tree)吉尼不純度是決策樹選擇分裂節點的核心準則之一,理解不純度等於理解決策樹。
- 隨機森林(Random Forest)由多棵決策樹組成的集成模型,每棵樹都用吉尼不純度或熵來決定分裂策略。
- 梯度提升(Gradient Boosting)另一種基於決策樹的集成方法,同樣需要理解不純度概念來優化分裂。
- 熵(Entropy)資訊熵是決策樹分裂的另一個準則,與吉尼不純度描述同樣的「混亂程度」。
- 特徵工程(Feature Engineering)決策樹的分裂策略本質是自動選擇最重要的特徵,與人工特徵工程互補。