西瓜書學習筆記(2)——模型評估與選擇

前言

啃這個書是真適合催眠… …加油!爲了錢!哈哈哈,發csdn的博客會推薦相似博客,看到很多同學寫的西瓜書讀書筆記,哈哈哈不是一個人在戰鬥,加油!

2.1 經驗誤差與過擬合

錯誤率:

分類錯誤的樣本數比總樣本數,精度 = 1 - 錯誤率

誤差:

學習器實際預測輸出與真實輸出的差距,學習器在訓練集上的誤差叫訓練誤差或經驗誤差,在新樣本上的誤差叫泛化誤差,我們顯然希望泛化誤差小的模型。

過擬合:

當學習器把訓練樣本學得太好的時候,很可能已經把訓練樣本自身的一些特點當作了所有潛在樣本都會具有的一般性質,這樣就會導致泛化性能下降。該現象叫做過擬合。

欠擬合:

相對於過擬合的情況,訓練樣本的一般性質尚且沒有學好。
欠擬合解決辦法:決策樹學習中擴展分支,神經網絡學習中增加學習輪數。

P集合:

在多項式時間內可以找出解的決策性問題的集合。

NP集合:

在多項式時間內可以驗證解是否正確的決策性問題的集合。

NP-hard:

指所有NP問題都能在多項式時間複雜度內歸約到的問題

多項式時間複雜度:

複雜度被分爲兩種級別,其中後者的複雜度無論如何都遠遠大於前者:一種是O(1),O(log(n)),O(n^a)… …我們把它叫做多項式級的複雜度,因爲它的規模n出現在底數的位置;另一種是O(a^n)和O(n!)型複雜度,它是非多項式級的,其複雜度計算機往往不能承受。當我們在解決一個問題時,我們選擇的算法通常都需要是多項式級的複雜度,非多項式級的複雜度需要的時間太多,往往會超時,除非是數據規模非常小。

關於過擬合不可避免的論證(還是每太啃明白):

機器學習面臨的問題通常是NP難甚至更難,而有效的學習算法必然是在多項式時間內運行完成的,若可以徹底避免過擬合,則通過經驗誤差最小化就能獲得最優解,這就意味着我們構造性的證明了P = NP,因此只要相信p!=NP過擬合就不可避免。

2.2 評估方法

2.2.1 留出法

概念:

留出法直接將樣本分爲兩個互斥的集合,訓練集S,測試集T,那麼存在D = S ∪ T;S ∩ T = 空。在S上訓練出的模型用T來評估誤差作爲對泛化誤差的估計。

樣本劃分注意事項一:

樣本如果存在多類別的數據,應該儘量保證類別比例不被破壞,例如完整樣本500個壞西瓜加500個好西瓜,那麼分配訓練集的時候訓練集比驗證集如果按照7:3分配那麼訓練集應該有350個好瓜加350個壞瓜,驗證集則是150個好瓜150個壞瓜,這樣在完整樣本中好瓜壞瓜比例是1:1在訓練集和驗證集中比例仍是1:1。

樣本劃分注意事項二:

給定了劃分比例樣本劃分仍然存在多種選擇,例如500個好瓜中選擇350個作爲訓練集的時候可以選擇前350個也可以選擇後350個這樣仍會對訓練結果產生影響,所以應該採用若干次隨機劃分,重複進行實驗評估後取平均值作爲留出法的評估結果。

常見的劃分比例:

常見的作法是將2/3 到 4/5的樣本用於訓練剩餘樣本用於測試,一般而言測試集的樣本至少含有30個。

2.2.2 交叉驗證法

概念:

首先將數據集D劃分成k個大小相似的互斥子集,D = D1∪D2…∪Dk,Di ∩Dk = 空,每個子集也要保證樣本類型分佈的一致性,可以採用從D中分層採樣得到,然後選擇k - 1個子集作爲訓練集剩下的那個作爲測試集,從而可以進行k次訓練和測試。交叉驗證法又叫做k折交叉驗證。

10折交叉驗證示意圖:
在這裏插入圖片描述
缺點:

算力要求高,數據大的時候耗時

2.2.3 自助法

概念:

他是一個比較好的解決方案,對於m個樣本的數據集D,創建一個採樣產生的數據集D’,每次隨機拷貝D中的一個樣本到D’中,這個過程重複m次,就可以得到含有m個樣本的數據集D’,顯然因爲是隨機採樣,D中的一部分樣本可能不會在D’中出現,也有可能D中的一些樣本在D’中出現多次,D中樣本在D’中未出現的概率是0.368

關於未出現概率0.368的計算:
在這裏插入圖片描述
優點:

自助法在數據集很小難以有效劃分數據集的時候很有用,另外自助法可以從初始數據集中產生多個不同的訓練集,這對集成學習等方法有很大的好處。

缺點:

自助法改變了初始數據集的分佈,這會引入估計偏差,因此數據量充足的情況下,留出法和交叉法更常用。

2.2.4 調參與最終模型

調參:

大多數的學習算法都有些參數需要設定,參數配置不同學習得到的模型也不相同,參數調節也很重要。

驗證集:

模型選擇和評估中用於評估測試的數據集稱爲“驗證集”,在研究模型泛化能力的時候,使用測試集上的判別效果來估計模型在實際使用時的泛化能力,而把訓練集另外分成訓練集和驗證集,基於驗證集上的性能來進行模型的選擇和調參。

2.3 性能度量

迴歸問題中常用的性能度量是“均方誤差”:
在這裏插入圖片描述
這個性能度量的含義似乎和損失函數的意義差不多,損失越小模型越優性能自然也越好,更一般的對於f(xi) - yi這一項,如果存在出現的概率問題,那麼對於數據分佈D和概率密度p()的均方誤差可以描述爲:
在這裏插入圖片描述
其實就是每一項乘上了出現的概率係數值罷了。

2.3.1 錯誤率與精度

分類錯誤率公式:
在這裏插入圖片描述
公式解釋:

係數1/m用於計算錯誤率,m是整個樣本的數目,所以錯誤數除以總數就是錯誤率,求和符號相當於遍歷所有的情況,羅馬數字2的符號在西瓜書最前面的公式符號簡介裏有說明,它是指示函數,在括號內的式子爲真時取值1爲假時取值0,所以完整公式的含義就一目瞭然了,遍歷整個情況,輸出結果與實際不符合的時候記錄爲1並統計不符合的總數目,把不符合的總數目除以樣本總數目得出錯誤率。

精度定義公式,這就不說了,1減去錯誤率就是正確率也就是精度了:
在這裏插入圖片描述
更一般的對於概率密度函數有錯誤率和精度以下兩個式子:
在這裏插入圖片描述
在這裏插入圖片描述

2.3.2 查準率查全率和F1

查準率P:

這兩個量其實很簡單,用二分類舉例,100個孩子,50個男的50個女的,使用我們的模型得出的分類結果是60個男的,40個女的,假設60個男的裏面判斷正確的是50個男生其他多的10個女生誤判成了男生,所以男生的查準率爲50/60

查全率R:

同樣是上面的例子,查全率就是一共100個孩子,對於男生的查全率因爲男生全查出來了所以男生的查準率爲50/50,對於女生,一共50個別女生查出來了40個所以查全率爲40/50.

上述舉例的查全率和查準率都是一個非常高的情況,但是實際中這兩個值是一個矛盾的度量,一般來說,查準率高時,查全率往往 偏低;而查全率高時,查準率往往偏低.例如,若希望將好瓜儘可能多地選出來, 則可通過增加選瓜的數量來實現,如果將所有西瓜都選上,那麼所有的好瓜也必然都被選上了,但這樣查準率就會較低;若希望選出 的瓜中好瓜比例儘可能高,則可只挑選最有把握的瓜,但這樣就難免會漏掉不少好瓜,使得查全率較低。
兩個量的PR曲線圖:
在這裏插入圖片描述
曲線的用處:

在機器學習中如果一個學習器的PR曲線被另個學習器的PR曲線完全包住,則可以肯定另一個學習器更優。

平衡點:

簡稱BEP,它是一條 y = x的曲線,在圖2-3中可以看到,這幾個點的查全率等於查準率,,用它來綜合考慮查準率查全率的性能度量。上圖中C的BEP小於B小於A,所以學習器的的排名爲A > B > C

由於BEP過於簡化,在此基礎上提出F1度量的概念:
在這裏插入圖片描述
其中變量的概念來自於分類結果混淆矩陣:
在這裏插入圖片描述
對於F1公式分析,F1公式採用的是調和平均公式計算得到的:
在這裏插入圖片描述
因爲在實際的應用中,對查全率和查準率的要求可能各不相同,例如在抓小偷的任務中,肯定是希望查全率較高的,所以引入參數β來設定PR的權重:
在這裏插入圖片描述
推理原式子:
在這裏插入圖片描述
關於β參數的作用:

ß>0度量了查全率對查準率的相對重要性 [VanRijsbergen, 1979]. ß = 1 時退化爲標準的 F1; ß> 1 時查全率有更大影響; ß < 1 時查準率有更大影響.。

2.3.4 代價敏感錯誤率與代價曲線

未完待續… …

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