Day2 《機器學習》第二章學習筆記
這一章應該算是比價了理論的一章,我有些概率論基礎,不過起初有些地方還是沒看多大懂。其中有些公式的定義和模型誤差的推導應該還是很眼熟的,就是之前在概率論課上提過的,不過有些模糊了,當時課上學得比較淺。
Day2 第二章 模型評估與選擇
2.1 經驗誤差與過擬合
通常我們把分類錯誤的樣本數占樣本總數的比例稱為“錯誤率(error rate)”,即錯誤率E=a/m,m個樣本中a個錯誤,1-a/m稱為“精度(accuracy)”,我們把學習器的實際輸出與樣本的真實輸出之間的差異稱為“誤差(error)”,學習期在訓練機上的誤差稱為“訓練誤差(training error)”或“經驗誤差(empirical error)”,在新樣本上的誤差叫做“泛化誤差(generation error)”,顯然,我們做機器學習,就是希望得到泛化誤差小的學習器。
一個好的學習器,應該從訓練樣本中盡可能學出適用于所有潛在樣本的“普遍規律”,注意,這里說的“普遍規律”。這里就涉及到學習器的兩個概念:“過擬合(overfitting)”和“欠擬合(underfitting)”。過擬合:就是學習器把本學得太好了,把訓練樣本自身的一些特點當做了潛在樣本都會有的一般性質了,欠擬合:顧名思義,就是對訓練樣本的一般性質還沒學好。導致過擬合的因數很多,最常見的是由于學習能力過于強大,把樣本不太一般的特性都學會了,而欠擬合是由于學習能力低下造成的。欠擬合容易克服,過擬合不好克服(要構造性地證明 “P=NP”,只要相信“P≠NP”,過擬合就不可避免),比較麻煩。
2.2 評估方法
通常,我們可通過實驗測試來對學習器的泛化誤差進行評估進而做出選擇。
為此,我們需要使用一個“測試集(testing set)”來測試學習器對新樣本的判別能力,然后以測試集上的“測試誤差(testing error)”作為泛化誤差的近似。這里說到的測試集,來自于數據集,應該盡可能與訓練集排斥,即測試樣本盡量不在訓練集中出現,未在訓練集中使用過,這很好理解:學完一門課,老師出了10道習題用作課后練習,如果老師想要考察同學們對著門課的學習情況,如果用這10道習題用作考題,顯然得不到正確的考察結果。但是,我們如果只有一個包含m個樣本的數據集D={(x1, y1),(x2, y2),…,(xm, ym)},既要訓練,又要測試,我們就要對D做適當的處理,從中產生訓練集S和測試集T,有以下常見做法:
2.2.1 留出法
“留出法(hold-out)”直接將數據集D劃分為兩個互斥的集合,訓練集S和測試集T,即D=S∪T,S∩T=?。我們通常將數據集的大約2/3~4/5的樣本用作訓練,剩余樣本用作測試。
2.2.2 交叉驗證法
“交叉驗證法(cross validation)”先將數據集D劃分為k個大小相似的互斥子集,即D=D1∪D2∪…∪Dk, Di∪Dj=?(i≠j),且每個子集Di都盡可能保持原數據分布的一致性。然后,每次用k-1個子集的并集作為訓練集,余下的一個子集做測試集,這樣就可以獲得k組訓練/測試集,從而進行k次訓練和測試,最終返回的是k個測試結果的平均值,因此,我們通常把交叉驗證法稱為“k折交叉驗證法(k-fold cross validation)”。其中的一個特例是k=m:留一法(Leave-One-Out,簡稱LOO)。
2.2.3 自助法
我們希望評估的是用D訓練出的模型,但留出法和交叉驗證法中,由于保留了一部分樣本用作測試,因此實際評估的模型使用的訓練集比D小,這必然會引入一些因訓練集規模不同而導致的估計偏差。“自助法(bootstrapping)”是一個比較好的解決方案,它直接以自助采樣法(bootstrap sampling)為基礎。用自助法通過一些列處理,達到的效果是:實際評估的模型和期望評估的模型都使用m個訓練樣本,而仍有數據總量約1/3的、沒在訓練集中出現的樣本用于測試,這樣的測試結果,也叫“包外估計(out-of-bag estimate)”。自助法在數據集較小。難以有效劃分訓練/訓練集時很有用。
2.2.4 調參和最終模型
大多數的學習算法都有些參數(parameter)需要設定,參數配置不同,學得的模型的性能有顯著差別。
2.3 性能度量
對學習器的泛化性能進行評估,不僅需要有效可行的實驗估計方法,還需要有衡量泛化能力的評價標準,這就是性能度量(performance measure)
2.3.1 錯誤率和精度
2.3.2 查準率、查全率和F1
2.3.3 ROC和AUC
ROC全稱“受試者工作特征(Receiver Operating Characteristic)”曲線,源自于“二戰”中用于敵機檢測的雷達信號分析技術,二十世紀六七十年代開始別用于一些心理學、醫學檢測應用中,此后別引入機器學習領域。AUC(Area Under ROC Curve),AUC可通過對ROC曲線下各部分的面積求和而得。
2.3.4 代價敏感錯誤率和代價曲線
2.4 比較檢驗(對這一塊知識沒看太懂后續多看幾遍)
有了實驗評估方法和性能度量,可以使用某種實驗評估方法測得學習器的某個性能度量,然后對這些結果進行比較,但問題是如何做這個“比較”。
統計假設檢驗“hypothesis test”為上面說的學習器性能比較提供了重要的依據。
2.4.1 假設檢驗
概率論和統計學上面的概念
2.4.2 交叉驗證t檢驗
2.4.3 McNemar檢驗
2.4.4 Friedman 檢驗和Nemenyi后續檢驗
2.5 偏差與方差
自助采樣法在機器學習中有重要用途。ROC曲線在二十世紀八十年代后期被引入機器學習,AUC則是從九十年代中期在機器學習領域廣為使用。
(第二章筆記到此,繼續學習后續章節)
-------------------------------------------
個性簽名:獨學而無友,則孤陋而寡聞。做一個靈魂有趣的人!
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個 [推薦]哦,博主在此感謝!
萬水千山總是情,打賞一分行不行,所以如果你心情還比較高興,也是可以掃碼打賞博主,哈哈哈(っ??ω??)っ???!
浙公網安備 33010602011771號