個人機器學習筆記==》如何正確進行模型評估

一、誤差:

經驗誤差:

在訓練集樣本中分類錯誤的樣本佔總訓練樣本集的比例,也稱爲訓練誤差

泛化誤差:

在新樣本上的誤差比例。通常用它進行評估模型的好壞。

精度,錯誤率:

錯誤率是指錯誤的樣本數佔樣本總數的比例。

1-錯誤率,精度爲100%通常都是有問題的。

查準率,查全率:

對於二分類的問題,可將樣例根據其真實類別與學習器預測類別的組合劃分真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false nagative)四種情形,令TP,FP,TN,FN分別表示其對應的樣例數,則顯然有TP+FP+TN+FN=樣例總數。

如果使用上表的矩陣,查準率P與查全率R分別定義爲:

P和R是一對矛盾的度量,一般情況下,查準率高時,查全率往往偏低,而查全率高時,查準率往往偏低。

這裏還有幾個基本概念的東西,這裏就不一一詳細介紹了,真的是公式打不出來,抱歉!

度量查全率=查準率的平衡點(Break-Event Point,簡稱BEP)

ROC(全稱“受試者工作特徵”Receiver Operating Characteristic)曲線:

縱軸是“真正例率”True Positive Rate 簡稱TPR,橫軸是“假正例率”False Positive Rate,簡稱FPR

在進行學習器的比較時,若一個學習器的ROC曲線被另一個學習器的曲線完全“包住”,則可斷言後者的性能優於前者,若兩個學習器的ROC曲線發生交叉,則難以一般性地斷言兩者孰優孰劣。此時較爲合理的判據是比較ROC曲線下的面積,即AUC(Area Under ROC Curve)

P-R曲線:使用查準率,查全率爲縱橫軸。

二、過擬合(相對的是欠擬合):

機器學習的目的就是從訓練樣本中儘可能學出適用於所有潛在樣本的普遍規律,這樣才能在遇到新樣本時做出正確的判別。然而當學習器把訓練樣本學得太好了的時候,很可能已經把訓練樣本自身的而一些特點當作了所有潛在樣本都會具有的一般性質,這樣可能導致泛化性能下降。這種現象即稱爲過擬合。應當避免通過經驗誤差最小化來獲得最優解。

三、評估方法:

這時候我們的測試集就要登場,通常測試集與訓練集互斥,儘量保證其不在訓練集中出現或者使用過。

分層採樣:

訓練/測試集的劃分要儘可能保持數據分佈的一致性,避免數據劃分過程引入額外的偏差而對最終結果產生影響,例如分類任務中至少保持樣本的類別比例相似。如果從採樣(sampling)的角度來看待數據集的劃分過程,則保留類別比例的採用方式通常稱爲“分層採樣”(stratified sampling).例如通過對D進行分層採用而獲得含70%樣本的訓練集S和含30%樣本的測試集T,若D包含500個正例,500個反例,則分層採用得到的S應包含350個正例,350個反例,而T則包含150個正例和150個反例;若S,T中樣本類別比例差別很大,則誤差估計將由於訓練/測試數據分佈的差異而產生偏差。

留出法(hold-out):

將數據集D劃分爲兩個互斥的集合,其中一個集合作爲訓練集S,另一個作爲測試集T,即要在S上訓練出模型,用T來評估其測試誤差,作爲對泛化誤差的估計。

交叉驗證(cross validation):

先將數據集D劃分爲k個大小相似的互斥子集,即。每個子集都儘可能保持數據分佈的一致性,即從D中通過分層採樣得到。然後,每次用k-1個子集的並集作爲訓練集,餘下的那個子集作爲測試集;這樣可獲得k組訓練/測試集,從而可進行k次訓練和測試,最終返回的是這k個測試結果的均值。顯然,交叉驗證法評估結果的穩定性和保真性在很大程度上取決於k的取值,爲了強調這一點,通常把交叉驗證法稱爲“k折交叉驗證”。如果k取值是10,此時稱爲10折交叉驗證。

自助法(bootstrapping):

這個方法主要是針對數據集小,難以有效劃分訓練/測試集時很有用。它直接以自助採樣法(bootstrap sampling)爲基礎。給定包含m個樣本的數據集D,我們對它進行採樣產生數據集D':每次隨機從D中挑選一個樣本,將其拷貝放入D',然後再將該樣本放回初始數據集D中,使得該樣本在下次採樣時仍有可能被採到;這個過程重複執行m次後,我們就得到了包含m個樣本的數據集D',這就是自助採樣的結果。顯然,D中有一部分樣本會在D'中多次出現,而另一部分樣本不出現。通過自助採樣,初始數據集D中約有36.8%的樣本未出現在採樣數據集D'中,於是可以將D'用作訓練集,D-D'用作測試集,這樣實際評估的模型與期望評估模型都有m個訓練樣本,而我們仍有數據總量1/3的沒在訓練集中出現的樣本用於測試。這樣的測試結果,亦稱爲“包外估計(out-of-bag estimate)”。但是這個方法產生的數據集改變了原始數據集的分佈,這會引入估計偏差。因此數據量充足的情況下,留出法和交叉驗證法更常用一些。

 

 

 

 

 

 

 

 

 

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