iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用

正規化吉尼不純度怎麼算?

原題 14

某組資料共 10 項標籤如下:A, A, A, A, A, B, B, B, B, B 若該標籤僅有 A、B 兩種,請問這組資料的「正規化吉尼不純度(Normalized Gini impurity)」為何?

白話

有 10 筆資料,5 筆屬於 A 類、5 筆屬於 B 類,各占一半,比例完全平均。這道題要你計算這組資料的「正規化吉尼不純度」。

問你:A、B 各 5 筆的資料集,正規化吉尼不純度是多少?

點選你的答案。

01 總結

一句話總結

A、B 各 5 筆(各占 50%),分佈最「混亂」。吉尼不純度 = 0.5,正規化後(除以最大值 0.5)= 1,代表完全不純(兩類各半是最混亂的狀態)

02 情境

先感受問題:袋子裡什麼顏色球最容易亂

想像一個袋子裡裝了 10 顆球,你隨機摸出一顆,猜它是什麼顏色。

情境 1:袋子裡 10 顆全是紅球。你一定猜對,因為只有一種顏色。

情境 2:袋子裡 5 顆紅、5 顆藍。你猜對的機率只有 50%,完全靠運氣。

吉尼不純度(Gini Impurity)就是在量化這個「猜的難度」:袋子越「純」(只有一種),不純度越低;越「混」(各種顏色各半),不純度越高。

決策樹(Decision Tree)在選擇分裂節點時,就是要找能讓「分裂後的子集不純度最低」的特徵,也就是分完之後最容易猜中的分割方式。

03 對照

不了解不純度概念時會踩哪些坑

  1. 把「純」和「不純」搞反:直覺上「吉尼不純度 = 1 = 最高」聽起來像是最好,但事實相反:不純度高代表資料最混亂、最難預測,是決策樹最希望透過分裂來改善的狀態。
  2. 混淆吉尼不純度和吉尼係數:經濟學的「吉尼係數(Gini Coefficient)」是衡量收入不平等的指標,範圍也是 0 到 1,但意義完全不同。機器學習的「吉尼不純度(Gini Impurity)」是決策樹的分裂準則。名字相似但領域不同,不要混淆。
  3. 不知道正規化的目的:原始吉尼不純度的最大值隨類別數不同而改變(2 類最大 0.5,3 類最大 0.667)。正規化是除以最大值,把所有情況都縮放到 [0, 1],方便比較。
  4. 算公式時忘記平方:吉尼不純度的公式是 1 - Σ(p_i²),要對每個類別的比例取平方再相加再用 1 減,不是直接加各類別比例。
  5. 誤以為吉尼不純度 = 0 代表最差:吉尼不純度 = 0 代表完全純(只有一種類別),是決策樹分裂的「終極目標」,是最好的狀態,不是最差。
04 解法

一步步算出正規化吉尼不純度

資料: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

技術版:吉尼不純度的完整公式與決策樹應用

中級考試大概率會考程式碼跟公式,所以這部分你還是要學。但如果現在學起來很痛苦,可以先跳過,等讀完其他題目回頭再來。

Step 1 純故事版(不出現公式)

想像你在玩賓果:如果一個桶子裡全是「O」,你每次摸出來都是「O」,猜中率 100%,桶子是「純」的。如果桶子裡「O」和「X」各一半,猜什麼都只有 50% 機率,桶子是「最不純的」。

吉尼不純度就是在量化這個「桶子的混亂程度」。決策樹每次分裂,就是要找一個分法,讓左邊桶子和右邊桶子都盡量「純」(只有一種球),這樣分完後每個桶子的答案就更容易猜到。

正規化是把「混亂程度」統一縮放到 0-1,讓不同類別數的資料可以比較:0 = 完全純,1 = 最混亂。

Step 2 中文 ↔ 公式對照
白話說法公式
第 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
Step 3 符號角色表
p_i
第 i 個類別在資料集中的比例(0 ≤ p_i ≤ 1,所有 p_i 加總 = 1)
Σ
對所有類別加總(這裡是 A 和 B 兩個類別)
Gini
原始吉尼不純度,範圍是 [0, Gini_max]
Gini_max
該類別數下的最大吉尼值(所有類別比例相等時達到)
Normalized_Gini
正規化後的不純度,範圍固定在 [0, 1]
Step 4 完整公式計算
資料: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 ← 完全純,不純度最低
Step 5 自我複述
  1. A 有 8 筆、B 有 2 筆,原始吉尼不純度是多少?
  2. 吉尼不純度最大值出現在什麼情況?最小值出現在什麼情況?
  3. 為什麼決策樹要最小化吉尼不純度,而不是最大化它?
  4. 三個類別各占 1/3,正規化吉尼不純度是多少?
  5. 吉尼不純度和資訊熵(Entropy)在決策樹中各有什麼用?
05 陷阱

為什麼其他選項是錯的

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 分類的人。

06 變形

同個考點下次怎麼變形

變形 1

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 佔多數時資料相對「較純」。

變形 2

決策樹分裂時,怎麼用吉尼不純度選擇最佳特徵?

直覺

吉尼不純度只是個數字,決策樹怎麼用它來決定分裂?

答案

決策樹計算每個特徵分裂後的「加權吉尼不純度」:左子節點的吉尼 × 左側樣本比例 + 右子節點的吉尼 × 右側樣本比例。選擇讓加權不純度最小的特徵作為分裂點。不純度降低最多的特徵,代表它把資料分得最「乾淨」。

變形 3

吉尼不純度和資訊熵(Entropy)作為分裂準則,有什麼差別?

直覺

決策樹有時用 Entropy,有時用 Gini,哪個更好?

答案

兩者的結果通常很接近。Entropy(資訊熵)需要計算 log 函數,計算成本稍高;Gini 只需要平方和,計算更快。CART 演算法(sklearn 的 DecisionTreeClassifier 預設)用 Gini;ID3 和 C4.5 用 Entropy。實務上兩者建出的樹差異很小,選哪個主要看運算效率考量。

變形 4

10 筆資料全部是 A,吉尼不純度是多少?

直覺

全部一樣的話,不純度應該是 0。

答案

p_A = 1,p_B = 0。Gini = 1 - (1² + 0²) = 1 - 1 = 0。正規化後:0 / 0.5 = 0。吉尼不純度 = 0 代表資料完全純,這是決策樹分裂達到「葉節點」的終止條件:節點裡只有一種類別,不需要再分裂了。

變形 5

三類(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,代表達到該類別數下的最高混亂程度。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用 第 14 題

查看官方原文 PDF