剛開始看這方面論文的時候對於各類評價方法特別困惑,還老是記混,不徹底統計下,備忘。html
關於召回率和精確率,假設二分類問題,正樣本爲x,負樣本爲o:git
準確率存在的問題是當正負樣本數量不均衡的時候:github
精心設計的分類器最後算準確率還不如直接預測全部的都是正樣本。.net
用Recall和Precision來衡量分類效果,可使用F1 Score = 2PR/(P+R)來判斷分類效果。設計
調整分類器,移動到這裏:3d
Recall達到百分之一百,但同時Precision也降低了:把不是負樣本也分類成了正樣本。通常來講,R高,P低,或者R低,P高。大概長這樣:orm
從這裏偷來的圖htm
一個好的分類方法固然是但願兩者都儘可能高,也就是右圖紅色線那樣,因此提出又提出了一個衡量標準:mAP=∫P(R)dR,(PR曲線面積越大越好)。blog
固然不一樣應用有不一樣需求,仍是要根據具體應用設計。ci
記得微軟ECCV14的人臉檢測就是先用OpenCV裏的VJ方法,把Recall調得很高,儘可能保證不漏檢,同時帶來的問題是Precision很低,有不少不是臉的東西,再經過3000幀人臉對齊方法,迭代幾回,一邊對齊人臉一邊把不是臉的排除掉。
另外還有 ROC AUC 及其餘各類......
ROC和AUC也是針對正負樣本數量不均衡的,參考這裏
ROC曲線越靠近左上角,試驗的準確性就越高。最靠近左上角的ROC曲線的點是錯誤最少的最好閾值,其假陽性和假陰性的總數最少。亦可經過分別計算各個試驗的ROC曲線下的面積(AUC)進行比較,哪種試驗的 AUC最大,則哪種試驗的診斷價值最佳。
kISSME(cvpr12)裏的ROC曲線:
關於Precision和Recall,在Ng的cousera課程 week6 lecture11裏有