第二章 模型評估與選擇
模型評估方法
1. 留出法(hold-out)
方法:直接將數據集D劃分爲兩個互斥的集合,訓練集合S和測試集合T,在S上訓練模型,用T來評估其測試誤差
注意:訓練/測試集的劃分要儘可能保持數據分佈的一致性,避免因爲數據劃分過程引入額外的偏差而對最終結果產生影響
缺點與改進:單次使用留出法得到的估計往往不夠穩定可靠,在使用留出法時,一般要採用若干次隨機劃分、重複進行實驗評估後取平均值作爲留出法的評估結果
實際運用:實際中一般將大約2/3~4/5的樣本用於訓練,剩餘樣本用於測試
2. 交叉驗證法(cross validation)
方法:先將數據集D劃分爲k個大小相似的互斥子集.每個子集
實際運用:一般而言k的取值爲10,常用的還有5、20等
原理圖:
3. 自助法(bootstrapping)
問題引出:我們希望評估的是用D訓練出來的模型,但是留出法和交叉驗證法中,由於保留了一部分樣本用於測試,因此實際評估的模型所使用的訓練集比D小,這必然會引入一些因訓練樣本規模不同而導致的估計偏差,爲此提出自助法.
方法:它以自助採樣(bootstrap sampling)爲基礎.給定包含m個樣本的數據集D,我們對它進行採樣產生數據集
由此可知通過自助採樣,初始數據集D中約有36.8%的樣本未出現在採樣數據集
優缺點:自助法在數據集較小,難以有效劃分訓練/測試集時很有用,但是,自助法改變了初始數據集的分佈,這會引入估計偏差,所以在數據量足夠時,一般採用留出法和交叉驗證法.
性能度量
1. 錯誤率(error rate)與精度(accuracy)
錯誤率定義:
精度定義:
2. 準確率(precision)和召回率(recall)
問題引出:在現實生活,比如信息檢索中,我們往往會關心”檢索出的信息中有多少比例是用戶感興趣的“,”用戶感興趣的信息中有多少被檢索出來了“,準確率和召回率則比較適用於此類需求的性能度量
繪製如下混淆矩陣(confusion matrix)來進一步定義相關概念
準確率定義:
召回率定義:
集合表示 | 形象化解釋 |
---|---|
準確率與召回率之間的權衡可以使用PR曲線來衡量 |
---|
將準確率和召回率相結合可以得到一些更實用的度量方式
F1度量定義:
F1是基於準確率和召回率的調和平均定義的
在一些應用中,對準確率和召回率的重視程度不同,例如在商品推銷系統中,爲了儘可能少打擾用戶,更希望推薦內容是用戶感興趣的,此時準確率更重要.而在逃犯信息檢索系統中,更希望儘可能少漏掉逃犯,此時召回率比較重要.
將F1一般化可得到
其中
3. ROC 與AUC
ROC Curve: 在統計中,”受試者工作特徵”(receiver operating characteristic),是一幅用於描述在不同的閾值下二分類系統的性能表現的圖。該圖的橫座標爲false positive rate(FPR),縱座標爲true positive rate (TPR),隨着閾值的變化可得到一系列座標點.
TPR的定義:
FPR的定義:
AUC: Area under the curve 可通過對ROC曲線下各部分的面積求和而得
4. 期望值分析框架
Confusion Matrix
[TruePositiveFalsePostiveFalseNegativeTrueNegative] Cost Matrix
[BenefitTPCostFPCostFNBenefitTN]
5. 偏差與方差
訓練集中包含了一系列的點
爲此我們需要最小化
其中:
偏差度量了學習算法的期望預測與實際結果的偏離程度,即刻畫了學習算法本身的擬合能力
方差度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動所造成的影響
噪聲則表達了當前任務上任何學習算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度
Bias-Variance Dilemma |
---|
給定學習任務,在訓練不足時,學習器的擬合能力不夠強,訓練數據的擾動不足以使學習器產生顯著變化,此時偏差主導了泛化誤差率;隨着訓練程度的加深,學習器的擬合能力逐漸增強,訓練數據發生的擾動逐漸能被學習器學到,方差逐漸主導了泛化誤差率;在訓練程度足夠後,學習器的擬合能力已非常強,訓練數據發生的輕微擾動都會導致學習器發生顯著變化,若訓練數據自身的、非全局的特性被學習器學到了,則將發生過擬合.