AI(004) - 筆記 - 模型評估與選擇

模型評估與選擇

這篇文章是學習了2周後,對模型評估與選擇的總結,對應:

  • 第一週:(04)1.4 機器學習算法的組成部分
  • 第一週:(08)1.6 線性迴歸模型——模型選擇
  • 第二週:(04)2.4 不平衡數據分類學習
  • 第二週:(05)2.5 分類模型的評價
  • 《機器學習》(西瓜書):第2章 模型評估與選擇
  • 維基百科(en):「Precision and recall」 詞條
  • 維基百科(en):「Receiver operating characteristic」 詞條
  • 維基百科(en):「F1 score」 詞條

文章標題排版以西瓜書爲參考。另外公式比較多,app會亂碼。請在瀏覽器或電腦查看。



1 經驗誤差(empirical error)與過擬合(overfitting)

  • 錯誤率(error rate):錯誤的樣本數佔樣本總數的比例。

    即在m個樣本中有a個樣本分類錯誤,則:

    • 錯誤率(errpr rate): E = a / m
    • 精度(accuracy):1 - a / m
  • 誤差(error):實際預測輸出與樣本的真實輸出之間的差異。

    • 訓練誤差(training error)或經驗誤差(empirical error):訓練集(training set)上的誤差。

    • 泛化誤差(generalization error):新樣本上的誤差。

  • 過擬合(overfitting):把訓練樣本自身的一些特點當成所有潛在樣本都會具有的一般性質,導致泛化性能下降。

  • 欠擬合(underfitting):對訓練樣本的一般性質尚未學好。


2 評估方法(evaluation)

要評估,需使用一個「測試集」(testing set)來測試學習器對新樣本的判別能力,然後以測試集上的「測試誤差」(testing error)作爲泛化誤差的近似。

測試集應儘可能與訓練集互斥。

假定,一個包含m個樣例的數據集D,從中產生訓練集S和測試集T,則:

2.1 留出法(hold-out)

留出法:直接將數據集D分割成兩個互斥集合,即:

D = S T , S T =

分層採樣(stratified sampling):保留類別比例的採樣方式。

單次使用留出法得到的估計結果往往不夠穩定可靠,在使用留出法時,一把要採用若干次隨機劃分、重複進行實驗評估後取平均值作爲留出法的結果。

留出法的問題:

  • 如果S較大,結果可能不夠穩定準確;

  • 如果S較小,會降低評估結果的保真性(fidelity)。

這個問題沒有完美的解決方案,常見做法是將大約 2/3 ~ 4/5 的樣本用於訓練。

2.2 k折交叉驗證法(k-fold cross validation)

k折交叉驗證法:將D分割成k個大小相似的互斥子集,即:

D = D 1 D 2 D k , D i D j = ( i j )

然後,每次用k-1個子集的並集作爲訓練集,餘下的子集作爲測試集;進行k次訓練和測試,最終返回k個測試結果的均值。

常見k的取值:5,10,20等

爲減少因樣本劃分不同而引入的差別,k折交叉驗證通常要隨機使用不同的劃分重複p次,最終評估結果是p次k折交叉驗證結果的均值。

當 k = m 時,稱爲留一法(Leave-One-Out,簡稱LOO)。留一法評估結果往往被認爲比較準確,但當D比較大時,開銷可能是難以忍受的。

2.3 自助法(bootstrapping)

自助法:以自助採樣(bootstrap sampling)爲基礎產生數據集,即隨機從D中選擇一個樣本的拷貝,重複m次,作爲訓練集。不被採樣到的概率再取極限得

lim m ( 1 1 m ) m = 1 e 0.368

即,約有36.8%未被採樣,並將它作爲測試集。這樣產生的測試結果稱爲「包外估計」(out-of-bagestimate)。

由於自助法產生的數據集改變了初始數據集的分佈,這會引入估計誤差。因此,當數據量足夠時,留出法與交叉驗證法更常用。

2.4 調參(parameter tuning)與最終模型

  • 對每種參數配置都訓練出模型是不可行的。常見做法,對每個參數選定一個範圍和變化步長。

  • 在模型選擇完成後,學習算法和參數配置已選定,此時應該用D重新訓練。

  • 模型評估與選擇中用於評估測試的數據集常稱爲「驗證集」(validation set)。


3 性能度量(performance measure)

性能度量:衡量模型泛化能力的評價指標。學習器記作 f

  • 最常用的指標是均方誤差(mean squared error):

    E ( f ; D ) = 1 m i = 1 m ( f ( x i ) y i ) 2

  • 對於數據分佈D與概率密度函數p(·),均方誤差爲:

    E ( f ; D ) = x D ( f ( x ) y ) 2 p ( x ) d x

3.1 錯誤率(error rate)與精度(accuracy)

一般的

  • 錯誤率(error rate)

    E ( f ; D ) = 1 m i = 1 m I ( f ( x i ) y i )

  • 精度(accuracy):

    a c c ( f ; D ) = 1 m i = 1 m I ( f ( x i ) = y i ) = 1 E ( f ; D )

對於數據分佈D與概率密度函數p(·),有

  • 錯誤率(error rate)

    E ( f ; D ) = x D I ( f ( x ) y ) p ( x ) d x

  • 精度(accuracy):

    a c c ( f ; D ) = x D I ( f ( x ) = y ) p ( x ) d x = 1 E ( f ; D )

3.2 查準率(precision)、查全率(recall)與F1分數(F1 score)

對於二分類問題(binary classification)可將樣例(example)根據其真實性類別與學習器預測類別的組合劃分爲:

  • 真正例(true positive,TP)
  • 假正例(false positive,FP)
  • 真反例(true negative,TN)
  • 假反例(false negative,FN)

顯然有 TP + FP + TN + FN = 樣例總數。

混淆矩陣(confusion matrix)爲:

y ^ = 1 y ^ = 0 y = 1 T P F N N + y = 0 T N F P N N ^ + N ^

查準率(precision)又叫準確率,查準率P:

P = T P T P + F P

查全率(recall)又叫召回率,查全率R:

R = T P T P + F N

3.2.1 P-R曲線(Precision and Recall Curve)

將學習器的預測結果進行排序(最可能-最不可能),把樣本作爲正例進行預測,則每次可以計算出查準率和查全率。然後生成的查準率-查全率曲線即P-R曲線。

P-R曲線

圖片出自(《機器學習》——周志華)。

  • 若一個學習器的P-R曲線被另一個完全「包住」,則後者優於前者,即A優於C;
  • 若兩個曲線發生交叉,「平衡點」(Break-Even Point,簡稱BEP)大的優於小的,即A優於B。‘’

3.2.2 F1 score

由於BEP還是過於簡化了,更常用的是F1度量。

F 1 = 2 × P × R P + R = 2 × T P 樣例總數 + TP - TN

F1度量的一般形式—— F β ,能表達出對查準率/查全率的不同偏好,它定義爲:

F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R

  • β > 0 度量了R對P的相對重要性;
  • β = 1 時,退化爲標準的F1;
  • β > 1 時,R有更大影響;
  • β < 1 時,P有更大影響。

F1是基於查準率與查全率的調和平均(harmonic mean)定義的:

1 F 1 = 1 2 ( 1 P + 1 R )

F β 則是加權調和平均:

1 F β = 1 1 + β 2 ( 1 P + β 2 R )

Wiki對於F1的原文:

The traditional F-measure or balanced F-score (F1 score) is the harmonic mean of precision and recall:

F 1 = 2 1 r e c a l l + 1 p r e c i s i o n = 2 p r e c i s i o n r e c a l l p r e c i s i o n + r e c a l l

The general formula for positive real β is:

F β = ( 1 + β 2 ) p r e c i s i o n r e c a l l ( β 2 + p r e c i s i o o n ) + r e c a l l

The formula in terms of Type I and type II errors:

F β = ( 1 + β 2 ) t r u e p o s i t i v e ( 1 + β 2 ) t r u e p o s i t i v e + β 2 f a l s e n e g a t i v e + f a l s e p o s i t i v e

Two other commonly used F measures are the F 2 measure, which weighs recall higher than precision (by placing more emphasis on false negatives), and the F 0.5 measure, which weighs recall lower than precision (by attenuating the influence of false negatives).

The F-measure was derived so that F β 「measures the effectiveness of retrieval with respect to a user who attaches β times as much importance to recall as precision」. It is based on Van Rijsbergen’s effectiveness measure.

E = 1 ( α p + 1 α r ) 1

Their relationship is F β = 1 E w h e r e α = 1 1 + β 2

The F1 score is also known as the Sørensen–Dice coefficient or Dice similarity coefficient (DSC).

3.2.3 n個二分類混淆矩陣的F1

在n個二分類混淆矩陣上綜合考察查準率和查全率。有兩種方法:

  • 其一:宏查準率(macro-P),宏查全率(macro-R),宏F1(macro-F1)

    m a c r o P = 1 n i = 1 n P i

    m a c r o R = 1 n i = 1 n R i

    m a c r o F 1 = 2 × m a c r o P × m a c r o R m a c r o P + m a c r o R

  • 其二:微查準率(micro-P),微查全率(micro-R),微F1(micro-F1)

    m i c r o P = T P ¯ T P ¯ + F P ¯

    m i c r o R = T P ¯ T P ¯ + F N ¯

    m i c r o F 1 = 2 × m i c r o P × m i c r o R m i c r o P + m i c r o R

3.3 ROC(Receiver Operating Characteristic)與AUC(Area Under ROC Curve)

ROC曲線:根據預測結果對樣例進行排序,按此順序逐個把樣本作爲正例進行預測,每次計算出兩個值

  • 真正例率(True Positive Rate,簡稱TPR),縱軸

    T P R = T P T P + F N

  • 假正例率(False Positive Rate,簡稱FPR),橫軸

    F P R = F P T N + F P

組成的圖像。

ROC圖像

圖片出自(維基百科——Receiver Operating Characteristic詞條)。

  • 若一個學習器的ROC曲線被另一個學習器的曲線完全「包住」,則後者性能優於前者;
  • 若發生交叉,則比較ROC曲線下的面積,即AUC(Area Under ROC Curve,綠色部分)。

AUC的估計爲:

相關文章
相關標籤/搜索