機器學習中的評價指標
在機器學習中,評估指標(Evaluation Metrics)是衡量模型性能的工具。選擇合適的評估指標能夠幫助我們更好地理解模型的效果以及它在實際應用中的表現。
一般來說,評估指標主要分為三大類:分類、回歸和聚合。
分類問題
分類,顧名思義,就是將輸入數據識別并分配到不同的類別上去,以下是它的評估指標:
一、混淆矩陣(Confusion Matrix)
核心概念
混淆矩陣(Confusion Matrix),又稱為誤差矩陣,是一種特定的表格布局,用于描述分類模型的性能。在監督學習中,特別是分類問題中,混淆矩陣給出了分類器預測結果與實際類別之間的差異對比,它能夠幫助我們全面了解分類器的表現。
元素 | 定義 | 應用場景示例 |
---|---|---|
TP (True Positive) | 正類樣本被正確預測的數量 | 電商用戶流失預測中的真實流失用戶 |
FP (False Positive) | 負類樣本被錯誤預測為正類的數量 | 垃圾郵件過濾中的正常郵件誤判 |
FN (False Negative) | 正類樣本被錯誤預測為負類的數量 | 醫療診斷中的漏診病例 |
TN (True Negative) | 負類樣本被正確預測的數量 | 信用卡欺詐檢測中的正常交易識別 |
公式表示:
實際\預測 | 正類(1) | 負類(0) |
---|---|---|
正類(1) | TP | FN |
負類(0) | FP | TN |
示例分析:
在用戶流失預測中,若測試集包含:
- TP=150(正確識別的流失用戶)
- FP=30(誤判的正常用戶)
- FN=50(漏檢的流失用戶)
- TN=770(正確識別的正常用戶)
通過混淆矩陣可快速定位模型的召回能力缺陷(漏檢率10%)。
二、基礎評估指標
1. 準確率(Accuracy)
公式:
Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} Accuracy=TP+TN+FP+FNTP+TN?
特點:
- ? 適用場景:類別均衡數據(如MNIST手寫數字識別)
- ? 局限性:癌癥篩查中若健康樣本占99%,全預測為健康準確率可達99%但完全漏檢癌癥
2. 精確率(Precision)
公式:
Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP?
應用場景:
- 垃圾郵件過濾:預測100封為垃圾郵件,其中90封真實為垃圾,則精確率90%
- 法律文書分類:高精確率減少錯誤歸檔風險
3. 召回率(Recall)
公式:
Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP?
應用場景:
- 信用卡欺詐檢測:識別45/50筆欺詐交易,召回率90%
- 地震預測:容忍較高誤報率以降低漏報風險
三、復合評估指標
1. F1分數(F1-Score)
公式:
F 1 = 2 × Precision × Recall Precision + Recall F1 = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1=Precision+Recall2×Precision×Recall?
變體:
- Fβ分數:通過β調整召回率權重(β>1時更重視召回)
- 案例:新聞推薦系統中,精確率80%+召回率70% → F1=74.8%
2. ROC曲線與AUC值
核心參數:
- TPR(真正率): T P T P + F N \frac{TP}{TP + FN} TP+FNTP?
- FPR(假正率): F P F P + T N \frac{FP}{FP + TN} FP+TNFP?
特性:
- 曲線越接近左上角性能越好
- AUC=0.85表示85%概率將正類樣本排在負類前
3. PR曲線與AUPR
優勢:在類別極度不平衡時(如新冠檢測陽性率1%)比AUC更敏感
四、多分類評估策略
1. 宏平均(Macro-Average)
計算方式:各類別指標取算術平均
適用場景:強調類別平等(如多語言文本分類)
2. 微平均(Micro-Average)
計算方式:匯總所有類別TP/FP/FN后計算全局指標
特點:樣本量差異大時更穩定(如商品評論情感分析)
3. 加權平均(Weighted Average)
公式:
Weighted = ∑ i = 1 N Samples i Total × Metric i \text{Weighted} = \sum_{i=1}^N \frac{\text{Samples}_i}{\text{Total}} \times \text{Metric}_i Weighted=i=1∑N?TotalSamplesi??×Metrici?
應用:電商用戶分級(VIP客戶樣本少但權重大)
回歸問題
均方誤差(Mean Squared Error, MSE)
定義與公式
均方誤差(MSE)是回歸任務中最常用的評價指標之一,其計算公式為預測值與真實值差的平方的均值:
MSE = 1 n ∑ i = 1 n ( y i ? y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1?i=1∑n?(yi??y^?i?)2
MSE通過平方操作放大了較大誤差的權重,使得模型在訓練過程中更關注極端錯誤。例如,若真實值為 [200, 300, 400]
,預測值為 [210, 290, 410]
,則 MSE 計算為:
MSE = ( 10 ) 2 + ( ? 10 ) 2 + ( 10 ) 2 3 = 100 + 100 + 100 3 ≈ 100 \text{MSE} = \frac{(10)^2 + (-10)^2 + (10)^2}{3} = \frac{100 + 100 + 100}{3} \approx 100 MSE=3(10)2+(?10)2+(10)2?=3100+100+100?≈100
此時 MSE 的單位是目標變量的平方(如房價的平方值),導致解釋性較差,但能有效反映模型的整體誤差水平。
優點與缺點
- 優點:對大誤差敏感,適用于需要嚴格避免大偏差的場景(如金融風控)。
- 缺點:量綱不直觀,且異常值會顯著拉高 MSE(例如某個預測誤差為 100,其平方貢獻為 10000)。
均方根誤差(Root Mean Squared Error, RMSE)
定義與公式
RMSE 是 MSE 的平方根,公式為:
RMSE = 1 n ∑ i = 1 n ( y i ? y ^ i ) 2 \text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} RMSE=n1?i=1∑n?(yi??y^?i?)2?
RMSE 解決了 MSE 量綱問題,使其與目標變量單位一致。例如,若預測溫度(單位:℃)的 MSE 為 25,則 RMSE 為 5℃,可直接解讀為“平均誤差約為 5 攝氏度”。
實際案例
假設預測某城市日平均溫度,真實值為 [20, 22, 25]
,預測值為 [18, 23, 24]
,則:
RMSE = ( 2 ) 2 + ( ? 1 ) 2 + ( 1 ) 2 3 = 4 + 1 + 1 3 ≈ 1.41 ℃ \text{RMSE} = \sqrt{\frac{(2)^2 + (-1)^2 + (1)^2}{3}} = \sqrt{\frac{4 + 1 + 1}{3}} \approx 1.41 \,℃ RMSE=3(2)2+(?1)2+(1)2??=34+1+1??≈1.41℃
RMSE 的優勢在于直觀性,但依然受異常值影響。例如,若某個預測誤差為 10℃,其平方項將主導計算結果。
平均絕對誤差(Mean Absolute Error, MAE)
定義與公式
MAE 計算預測值與真實值絕對誤差的平均值:
MAE = 1 n ∑ i = 1 n ∣ y i ? y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1?i=1∑n?∣yi??y^?i?∣
MAE 對異常值的魯棒性優于 MSE/RMSE。例如,預測房價時,若數據中存在少量極端高價(如 1000 萬美元),MAE 僅線性放大這些誤差,而 MSE 會因平方操作使其影響劇增。
實際案例
假設真實房價為 [200, 300, 1000]
(單位:萬美元),預測值為 [210, 290, 950]
,則:
MAE = ∣ 10 ∣ + ∣ ? 10 ∣ + ∣ 50 ∣ 3 = 10 + 10 + 50 3 ≈ 23.3 萬美元 \text{MAE} = \frac{|10| + |-10| + |50|}{3} = \frac{10 + 10 + 50}{3} \approx 23.3 \,萬美元 MAE=3∣10∣+∣?10∣+∣50∣?=310+10+50?≈23.3萬美元
MAE 的缺點是忽略誤差方向(如高估或低估),且無法區分多個小誤差和一個大誤差的差異。
決定系數(R2 Score)
定義與公式
R2 衡量模型對目標變量方差的解釋能力,公式為:
R 2 = 1 ? ∑ i = 1 n ( y i ? y ^ i ) 2 ∑ i = 1 n ( y i ? y ˉ ) 2 R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} R2=1?∑i=1n?(yi??yˉ?)2∑i=1n?(yi??y^?i?)2?
其中 y ˉ \bar{y} yˉ? 是真實值的均值。R2 越接近 1,說明模型擬合越好。例如,若 R2=0.85,表示模型能解釋 85% 的數據波動。
實際案例
假設某商品銷量預測的 R2=0.75,說明模型解釋了 75% 的銷量變化,剩余 25% 由未考慮的因素(如促銷活動)導致。但需注意:R2 隨特征數量增加可能虛高,此時需結合調整后 R2(Adjusted R2)使用。
平均絕對百分比誤差(Mean Absolute Percentage Error, MAPE)
定義與公式
MAPE 計算相對誤差的絕對值均值,公式為:
MAPE = 100 % n ∑ i = 1 n ∣ y i ? y ^ i y i ∣ \text{MAPE} = \frac{100\%}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right| MAPE=n100%?i=1∑n? ?yi?yi??y^?i?? ?
MAPE 適用于不同量綱數據的橫向比較。例如,預測銷售額時,若 MAPE=10%,表示平均誤差為實際值的 10%。
實際案例
假設某商品日銷售額真實值為 [100, 200, 300]
(單位:美元),預測值為 [90, 210, 280]
,則:
MAPE = 100 % 3 ( 10 100 + 10 200 + 20 300 ) ≈ 8.33 % \text{MAPE} = \frac{100\%}{3} \left( \frac{10}{100} + \frac{10}{200} + \frac{20}{300} \right) \approx 8.33\% MAPE=3100%?(10010?+20010?+30020?)≈8.33%
但需注意:當真實值接近零時,MAPE 可能無限大(如真實值為 0 時,分母為零)。
調整后決定系數(Adjusted R2)
定義與公式
調整后 R2 在 R2 基礎上引入特征數量懲罰,公式為:
Adjusted? R 2 = 1 ? ( ( 1 ? R 2 ) ( n ? 1 ) n ? k ? 1 ) \text{Adjusted } R^2 = 1 - \left( \frac{(1 - R^2)(n - 1)}{n - k - 1} \right) Adjusted?R2=1?(n?k?1(1?R2)(n?1)?)
其中 k k k 為特征數量。當模型中添加無關特征時,調整后 R2 會下降,從而避免過擬合。
實際案例
假設某模型在 100 個樣本上使用 5 個特征得到 R2=0.8,調整后 R2 計算為:
Adjusted? R 2 = 1 ? ( 1 ? 0.8 ) ( 99 ) 94 ≈ 0.787 \text{Adjusted } R^2 = 1 - \frac{(1 - 0.8)(99)}{94} \approx 0.787 Adjusted?R2=1?94(1?0.8)(99)?≈0.787
若新增一個無關特征后 R2 升至 0.805,調整后 R2 可能降至 0.78,說明新增特征無實際貢獻。
聚類問題
純度(Purity)
定義與公式
純度衡量聚類結果與真實類別的一致性,通過統計每個聚類簇中占多數的真實類別樣本數占比實現:
Purity = 1 N ∑ k max ? j ∣ w k ∩ c j ∣ \text{Purity} = \frac{1}{N} \sum_{k} \max_j |w_k \cap c_j| Purity=N1?k∑?jmax?∣wk?∩cj?∣
其中 N N N 是總樣本數, w k w_k wk? 表示第 k k k 個聚類簇, c j c_j cj? 表示第 j j j 個真實類別。例如,某聚類結果中三個簇的多數類別樣本數分別為 5、4、3,總樣本數 17,則純度為 ( 5 + 4 + 3 ) / 17 ≈ 0.706 (5+4+3)/17 \approx 0.706 (5+4+3)/17≈0.706。
優點與缺點
- 優點:計算簡單,直觀反映聚類與真實標簽的匹配程度。
- 缺點:未考慮類簇數量影響,可能因簇數過多虛高(如極端情況每個樣本單獨成簇,純度=1)。
歸一化互信息(Normalized Mutual Information, NMI)
定義與公式
NMI 通過信息熵衡量聚類結果與真實類別的信息共享程度:
NMI = I ( Ω ; C ) ( H ( Ω ) + H ( C ) ) / 2 \text{NMI} = \frac{I(\Omega; C)}{(H(\Omega) + H(C))/2} NMI=(H(Ω)+H(C))/2I(Ω;C)?
其中 I ( Ω ; C ) I(\Omega; C) I(Ω;C) 是互信息, H ( Ω ) H(\Omega) H(Ω) 和 H ( C ) H(C) H(C) 分別為聚類簇和真實類別的熵。NMI 值域為 [0,1],越接近 1 表示聚類與真實分布越一致。
實際案例
若真實類別分布為 [6,6,5]
,聚類結果分布為 [8,5,4]
,通過計算聯合概率分布和熵值,可得 NMI≈0.564。
優點:對簇數量敏感,避免因簇數過多導致的虛高問題。缺點:計算復雜度較高,需依賴概率分布模型。
蘭德系數(Rand Index, RI)與調整蘭德系數(Adjusted Rand Index, ARI)
定義與公式
RI 通過樣本對的一致性評估聚類質量:
RI = T P + T N T P + F P + F N + T N \text{RI} = \frac{TP + TN}{TP + FP + FN + TN} RI=TP+FP+FN+TNTP+TN?
其中 T P TP TP 表示同類樣本在同一簇中的對數, T N TN TN 表示異類樣本在不同簇中的對數。RI 值域 [0,1],但隨機聚類結果可能不為 0。因此引入 ARI 進行修正:
ARI = R I ? E [ R I ] max ? ( R I ) ? E [ R I ] \text{ARI} = \frac{RI - E[RI]}{\max(RI) - E[RI]} ARI=max(RI)?E[RI]RI?E[RI]?
ARI 值域 [-1,1],0 表示隨機水平,1 表示完美匹配。
實際案例
某聚類結果中 T P = 20 TP=20 TP=20、 T N = 72 TN=72 TN=72、 F P = 20 FP=20 FP=20、 F N = 24 FN=24 FN=24,則 R I ≈ 0.68 RI≈0.68 RI≈0.68,而 ARI 通過期望值修正后可能降至 0.48。
優點:綜合考量同類/異類樣本對的分布。缺點:計算復雜度高,需遍歷所有樣本對。
F值(F-score)
定義與公式
F-score 是準確率(Precision)和召回率(Recall)的調和平均,用于平衡聚類結果的精確性與覆蓋率:
F β = ( 1 + β 2 ) ? Precision ? Recall β 2 ? Precision + Recall F_{\beta} = (1+\beta^2) \cdot \frac{\text{Precision} \cdot \text{Recall}}{\beta^2 \cdot \text{Precision} + \text{Recall}} Fβ?=(1+β2)?β2?Precision+RecallPrecision?Recall?
其中 β \beta β 為權重參數(常取 1)。Precision 表示同一簇中同類樣本占比,Recall 表示同類樣本被正確聚類的占比。
實際案例
若某聚類結果中 T P = 20 TP=20 TP=20、 F P = 20 FP=20 FP=20、 F N = 24 FN=24 FN=24,則 Precision=0.5,Recall≈0.46, F 1 ≈ 0.48 F_1≈0.48 F1?≈0.48。
優點:適用于類別不平衡場景。缺點:依賴樣本對的統計,計算成本較高。
互信息(Mutual Information, MI)與調整互信息(AMI)
定義與公式
MI 直接衡量聚類結果與真實類別的信息相關性:
I ( Ω ; C ) = ∑ k , j ∣ w k ∩ c j ∣ N log ? N ∣ w k ∩ c j ∣ ∣ w k ∣ ∣ c j ∣ I(\Omega; C) = \sum_{k,j} \frac{|w_k \cap c_j|}{N} \log \frac{N|w_k \cap c_j|}{|w_k||c_j|} I(Ω;C)=k,j∑?N∣wk?∩cj?∣?log∣wk?∣∣cj?∣N∣wk?∩cj?∣?
為消除隨機聚類影響,AMI 引入調整項:
AMI = I ( Ω ; C ) ? E [ I ] ( H ( Ω ) + H ( C ) ) / 2 ? E [ I ] \text{AMI} = \frac{I(\Omega; C) - E[I]}{(H(\Omega) + H(C))/2 - E[I]} AMI=(H(Ω)+H(C))/2?E[I]I(Ω;C)?E[I]?
AMI 值域 [0,1],更魯棒。
優點:無需假設數據分布,適應復雜結構。缺點:計算復雜,需依賴概率估計。