您的位置:首页 > Web前端

VlFeat_vl_pr画图解析

2014-01-08 20:11 369 查看
This tutorial illustrates the use of thefunctions vl_roc, vl_det, and vl_pr to generate ROC, DET, and precision-recallcurves.

ROC curves-vl_roc:

tpr(k):scores按降序排列,排名小于或等于K-1的正样本占所有正样本的比例。tnr(k):排名大于K的负样本占所有负样本的比例。(与维基百科上描述的不一样(fpr=1-tnr)两者都应该可以见下图),如果按K作为正负样本的分界,tpr(k)和tnr(k)分别代表正负样本被正确分类的概率。如果从k-k+1,第k+1是正样本,那么tpk上升,否则tnk下降。

曲线是怎么得到?通过不断改变K,由以上计算对应的tpr和tnr。

曲线有什么作用?ROC曲线是用来评估检索效果的,tpr相当于召回率,而fpr就相当于得到这个召回率付出的代价,因为召回率高,那么导致假阳性率高。



EER(Equal ErrorRate):ROC 曲线上的一点,这点对应有误分正负样本的概率相同。可以通过y=x这条线和ROC曲线的交点得到。

Precision-recall curves----vl_pr:

PR 曲线直接反应正负样本的比例,而ROC和DET规范了这些比例。

调用格式:vl_pr(labels,scores)

横纵坐标代表precision(k):排名小于等于k 的样本是正样本的比例。recall(k): 排名小于等于k 的正样本是占所有正样本的比例,For example, if the first two samples are one positive and one negative,precision(3)
is 1/2. If there are in total 5 positive samples, then recall(3)is 1/5.

变化趋势:k到k+1,k+1是正样本,PR都上升,反之,P下降R不变。




AUC:AOC曲线下的面积,AUC面积等于1,完美分类器,=0.5随机分类器。

AP:平均正确率(Average Precision, AP):对不同召回率点上的正确率进行平均

(1)未插值的AP:某个查询Q共有6个相关结果,某系统排序返回了5篇相关文档,其位置分别是第1,第2,第5,第10,第20位,则AP=(1/1+2/2+3/5+4/10+5/20+0)/6

(2)插值的AP:在召回率分别为0,0.1,0.2,…,1.0的十一个点上的正确率求平均,等价于11点平均

(3)只对返回的相关文档进行计算的AP,AP=(1/1+2/2+3/5+4/10+5/20)/5,倾向那些快速返回结果的系统,没有考虑召回率

AP11:(2)11点平均正确率(11 point average precision):在召回率分别为0,0.1,0.2,…,1.0的十一个点上的正确率求平均,等价于插值的AP

红线代表:随机分类器的情况下得到的PR曲线,PR rand,跟测试中的正负样本的个数有关。比如上图,正样本110,负样本1326,精确度为110/(110+1326)=0.0766,不管召回率怎么变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: