吉尼不純度 是什麼?
Gini Impurity:吉尼不純度 的完整解釋
衡量資料集標籤混雜程度的指標,常用於決策樹的分裂準則,值越低表示越純淨。
吉尼不純度(Gini Impurity)是決策樹學習演算法中最核心的分裂評估指標之一,用於量化一個資料節點中標籤分佈的混雜程度,並指導模型在每一個分支點選擇最佳的特徵與分割閾值。
數學定義上,吉尼不純度計算如下:假設一個節點包含 K 個類別,第 i 個類別的樣本比例為 p_i,則該節點的吉尼不純度為:Gini = 1 - Σ(p_i²),對所有類別 i 從 1 到 K 求和。直覺解讀:吉尼不純度等於「隨機選一個樣本,根據類別分佈隨機猜測其標籤,猜錯的概率」。當節點完全純淨(所有樣本屬於同一類別)時,某個 p_i = 1,其餘為 0,Gini = 1 - 1 = 0,不純度為零。當類別分佈完全均勻時(如二元分類各佔 50%),Gini = 1 - (0.25 + 0.25) = 0.5,不純度最大。
在決策樹訓練過程中,CART(Classification and Regression Trees)演算法在每個內部節點遍歷所有可能的特徵與分割點,計算分割後左子節點與右子節點的加權吉尼不純度之和(加權係數為各子節點樣本數占父節點的比例),選擇使加權不純度下降最多的分割方案。這個下降量稱為吉尼增益(Gini Gain)或不純度降低量。
與資訊增益(Information Gain)的比較是理解吉尼不純度的重要背景。資訊增益基於熵(entropy)計算:熵的公式為 H = -Σ(p_i * log₂(p_i)),衡量資訊的不確定性。吉尼不純度與熵在數值形狀上非常相近,實際選擇分裂點時兩者往往產生相同的結果。主要差異在於計算效率:吉尼不純度不含對數運算,計算速度更快,因此 scikit-learn 的 DecisionTreeClassifier 預設使用吉尼不純度(criterion='gini')而非資訊增益(criterion='entropy')。此外,在多類別不均衡資料中,兩者偶爾會選出不同的分裂特徵,但對最終模型準確率的影響通常微乎其微。
決策樹透過吉尼不純度指導分裂的過程是一種貪婪搜尋(greedy search):每個節點僅選擇當下使不純度最小化的分裂方式,而不考慮後續分支的全域效果。這意味著決策樹可能不會找到全域最優的樹結構,但貪婪搜尋能在多項式時間內完成訓練,對大規模資料集具有實用性。
在集成學習(ensemble learning)中,吉尼不純度也是隨機森林(Random Forest)各個基礎決策樹的預設分裂準則。隨機森林在選擇分裂特徵時僅從隨機子集中挑選(而非全部特徵),這個機制增加了各棵樹之間的多樣性,使整體模型具有更好的泛化能力,同時吉尼不純度在每棵樹中的作用不變。
吉尼不純度的限制在於:它對類別不平衡問題較為敏感,在多數類與少數類差異懸殊的情況下,模型往往會偏向多數類的預測;此外,吉尼不純度本身不提供葉節點的機率校準,若需要良好校準的機率輸出,可能需要後處理(如 Platt scaling)。
在 iPAS AI 應用規劃師中級考試中,吉尼不純度出現在決策樹演算法相關題目,考生需要能計算簡單節點的吉尼不純度、比較不同分裂方案的加權不純度、以及說明吉尼不純度與資訊增益(熵)的差異。114-2-mid-2 及 114-2-mid-3 的題目均要求考生在給定類別分佈時手動計算或估算吉尼值,判斷哪個分裂方案更佳。掌握公式 Gini = 1 - Σ(p_i²) 以及「純淨節點吉尼為 0,均勻分佈吉尼最大」兩個基本性質,是通過這類考題的關鍵。 基尼不純度(Gini Impurity)是決策樹算法中最常用的節點分裂準則之一,衡量從節點中隨機選取一個樣本並隨機為其分配一個類別標籤時,被錯誤分類的機率,值域為 [0, 0.5](對於二元分類)或 [0, 1-1/K](K 類分類)。
基尼不純度的計算公式為:Gini(t) = 1 - Σ p(i|t)²,其中 p(i|t) 是節點 t 中屬於第 i 個類別的樣本比例。純節點(只包含一個類別)的基尼值為 0,最不純的節點(各類別均等分布)基尼值最大。
在決策樹分裂時,算法評估每個候選分裂特徵和分裂值的加權基尼不純度(Weighted Gini Impurity):分裂後兩個子節點的基尼值按樣本數加權平均。選擇使加權基尼值最小的分裂,即選擇帶來「最大純化效果」的分裂。
基尼不純度與資訊增益(Information Gain,基於熵的準則)的比較是機器學習實踐中的常見問題。兩者在大多數情況下效果相近;基尼不純度的計算不涉及對數運算,計算速度較快;熵(Shannon Entropy)偏好創造更平衡的樹,某些情況下泛化性更好。scikit-learn 的決策樹和隨機森林默認使用基尼不純度。
在隨機森林(Random Forest)中,每棵樹在隨機特徵子集上使用基尼不純度進行節點分裂,通過集成多棵樹的預測減少方差,同時基尼不純度帶來的計算效率使得訓練大規模隨機森林成為可能。
基尼特徵重要性(Feature Importance)是決策樹系列模型的附屬產品:在所有節點上統計每個特徵造成的基尼不純度總降幅,作為特徵重要性分數,這是解釋樹模型最常用的方法之一。