需要滿足多個評價指標時如何選擇最優算法

前言

在使用機器學習,通常都會面對一種情況,

面對眾多的算法和眾多的性能指標,究竟應該如何來選擇最優的算法。本篇文章主要就是介紹,如何利用單一評估指標來選擇模型,主要內容來自於deeplearnai視頻教程。

單一評估指標

需要滿足多個評價指標時如何選擇最優算法

應用機器學習主要可以分為三個過程想法、編碼、看效果。當最開始面對一個需要解決的問題時候,我們往往都會有一個想法,然後根據我們的想法來進行編碼,再來看算法的效果。為了優化算法的性能指標我們會產生一些新的想法,然後再進行編碼,再如此循環。

下面通過一個例子來說明查準率和查全率,假設我們有一個貓狗分類器,一共有100張圖片,其中貓和狗的圖片各佔50佔,預測結果用一個表格說明。

需要滿足多個評價指標時如何選擇最優算法

上表表示的是其實是一個混淆矩陣,對角線表示的是預測的類標和真實的類標是一致的。這裡將貓被稱為正例,狗被稱為反例。50張貓的圖片,有30張圖片預測正確也就是真正例(TP),還有20張貓的圖片被預測成了狗也就是假反例(FN)。50張狗的圖片,有40張圖片被正確的預測了也就是真反例(TN),還有10張狗的圖片被預測稱為了貓也就是假正例(FP)。

查準率(precision):也被稱為精準度,計算公式如下

需要滿足多個評價指標時如何選擇最優算法

查準率

查全率(recall):也被稱為召回率,計算公式如下

需要滿足多個評價指標時如何選擇最優算法

查全率

查準率其實就是對於某一類預測結果,預測正確所佔的比例。查準率追求的是預測結果的準確性。而查全率就是對於某一類預測結果,正確找出該類圖片所佔的比例。查全率追求的是預測結果的全面性。

起初我們有一個貓和狗的分類器A,分類器A的查準率(precision)為95%查全率(recall)為90%。通過調參和優化模型的算法後,我們獲得了一個貓狗分類器B,分類器B的查準率(precision)為98%,查全率(reacall)為85%

此時面對分類器A和B的時候,我們就會遇到一個問題,到底應該選擇哪個分類器?對於精準度而言分類器B的性能要高於分類器A,對於召回率而言分類器A的性能又要優於分類器B。所以這時我們就不知道應該選擇哪一個分類器了。

單一評估指標:就是指當遇到上面的這種情況時,我們只需要從查準率和查全率中選擇一個指標進行評價即可,可以根據不同指標的不同特性來選擇適合於自己系統的指標。如果想同時兼顧查準率和查全率時,可以使用F1 score。通過上表可以發現,通過F1 score我們可以很快就挑選出分類器A要由於分類器B。

F1 socre的計算公式如下:

需要滿足多個評價指標時如何選擇最優算法

F1分數

其中P代表查準率,R代表查全率,通過F1 score就可以平衡查準率和查全率的評價指標。F1 score也被稱為查準率和查全率的調和平均數。

在有些時候,我們可能會遇到下面這種情況

需要滿足多個評價指標時如何選擇最優算法

有時候可能會遇到,對於一個算法而言,需要考察多個不同的指標,這時候我們可以考慮採用多個不同指標的平均值,如果對於某些指標的要求會比較高,這時可以通過調節這些指標所佔的權重,來突出這些指標的重要性


最後,給大家推薦一個非常好的學習人工智能相關知識的平臺——微信小程序“八斗問答”,有不懂的問題可以在上面進行免費提問,還有大咖會進行詳細解答,還可以與大咖一對一諮詢。我現在也已經入駐了“八斗問答”,以後的文章在上面也會同步更新,有不懂的地方歡迎來諮詢。


分享到:


相關文章: