第二章 模型評估與選擇
2.1 經驗誤差與過擬合
錯誤率(error rate):分類錯誤的樣本數占樣本總數的比例。
精度(accuracy):1 - 錯誤率
誤差(error):學習器的實際預測輸出與樣本的真實輸出之間的差異稱為誤差。
誤差(error):學習器的實際預測輸出與樣本的真實輸出之間的差異稱為誤差。
訓練誤差(training error) / 經驗誤差(empirical error):學習器在訓練集上的誤差。
泛化誤差(generalization error):學習器在新樣本上的誤差。
過擬合(overfitting):學習器把訓練樣本學的太好,把訓練樣本自身的一些特點當做了所有潛在樣本都會具有的一般性質,導致泛化性能下降,這種現象在機器學習中稱為過擬合。
欠擬合(underfitting):與過擬合相反,對訓練樣本的一般性質尚未學好。
最常見的導致過擬合的因素是學習能力過於強大,而欠擬合通常是由於學習能力低下造成的。
學習能力:由學習算法和數據內涵共同決定。
機器學習面臨的問題通常是NP難甚至更難,而有效的學習算法必然是在多項式時間內運行完成。若可徹底避免過擬合,則通過經驗誤差最小化就能獲得最優解,這就意味着我們構造性的證明了P=NP。因此只要相信P≠NP,過擬合就不可避免。
2.2 評估方法
測試集(testing set)
測試誤差(testing error)
通常假設測試樣本也是從樣本真實分布中獨立同分布采樣而得。需注意的是,測試集應該盡可能的與訓練集互斥。
當我們只有一個包含m個樣例的數據集D時,有以下幾種常見的做法:留出法、交叉驗證法、自助法。
留出法

注:
- 訓練 / 測試集的划分要盡可能保持數據分布的一致性,避免因數據划分過程引入額外的偏差而對結果產生影響。通常采用分層采樣。
- 在使用留出法時一般采用若干次隨機划分、重復進行實驗評估后取平均值作為留出法的評估結果。
- 通常將數據集D的大約 2/3 ~ 4/5 用於訓練,剩余樣本用於測試。

當 k 剛好等於數據集D的樣本總數 m 時,得到了交叉驗證法的一個特例:
留一法(Leave-One-Out,簡稱LOO)。
留一法的優勢:
- 不受隨機樣本划分方式的影響;
- 評估結果比較准確(NFL定理同樣適用)。
留一法的劣勢:
- 數據集比較大時,訓練的計算開銷可能難以忍受;
- 算法調參復雜。
自助法

優勢:
- 自助法在數據集較小、難以有效划分訓練 / 測試集時很有用;
- 能從初始數據集中產生多個不同的訓練集,這對集成學習等方法有很大的好處。
劣勢:
- 自助法產生的數據集改變了初始數據集的分布,會引入估計偏差。
調參與最終模型
參數調節 / 調參(parameter tuning)
驗證集(validation set):模型評估與選擇中用於評估測試的數據集。===========跟測試集的關系是???
2.3 性能度量(performance measure)

下面介紹
分類任務中的性能度量。
錯誤率與精度
錯誤率:分類錯誤的樣本數占樣本總數的比例。
精度:分類正確的樣本數占樣本總數的比例。
對樣例集D,分類錯誤率定義為

精度定義為:

更一般的,對於數據分布D和概率密度函數p(*),錯誤率描述為:

精度描述為:

查准率(precision)、查全率(recall)與F1

查准率和查全率是一對矛盾的度量。一般來說,查准率高時,查全率往往偏低;而查全率高時,查准率往往偏低。

F1度量

Fβ度量
![]() |
![]() |
在n個二分類混淆矩陣上綜合考察查准率和查全率時:

ROC與AUC
ROC:全稱是受試者工作特征(Receiver Operating Characteristic)曲線
TPR:True Positive Rate,預測出的正例在所有實際正例中所占的比例。

FPR:False Positive Rate,預測為正例的反例在所有實際反例中所占的比例。

ROC曲線以TPR為縱軸,以FPR為橫軸,過程與P-R曲線的過程類似而得到。

AUC:Area under ROC Curve

代價敏感錯誤率與代價曲線
非均等代價(unequal cost):是為了權衡不同的錯誤所造成的不同的損失。
代價矩陣(cost matrix):cost
ij 表示將第 i 類樣本預測為第 j 類樣本的代價。

代價敏感(cost-sensitive
)錯誤率:


比較檢驗
假設檢驗
假設檢驗中的假設是對學習器泛化錯誤率分布的某種判斷或猜想。
現實任務中我們並不知道學習器的泛化錯誤率,只能獲知其測試錯誤率。可根據測試錯誤率估推出泛化錯誤率的分布。

交叉驗證 t 檢驗
5*2交叉驗證法
McNemar 檢驗
Friedman 檢驗 與 Nemenyi 后續檢驗
偏差與方差
偏差-方差分解(bias-variance decomposition)是解釋學習算法泛化性能的一種重要工具。