1. 程式人生 > >機器學習----模型評估與選擇

機器學習----模型評估與選擇

第二章-模型評估與選擇

一、概覽:對於同一資料集而言,給定不同的演算法,會提取不同的模型,甚至對於同一演算法給定不同的引數,也會得到不同的模型,選擇最佳的模型的過程稱為模型選擇。模型選擇會遵循一定的標準,首先需要將資料集分成若干部分,一部分用於訓練模型,一部分用於測試模型的泛化能力,對於測試的結果給定一個性能引數,從數值上比較不同模型的泛化能力,通過複雜的比較檢驗方法,對不同的模型進行比較,最後對於模型的效能嘗試給出一個解釋。

1、經驗誤差與過擬合。

2、對學習器的泛化誤差進行評估的方法:留出法,交叉驗證法,自助法。

3、效能度量:衡量模型泛化能力的評價標準。錯誤率,精度,查準率,查全率,F1,ROC,AUC,代價敏感錯誤率與代價曲線。

4、比較檢驗:對學習器的效能進行評估比較,假設檢驗,交叉驗證t檢驗,McNemar檢驗,Friedman檢驗,Nemenyi後續檢驗。

5、偏差與方差,瞭解學習演算法為什麼具有這樣的效能,偏差-方差分解是解釋學習演算法泛化效能的一種重要工具。

二,名詞解釋:

1、錯誤率:分類錯誤的樣本數佔樣本總數的比例。

2、精度:分類正確的樣本數佔樣本總數的比例,錯誤率+精度=1。

3、誤差:學習器的實際預測輸出與樣本真實輸出之間的差異。

4、訓練/經驗誤差:學習器在訓練集上的誤差。

5、泛化誤差:學習器在新樣本上的誤差。

6、過擬合:學習的學習能力過強,將訓練樣本自身的一些特點當做了所有潛在樣本都會具有的一般性質。

7、欠擬合:學習能力過弱,對學習樣本的一般性質尚未學好。

三,評估方法

當只有一個數據集,在既要訓練又要測試的時候,我們必須對資料集進行一定的處理,從中產生出資料集S和訓練集T,以下是常見的幾種方法:

1、留出法:

將資料集D直接劃分為兩個互斥的集合,一個作為訓練集S,另一個作為測試集T。使用留出法應採用若干次隨機劃分,重複進行試驗評估後取均值作為結果

2、交叉驗證法:

將資料集D劃分為k個大小相似的互斥子集,每次用k-1個子集的並集作為訓練集S餘下的那個子集作為測試集T。此時可以進行k次訓練和測試,最終返回這k個測試結果的均值,特別的,如果資料集D中包含m個樣本,令k = m則得到交叉驗證法的一個特例,留一法。

3,自助法:

給定包含m個樣本的資料集D,對D中的樣本進行m次有放回的抽樣,並把每次抽取的樣本拷貝放入D`中,將D`用作訓練集S,將D中不在D`內的樣本即D\D`用作測試集T。

D中的一部分樣本在m次取樣中始終不被採到的概率是(1-1/m)^m,取極限後約等於36.8%。

自助法更適用於資料集較小,難以有效劃分訓練集,測試集的時候使用。

四、效能度量

1、效能度量:衡量模型泛化能力的評價標準。

2、迴歸任務最常用的效能度量是均方誤差:

3、分類任務中常用的效能度量

(1)對於樣例集D,

         分類錯誤率定義為:

          

        精度則定義為:

          

(2)查準率,查全率與F1

       FN:False Negative,即“假反例”。被判定為負樣本,但事實上是正樣本。

​       FP:False Positive,即“假正例”。被判定為正樣本,但事實上是負樣本。

​       TN:True Negative,即“真反例”。被判定為負樣本,事實上也是負樣本。

​       TP:True Positive,即“真正例”。被判定為正樣本,事實上也是正樣本。

       查準率:真正例的個數,佔我們所認為的正確的總個數的比例。

       查全率:真正例的個數,佔整個資料集裡中的正確的總個數的比例。

       P(查準率)= TP/(TP+FP)

       R(查全率)=TP/(TP+FN)

     例如,在100個西瓜中,我們認定當中的80個是好瓜。而這80個好瓜中,真正的好瓜數是60個。那麼此時“查準率”是                60/80*100%=75%

    又如,在100個西瓜中,有80個是真正的好瓜。在我們認定的好瓜數中,有40個是真正的好瓜。那麼此時“查全率”是40/80*100%=50%

查準率與查全率是一對矛盾的度量,實際中往往會綜合考慮這兩者,去這兩者的綜合性能更好的。“儘量做到既查的準又查的全”。

平衡點BEP就是人們設計的一個綜合考慮查準率與查全率的效能度量,它是查準率=查全率時的取值。

F1度量:

F1度量的一般形式Fβ:

其中,β>0度量了查全率對查準率的相對重要性。β=1時,退化為標準的F1β>1時查全率有更大影響;β<1時,查準率有更大影響。

(3)RUC與AUC

    ROC(Receiver Operating Characteristic)曲線和AUC(Area Under the Curve)值常被用來評價一個二值分類器(binary classifier)  的優劣。ROC曲線的面積就是AUC,AUC用於衡量“二分類問題”機器學習演算法效能(泛化能力)。

(4)代價敏感錯誤率與代價曲線

       本質上就是為權衡不同型別錯誤所造成的不同損失,可為錯誤賦予非均等代價unequal cost。

五、比較檢驗

     1、比較學習器的效能

       (1)假設檢驗

                 假設檢驗中的假設就是對學習器泛化錯誤率分佈的某種判斷或猜想。

       (2)交叉驗證t檢驗

       (3)McNemar檢驗

       (4)Friedman檢驗與Nemenyi後續檢驗

     2、偏差與方差

          偏差: 描述模型輸出結果的期望與樣本真實結果的差距。            方差: 描述模型對於給定值的輸出穩定性。