機器學習的性能度量
來自專欄 機器學習之路
機器學習評估方法講的是可行的實驗估計方法。而為了評價模型的泛化能力,不僅需要可行的實驗估計方法,還需要有衡量泛化能力的評估標準,這就是性能度量。使用不同的性能度量可能會導致不同的評判結果。
因此,模型的「好壞「」是相對的,關於模型「好壞」的判斷,不僅取決於演算法和數據, 還取決於當前任務需求。
1、回歸的性能度量
1.1 平均絕對誤差 MAE
平均絕對誤差MAE(Mean Absolute Error)又被稱為L1範數損失
1.2 均方誤差MSE
均方誤差MSE(Mean Squared Error)又被稱為L2範數損失
1.3 均方根誤差 RMSE
但是MAE、MSE、RMSE的取值大小與具體使用場景有關,比如說利用機器學習演算法預測上海的房價RMSE在2000元,我們是可以接受的,但是當四五線城市的房價RMSE為2000元,我們還可以接受嗎?有沒有一種與應用場景無關的,統一的評價指標呢?這就推出了決定係數R^2。
1.4 決定係數R^2
其中,SST = SSR + SSE,因此決定係數是一個0-1之間的數值。
2、分類的性能度量
相比於回歸,分類的性能指標更加複雜。
2.1 錯誤率與精度
精度:預測正確的樣本佔總樣本的比例
其中
錯誤率等於 Err = 1 - Acc
2.2 查准率與查全率
要計算查准率和查全率,並理解他們的含義,首先需要得到混淆矩陣。
含義:
查准率表示預測為正例的樣本中,真正的正樣本所佔的比例。比如模型將5個樣本預測為正例,其中有3個樣本是正本,2個是負樣本,則查准率為3/5=0.6。
查全率表示正樣本中,預測為正樣本的樣本數所佔的比例。比如模型共有10個正樣本,有8個正樣本被預測為正樣本,其餘的被預測為負樣本,則查全率為8/10=0.8。
查准率和查全率是一對比較矛盾的度量。例如,我想提高查准率,那麼只挑出最有把握的樣本預測為正例。這樣的話,一些正樣本被誤判為負例,查全率下降。反之亦然。
3、Fβ Score
如上所說,查准率和查全率是相互矛盾的,在不同的場景中,側重不同,有的要求查准率高,有的要求查全率高,因此用 Fβ Score來均衡兩個指標。
β越大,查全率所佔比重越大。β越小,查准率比重越大。β=1時,兩者權重相等。
4、ROC 和 AUC
ROC(Receiver Operating Characteristic),翻譯為「受試者工作特徵」。聽起來比較拗口。那ROC曲線是怎麼得到的呢?
我們根據學習器的預測結果,對樣本依概率從高到低進行進行排序,然後按照順序逐個把樣本作為正例進行預測,計算出此時的TPR(真正例率)作為縱坐標,FPR(假正例率)作為橫坐標,畫出的曲線就是ROC曲線。
這就相當於將判定閾值不斷變小,如圖所示,閾值從A到B再到C,不斷變小,相應的TPR=T1/(T1+T2)逐漸增大,FPR=F1/(F1+F2)也逐漸增大。在閾值分別取A、B、C時,坐標變化如下圖
閾值的選取根據具體任務選擇。對樣本排序的質量體現了綜合考慮學習器在不同任務下泛化能力的好壞。如何根據ROC曲線去衡量泛化能力呢,我們用一個標量值AUC來量化它。AUC值為ROC曲線所覆蓋的區域面積,AUC越大,分類器分類效果越好。
AUC物理意義:
AUC就是從所有1樣本中隨機選取一個樣本, 從所有0樣本中隨機選取一個樣本,然後根據你的分類器對兩個隨機樣本進行預測,把1樣本預測為1的概率為p1,把0樣本預測為1的概率為p0,p1>p0的概率就等於AUC。所以AUC反應的是分類器對樣本的排序能力。
AUC計算方法:
我們首先把所有樣本按照score(概率大小)排序,依次用rank表示他們。例如:最大score的樣本,rank=n (n為樣本總數,n=n0+n1,其中n0為負樣本個數,n1為正樣本個數),其次為n-1。那麼對於正樣本中rank最大的樣本,rank_max,有(n1-1)個其他正樣本比他score小,那麼就有(rank_max-1)-(n1-1)個負樣本比他score小。其次為(rank_second-1)-(n1-2)。以此計算,最後我們得到正樣本大於負樣本的概率為
推薦閱讀:
※邏輯回歸(二分類)與極大似然
※感知機(PLA)
※CapsNet入門系列番外:基於TensorFlow實現膠囊網路
※機器學習:回歸演算法
TAG:機器學習 |