分為五部分:1、經驗誤差及過擬合;2、評估方法『;3、效能度量』;4、比較檢驗;5、偏差與方差。
錯誤率(error rate):分類錯誤的樣本數佔總樣本數。
精度(accuracy):1-錯誤率。
誤差(error):學習器的實際**輸出和樣本的真實輸出的差異。在訓練集上的是訓練誤差,在新樣本上的是泛化誤差。
過擬合(overfitting):訓練誤差小,泛化誤差卻很大。因為機器學習面臨的問題都是np難的,過擬合無法避免,只能緩解。
欠擬合(underfitting):訓練誤差大,泛化誤差也大,容易克服。
模型選擇(model selection):理想的是對泛化誤差評估,選擇小的,但是無法直接得到泛化誤差,訓練誤差因為過擬合存在不適合作為標準,那麼就要考慮其他的評估方法進行評估和選擇。
效能度量就是衡量模型泛化能力的評價標準。但使用不同的效能度量也會導致不同的評判結果,所以模型的好壞是相對的,因此模型的好壞不僅取決於演算法和資料,還決定於任務需求。
回歸任務中最常用的效能度量是「均方誤差」,是**值與真實類標差的平方和的均值。
(1)錯誤率和精度:既適用於二分類任務,也適用多分類任務。
(2)查準率、查全率:適用於挑出的西瓜中好瓜的比例是多少,也就是**為正例的結果中有多少真正的比例。這就是查準率,tp/tp+fp。而要看在所有好瓜中有多少比例被挑了出來,那麼就要看**後,真正的佔實際正例的比例,tp/tp+fn。他倆是相互矛盾的。可以製作混淆矩陣。
(3)p-r曲線圖:它是以查準率為縱軸,查全率為橫軸的曲線圖,按學習器的**結果對樣本排序,排在前面的是最有可能是正例的樣本。按次順序計算樣本的查準率和查全率作圖。兩個學習器比較時,如果乙個p-r被另乙個完全包圍,則面積大的更好。但是通常會有交叉這時就要用「平衡點」(bep)來度量,它是查準率=查全率時的取值,但是bep過於簡化,更常用f1度量。
(4)f1度量:f1 = 2xtp/(樣本總數+tp-tn).
(5)當有多個二分類混淆矩陣時,我們希望在n各二分類混淆矩陣上綜合考察查準率和查全率。這時一方面可以分別計算查準率,查全率,再平均得到巨集查準率等。還可以先將混淆矩陣的對應元素平均,再基於這些平均值計算出微查準率等。
(6)roc曲線:也是根據學習器的**結果,對樣例進行排序,按該順序逐個對樣本進行正例**,每次計算出真正例率tpr = tp/tp+fn作為縱軸,假正例率fpr=fp/tn+fp作為橫軸。roc曲線的對角線對應於隨機猜想模型,點(0,1)對應了所有正例排在所有反例之前的理想模型。面積大,完全包圍的那個roc曲線更好。但有交叉時,通常比較auc,就是roc曲線下的面積、
(7)auc面積:roc曲線下的面積。
有了效能度量方法,就可以直接比較不同模型的效能了嗎?不可以,首先,我們希望比較的是泛化效能,然而通過實驗評估方法我們獲得的是測試集上的效能,兩者的對比結果可能未必相同。那麼如何比較學習器的效能呢?
統計假設檢驗:基於假設檢驗的結果,我們推斷:若在測試集上觀察到學習器a比b好,則a的泛化效能是否在統計意義上優於b,以及這個把握有多大。
(1)假設檢驗:根據測試錯誤率推出泛化錯誤率的分布。(直觀上二者接近的可能性比較大)
@@二項式檢驗:對錯誤率小於定值定值a這樣的假設進行檢驗
@@t檢驗: 錯誤率都集中分布在某個定值周圍的檢驗手段(度娘具體介紹:t分布)
(2)交叉驗證t檢驗:比較兩個學習器優劣的方法:如果兩個學習器效能相同,則他們使用相同的訓練/測試集得到的錯誤率應該相同。具體方法:對「學習器a和b效能相同」這個假設做t檢驗,計算出均值和方差,如果小於某個你定的閾值,那麼就可以認為是相同,否則取平均錯誤小的那個作為效能更優的模型。
(3)mcnemar檢驗:二分類問題除了錯誤率獲取兩個分類器的分類結果差別:
把兩者都分對了,都分錯了乙個對乙個錯都羅列出來。
(4)friedman檢驗和nemenyi後續檢驗:多個演算法進行比較的方法(進行排序)。
偏差和方差分別是用於衡量乙個模型泛化誤差的兩方面:
模型偏差:模型**的期望值和真實值之間的差,模型的擬合能力。
模型方差:模型**的期望值和**值之間的差的平方,模型的穩定性。
當模型越複雜時,擬合的程度就越高,模型的訓練偏差就越小。但此時如果換一組資料可能模型的變化就會很大,即模型的方差很大。所以模型過於複雜的時候會導致過擬合。
當模型越簡單時,即使我們再換一組資料,最後得出的學習器和之前的學習器的差別就不那麼大,模型的方差很小。還是因為模型簡單,所以偏差會很大。
通常,在訓練有監督的機器學習模型的時候,會將資料劃分為訓練集、驗證集和測試集,劃分比例一般為0.6 : 0.2 : 0.2
對原始資料進行三個集合的劃分,是為了能夠選出效果(可以理解為準確率)最好的、泛化能力最佳的模型。
(1)訓練集(training set):作用是用來擬合模型,通過設定分類器的引數,訓練分類模型。後續結合驗證集作用時,會選出同一引數的不同取值,擬合出多個分類器。
(2)驗證集(cross validation set):作用是當通過訓練集訓練出多個模型後,為了能找出效果最佳的模型,使用各個模型對驗證集資料進行**,並記錄模型準確率。選出效果最佳的模型所對應的引數,即用來調整模型引數。如svm中的引數c和核函式等。
(3)測試集(test set):通過訓練集和驗證集得出最優模型後,使用測試集進行模型**。用來衡量該最優模型的效能和分類能力。即可以把測試集當做從來不存在的資料集,當已經確定模型引數後,使用測試集進行模型效能評價。
注:通常先用驗證集進行調參,使用訓練集進行訓練,測試集進行泛化能力測試。
@@對原始資料進行三個資料集的劃分,也是為了防止模型過擬合。當使用了所有的原始資料去訓練模型,得到的結果很可能是該模型最大程度地擬合了原始資料,亦即該模型是為了擬合所有原始資料而存在。當新的樣本出現,再使用該模型進行**,效果可能還不如只使用一部分資料訓練的模型。
英文文件
中文文件
機器學習之模型評估與選擇
1.誤差及擬合 訓練誤差 通過訓練集訓練出的模型,在訓練集上的 輸出與實際值之間的誤差 泛化誤差 模型在測試集上的誤差 訓練集用來訓練模型,測試集用來驗證模型的準確性 一般會把樣本7 3區分成訓練集和測試集,普遍情況下,判斷乙個模型是否優秀,不是看在訓練集上的表現,更多的是看模型在測試集上的表現,即...
機器學習 模型評估與選擇
1.擬合 接近目標的遠近程度。過擬合 學習能力過強導致過於擬合。過於學習學到認為女生必須是長頭髮。欠擬合 學習能力低下導致欠擬合。學習能力低下,擁有長髮的都是女生。2.評估方法 目標 所選模型的泛化誤差最小 一 留出法 step 1 將資料集d 互斥 的分成訓練集s和測試集t,d sut。step ...
機器學習 模型評估與選擇
1 經驗誤差和過擬合 錯誤率 分類錯誤的樣本數佔樣本總數的比例 精度 1 錯誤率 誤差分為訓練誤差 或稱經驗誤差 和泛化誤差 訓練誤差 在訓練集上的誤差 泛化誤差 在新樣本上的誤差 機器學習的目標是得到泛化誤差最小的學習器。學習器把訓練樣本學得 太好 了的時候,很可能已經把訓練樣本自身的一些特點當做...