機器學習演算法筆記之7:模型評估與選擇
一、經驗誤差與過擬合
我們通常把分類錯誤的樣本數佔樣本總數的比例稱為“錯誤率”,即如果在m個樣本中有a個樣本分類錯誤,則錯誤率E=a/m,1-a/m稱為精度,精度=1-錯誤率。我們把學習器的實際預測輸出與樣本的真實輸出之間的差異稱為誤差,學習器在訓練集上的誤差稱為訓練誤差或經驗誤差,在新樣本上的誤差稱為泛化誤差。
當學習器把訓練樣本學得太好的時候,很可能已經把訓練樣本自身的一些特點當作了所有潛在樣本都會具有的一般性質,這樣就會導致泛化能力下降,稱為過擬合。過擬合是機器學習面臨的關鍵障礙,各類學習演算法都必然帶有一些針對過擬合的措施;然而必須認識到,過擬合是無法徹底避免的,我們所能做的只是緩解或者減小其風險。
二、評估方法
為了對學習器的泛化效能進行評估,我們需要一個“測試集”來測試學習器對新樣本的判別能力,以測試集上的“測試誤差”作為泛化誤差的近似。通常我們假設測試樣本是從真是樣本中的獨立同分布取樣而得。需要注意的是,測試集應儘可能與訓練集互斥,即測試樣本儘量不在訓練集中出現、未在訓練過程中使用過。
1. 留出法
留出法直接將資料集D劃分為兩個互斥的集合,一個作為訓練集S,另一個作為測試集T。訓練集/測試集的劃分要儘可能保持資料分佈的一致性,如果從取樣的角度來看待資料集的劃分過程,通常採用“分層取樣”。
由於存在多種劃分方式多資料集D進行分割,不同的劃分對應的模型評估也會存在差別。單次使用留出法得到的估計結果往往不夠穩定可靠,在使用留出法時,一般採用若干次隨機劃分、重複進行實驗評估後取平均值作為留出法的評估結果。
2. 交叉驗證法
交叉驗證法(crossvalidation)先將資料集D劃分為k個大小相似的互斥子集,每個子集都儘可能保持資料分佈的一致性,即從D中通過分層取樣得到。每次用k-1個子集的並集作為訓練集,餘下的那個子集作為測試集;這樣就可得到k組訓練集/測試集,可進行k次訓練和測試,最終返回這k次測試結果的均值,稱“k折交叉驗證”。
與留出法相似,將資料集D劃分為k個子集同樣存在多種劃分方式,因此k折交叉驗證通常也要隨機使用不同的劃分方式重複p次,最終的評估結果是這p次k折交叉驗證的結果的均值。
假定資料集D中包含m個樣本,若令k=m,則得到交叉驗證法的一個特例:留一法(Leave-One-Out,LOO)。留一法不受資料集劃分方式的影響,留一法中被實際評估的模型與期望評估的用D訓練出的模型很相似,評估結果往往比較準確。留一法的計算開銷是相當大的。
3. 自助法
自助法(bootstrapping)是以自主取樣法(bootstrapsampling)為基礎。
三、效能度量
對學習器的泛化效能進行評估,不僅需要有效可行的實驗估計方法,還需要有衡量模型泛化能力的評價標準,這就是效能度量。
迴歸任務最常用的效能度量是“均方誤差”(mean squarederror)
更一般的,對於資料分佈D和概率密度函式p(·),均方誤差可描述為
1. 錯誤率與精度
錯誤率是分類錯誤的樣本數佔樣本總數的比例,精度則是分類正確的樣本數佔樣本總數的比例。
2. 查準率、查全率與F1
查準率與查全率是一對矛盾的度量。
3. ROC與AUC
ROC,受試者工作特徵,ReceiverOperating Characteristic
若一個學習器的ROC曲線被另一個學習器的曲線完全包住,則可斷言後者的效能優於前者;若兩個學習器的ROC曲線發生交叉,則難以一般性的斷言兩者孰優孰劣,此時較為合理的判據是比較ROC曲線下的面積,即AUC(Area Under ROC Curve)。
4. 代價敏感錯誤率和代價曲線
在非均等代價下,我們所希望的不再是簡單地最小化錯誤次數,而是希望最小化“總體代價”。設第0類作為正類,第1類作為反類,令D+與D-分別代表D的正例子集和反例子集,則“代價敏感”錯誤率為
四、比較檢驗
統計假設檢驗(hypothesistest)為我們進行學習器效能比較提供了重要依據。
更多請參見《機器學習》和《應用數理統計》。
五、偏差與方差
為了瞭解學習演算法為什麼具有這樣的效能,我們使用“偏差-方差分解”(bias-variance decomposition)來解釋學習演算法泛化效能。
對測試樣本x,令yD為x在資料集中的標記,y為x的真實標記,f(x;D)為訓練集D上學得模型f在x上的預測輸出。以迴歸任務為例,學習演算法的期望預測為,使用樣本數相同的不同訓練集產生的方差為,噪聲為,期望輸出與真實標記的差別稱為偏差(bias),即。為便於討論,假定噪聲期望為零,即。通過簡單的多項式展開合併,可對演算法的期望泛化誤差進行分解:。於是,,也就是說,泛化誤差可分解為偏差、方差與噪聲之和。
偏差度量了學習演算法的期望預測與真實結果的偏離程度,即刻畫了學習演算法本身的擬合能力;方差度量了同樣大小的訓練集的變動所導致的學習效能的變化,即刻畫了資料擾動所造成的影響;噪聲則表達了在當前任務上任何學習演算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度。偏差-方差分解說明,泛化能力是由學習演算法的能力、資料的充分性以及學習任務本身的難度所共同決定的。
一般來說,偏差與方差是衝突的,稱為偏差-方差窘境(bias-variancedilemma)。
相關文章
- 機器學習-學習筆記(二) --> 模型評估與選擇機器學習筆記模型
- 周志華西瓜書《機器學習筆記》學習筆記第二章《模型的評估與選擇》機器學習筆記模型
- 機器學習之模型評估機器學習模型
- 機器學習筆記——模型選擇與正則化機器學習筆記模型
- 機器學習筆記之效能評估指標機器學習筆記指標
- 演算法金 | 機器學習模型評價、模型與演算法選擇(綜述)演算法機器學習模型
- 機器學習之模型選擇機器學習模型
- 【機器學習】第二節-模型評估與選擇-效能度量、方差與偏差、比較檢驗機器學習模型
- 機器學習演算法筆記之3:線性模型機器學習演算法筆記模型
- 機器學習學習筆記之——演算法鏈與管道機器學習筆記演算法
- 【模型評估與選擇】sklearn.model_selection.KFold模型
- css樣式選擇器學習筆記CSS筆記
- 演算法金 | 選擇最佳機器學習模型的 10 步指南演算法機器學習模型
- 機器學習演算法學習筆記機器學習演算法筆記
- 機器學習演算法筆記之5:支援向量機SVM機器學習演算法筆記
- 【模型評估與選擇】交叉驗證Cross-validation: evaluating estimator performance模型ROSORM
- 機器學習演算法筆記之8:聚類演算法機器學習演算法筆記聚類
- 演算法金 | 必會的機器學習評估指標演算法機器學習指標
- 4月10日學習筆記——jQuery選擇器筆記jQuery
- 機器學習筆記(KNN演算法)機器學習筆記KNN演算法
- JVM記憶體分配機制與回收策略選擇-JVM學習筆記(2)JVM記憶體筆記
- 【機器學習】--模型評估指標之混淆矩陣,ROC曲線和AUC面積機器學習模型指標矩陣
- CSS 小結筆記之選擇器CSS筆記
- 重學前端筆記22-css 選擇器機制前端筆記CSS
- python機器學習筆記:EM演算法Python機器學習筆記演算法
- 機器學習演算法:Logistic迴歸學習筆記機器學習演算法筆記
- 機器學習演算法筆記之4:貝葉斯分類器機器學習演算法筆記
- 如何選擇評估 JS 庫JS
- Java虛擬機器記憶體模型學習筆記Java虛擬機記憶體模型筆記
- 機器學習學習筆記機器學習筆記
- 機器學習演算法筆記之6:資料預處理機器學習演算法筆記
- 機器學習筆記機器學習筆記
- 強化學習-學習筆記7 | Sarsa演算法原理與推導強化學習筆記演算法
- 機器學習筆記(1): 梯度下降演算法機器學習筆記梯度演算法
- 【火爐煉AI】機器學習004-嶺迴歸器的構建和模型評估AI機器學習模型
- AI學習筆記之——如何理解機器學習(Machine Learning)AI筆記機器學習Mac
- 機器學習中演算法與模型的區別機器學習演算法模型
- 機器學習之使用sklearn構建據類模型,並且評價模型機器學習模型