第二章 模型評估與選擇

第二章 模型評估與選擇

模型評估方法

1. 留出法(hold-out)

方法:直接將數據集D劃分爲兩個互斥的集合,訓練集合S和測試集合T,在S上訓練模型,用T來評估其測試誤差

注意:訓練/測試集的劃分要儘可能保持數據分佈的一致性,避免因爲數據劃分過程引入額外的偏差而對最終結果產生影響

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

實際運用:實際中一般將大約2/3~4/5的樣本用於訓練,剩餘樣本用於測試

2. 交叉驗證法(cross validation)

方法:先將數據集D劃分爲k個大小相似的互斥子集.每個子集Di 都儘可能保持數據分佈的一致性,即從D中通過分層採樣得到 .然後每次用k-1個子集的並集作爲訓練集,餘下的那個子集作爲測試集,這樣就可以獲得k組訓練/測試集,從而可以進行k次訓練和測試,最終返回的是這k個測試結果的均值

實際運用:一般而言k的取值爲10,常用的還有5、20等

原理圖:

Cross Validation

3. 自助法(bootstrapping)

問題引出:我們希望評估的是用D訓練出來的模型,但是留出法和交叉驗證法中,由於保留了一部分樣本用於測試,因此實際評估的模型所使用的訓練集比D小,這必然會引入一些因訓練樣本規模不同而導致的估計偏差,爲此提出自助法.

方法:它以自助採樣(bootstrap sampling)爲基礎.給定包含m個樣本的數據集D,我們對它進行採樣產生數據集 D :每次隨機從D中挑選出一個樣本,將其拷貝放入D , 然後再將該樣本放回初始數據集D中,使得該樣本在下次採樣時仍有可能被採樣到;這個過程重複執行m次後,我們就得到可包含m個樣本數據的數據集D ,這就是自助採樣的結果.樣本在m次採樣中始終不被採到到概率爲

limm(11m)m1e

由此可知通過自助採樣,初始數據集D中約有36.8%的樣本未出現在採樣數據集D 中.於是我們可將D 用作訓練集,DD 用作測試集.

優缺點:自助法在數據集較小,難以有效劃分訓練/測試集時很有用,但是,自助法改變了初始數據集的分佈,這會引入估計偏差,所以在數據量足夠時,一般採用留出法和交叉驗證法.

性能度量

1. 錯誤率(error rate)與精度(accuracy)

錯誤率定義:

E(f;D)=1mi=1mI(f(xi)yi)

精度定義:
acc(f;D)=1mi=1mI(f(xi)=yi)=1E(f;D)

2. 準確率(precision)和召回率(recall)

問題引出:在現實生活,比如信息檢索中,我們往往會關心”檢索出的信息中有多少比例是用戶感興趣的“,”用戶感興趣的信息中有多少被檢索出來了“,準確率和召回率則比較適用於此類需求的性能度量

繪製如下混淆矩陣(confusion matrix)來進一步定義相關概念

Precision and Recall

準確率定義:

Precision=TPTP+FP

召回率定義:
Recall=TPTP+FN
集合表示 形象化解釋
precision Recall Wiki precision Recall Wiki
準確率與召回率之間的權衡可以使用PR曲線來衡量
PR Curve

將準確率和召回率相結合可以得到一些更實用的度量方式

F1度量定義:

F12×Precision×RecallPrecision+Recall

F1是基於準確率和召回率的調和平均定義的

在一些應用中,對準確率和召回率的重視程度不同,例如在商品推銷系統中,爲了儘可能少打擾用戶,更希望推薦內容是用戶感興趣的,此時準確率更重要.而在逃犯信息檢索系統中,更希望儘可能少漏掉逃犯,此時召回率比較重要.

將F1一般化可得到Fβ 的定義:

Fβ=(1+β2)×Precision×Recall(β2×Precision)+Recall

其中β=1 時退化爲標準的F1,β>1 時對準確率有更大影響,β<1 時對召回率有更大影響

3. ROC 與AUC

ROC Curve: 在統計中,”受試者工作特徵”(receiver operating characteristic),是一幅用於描述在不同的閾值下二分類系統的性能表現的圖。該圖的橫座標爲false positive rate(FPR),縱座標爲true positive rate (TPR),隨着閾值的變化可得到一系列座標點.

TPR的定義:

TPRTPTP+FN

FPR的定義:
FPR=FPFP+TN

ROC

AUC: Area under the curve 可通過對ROC曲線下各部分的面積求和而得

4. 期望值分析框架

Benefit Cost

  • Confusion Matrix

    [TruePositiveFalsePostiveFalseNegativeTrueNegative]
  • Cost Matrix

    [BenefitTPCostFPCostFNBenefitTN]

Expected_Profit=TruePositive×BenefitTPFalseNegative×CostFNFalsePostive×CostFPTrueNegative×BenefitTN

5. 偏差與方差

ErrorBiasVarianceNoise

訓練集中包含了一系列的點(x1,y1),(x2,y2),,(xi,yi),,(xn,yn) ,我們假定存在一個函數y=f(x)+ϵ ,其中的ϵ 的均值爲0方差爲σ2 .我們需要找到一個函數f̂ (x) 使它儘可能地畢竟函數f(x) .

爲此我們需要最小化(yf̂ (x))2 ,對這個誤差的期望進行分解可得:

E[yf̂ (x)2]=Bias[f̂ (x)]2+Var[f̂ (x)]+σ2

其中:
Bias[f̂ (x)]=E[f̂ (x)f(x)]

Var[f̂ (x)]=E[f̂ (x)E[f̂ (x)]2]

偏差度量了學習算法的期望預測與實際結果的偏離程度,即刻畫了學習算法本身的擬合能力

方差度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動所造成的影響

噪聲則表達了當前任務上任何學習算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度

Bias-Variance Dilemma
Bias Variance

給定學習任務,在訓練不足時,學習器的擬合能力不夠強,訓練數據的擾動不足以使學習器產生顯著變化,此時偏差主導了泛化誤差率;隨着訓練程度的加深,學習器的擬合能力逐漸增強,訓練數據發生的擾動逐漸能被學習器學到,方差逐漸主導了泛化誤差率;在訓練程度足夠後,學習器的擬合能力已非常強,訓練數據發生的輕微擾動都會導致學習器發生顯著變化,若訓練數據自身的、非全局的特性被學習器學到了,則將發生過擬合.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章