這一章應該算是比價了理論的一章,我有些機率論基礎,不過起初有些地方仍是沒看多大懂。其中有些公式的定義和模型偏差的推導應該仍是很眼熟的,就是以前在機率論課上提過的,不過有些模糊了,當時課上學得比較淺。算法
2.1 經驗偏差與過擬合bootstrap
一般咱們把分類錯誤的樣本數佔樣本總數的比例稱爲「錯誤率(error rate)」,即錯誤率E=a/m,m個樣本中a個錯誤,1-a/m稱爲「精度(accuracy)」,咱們把學習器的實際輸出與樣本的真實輸出之間的差別稱爲「偏差(error)」,學習期在訓練機上的偏差稱爲「訓練偏差(training error)」或「經驗偏差(empirical error)」,在新樣本上的偏差叫作「泛化偏差(generation error)」,顯然,咱們作機器學習,就是但願獲得泛化偏差小的學習器。app
一個好的學習器,應該從訓練樣本中儘量學出適用於全部潛在樣本的「廣泛規律」,注意,這裏說的「廣泛規律」。這裏就涉及到學習器的兩個概念:「過擬合(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 留出法spa
「留出法(hold-out)」直接將數據集D劃分爲兩個互斥的集合,訓練集S和測試集T,即D=S∪T,S∩T=∅。咱們一般將數據集的大約2/3~4/5的樣本用做訓練,剩餘樣本用做測試。orm
2.2.2 交叉驗證法it
「交叉驗證法(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則是從九十年代中期在機器學習領域廣爲使用。
(第二章筆記到此,繼續學習後續章節)