基础学习笔记——Recall, Precision, and Average Precision

Precision and Recall Precision and Recall 2012 年 05 月 20 日 Precision and Recall是評估測量 (Evaluation Measurement)的方法之一,特別是在資訊檢索和資料探勘這兩個領域,我們想知道下query後系統的效能如何,系統回傳的結果是不是使用者想要的。 Precision and Re 阅读详情

以下内容绝大部分内容翻译自:

Mu Zhu , Recall, Precision, and Average Precision. Working Paper 2004-09 Department of Statistics & Actuarial Science University of Waterloo.

 

1. 先介绍一些基础内容和符号说明

 

C:一个很大item的集合。

π:集合中相关的item的集合(π<< 1)。

t:算法所识别出的item的集合。

h(t):t中确实相关的item的集合,通常这部分称作命中(相反的是丢失)

 

下面看一些典型的“命中”曲线

 

假设其中相关item为5%。

hP(t)曲线是理想的曲线,几乎排在前面的所有的识别都命中了,直到5%,所有的相关item都耗尽了,曲线不再变化。

hR(t)曲线是随机选择的曲线

hA(t)和hB(t)是典型的识别曲线

(两条曲线相交是可能的)

 

“命中曲线”能够很清楚地告诉我们一个模型或者是算法的性能好坏。例如,如果在任何时候,有 hA(t)>hB(t),则算法A毫无疑问比算法B出色;如果一般情况下,一条曲线总是随着t的增长而快速增长,则这个算法被认为是强壮的;特别的,一个最好的算法应该拥有最大地斜率,直到 t=π。

然而,我们需要的不仅是对算法好坏的评估和比较,而是要往好的方面来调整算法。经常,我们需要半人工地来产生一些算法的最优经验参数就像交叉验证。举例来说,对于

K - nearest-neighbor算法,我们必须选择最合适的K,然后通过交叉验证找出出色的值。因此,我们可以看到,我们更为需要的是一个评估值,而不是一条曲线。

两个数值化的评估方法通常是:recall和precision

 

2. 简单介绍 Recall 和 Precision

简单定义:

Recall:在所有item中识别出相关item的概率。

Precision:在算法所识别出的item中,真正相关的概率。

 

形式化定义:

设 ω  是集合 C 中随机取出的一个元素

 

则

 

或者可以表示成

 

 

3. Recall 和 Precision 之间的关系

 

引理1:     

                       

 

证明:                      根据贝叶斯公式,可以得到:

注意:在这里,我们将Precision和Recall都看作是关于自变量 t  的函数,因为一般来说,随着 t  的变化,算法的一些表现也会跟着变化。

            h(t) , r(t) , p(t) 都看作是连续光滑的曲线,因为集合C足够大。

 

 

引理2:

            1.  r(0) = 0       r(1) = 1       

            2.  r'(t) >= 0   (t∈[0,1])

 

证明:       

1. 显然,当 t = 0 时,Recall必然为0,因为没有item被检测;

             当 t = 1 时,Recall必然等于1,因为所有的item都被检测了,那么也必定包括所有相关的item;

2. 显然,r (t+△t) > r(t) 或者 r (t+△t) = r(t)

    所以,r (t+△t) >=  r(t)

 

假设 t  在几乎任何一点都可导,则有:

                     所以      r'(t) >= 0     ( t∈[0,1] ) 

 

引理2说明了 r(t) 是一个非递减函数,而且对于一个典型的识别算法来说,一般都有 r''(t) <= 0,即识别率是渐渐减缓的,直观上来说

随着 t  的上升,识别变得越来越困难。          

 

假设1:假设 r(t) 是二次可微函数,则  r''(t) <= 0 ,     t∈[0,1].

引理3:假设 p(t) 可微,若假设1成立,则 p'(t)<= 0 ,     t∈[0,1].

证明:

             

根据中值定理,存在 S ∈[0,t]. 

                                             使得 r(t) - r(0) = r'(s) (t - 0)

                              ∵   r(0) = 0;

                              ∴   r(t) = r'(s)t

又根据假设1,    有   r''(t) <= 0

                         所以   r'(s) >= r'(t)    (s<=t)

                         所以   r'(s)t >= r'(t)t

                             即   r(t) >= r'(t)t

                             则   p'(t) <= 0

根据之前所证明的,r'(t) >= 0,可以看出,Recall和Precision的确存在某些相互影响的关系。

(此证明基于假设1,r(t)的二阶导数小于等于0,即r''(t)是凸函数)


所以说,单用这两个之中的某一个来评估和比较都不太合适,下面介绍的AP将会同时考虑Recall和Precision,因此常被用来作为衡量和评估的标准。

 

 

 

4. Average Precision(AP)

首先,Precision能被表示成Recall的函数,p(r), 因为 p(t) = π*r(t)/t ,具体见上所述。

 

AP的定义如下:

 

 引理4:设r(t)可微函,则:

               

 

某些情况下,AP并不怎么直观,当 r'(t) = 0时,p(t)必然decreasing in t (无论在哪个区间内)

上面这句话不是特别理解。。。。

然而,因为dr为0,那么AP无论如何不会在此区间内发生变化。

 

 

下面举一些例子:

1. Random Selection:

    假设 h(t) = π*t,即相关的比例在所有识别的比例中保持为 π

        则 r(t) = h(t)/π = t

    此时:AP = π

 

2. Perfect Detection:

    h(t)= t  [0,π]   

    h(t)=π  (π,1]

    这说明:前π个识别,全部命中,即h(t) = t,当π被耗尽时,h(t) = π,保持不变

    这是最理想识别,也说明:

     r(t) = t/π   [0,π]   

     r(t) = 1     (π,1]

此时的AP = 1;

 

3. 实际应用中:

    假设有n个测试item,将他们根据置信度又高到底排列后,计算:

    

其中,△r(i)表示后一次识别后,recall的变化量,

           p(i)可表示为:R/i  ,其中R前i个item中,相关的item个数。

因此AP也可表示为:

其中,R表示测试集所有的relavant的item个数;

           n表示测试集中item的数量;

           Ij = 1,如果第j个item相关,否则,Ij = 0;

           Rj,前j个item中,相关的item个数;

下面看个例子:

假设这些item的置信度已经由高到底排列:

因此,算法A好于算法B。

由此也可以看出,AP这个衡量标准更偏爱识别得早的算法。

 

后略。

 

希望大家帮忙改正。

class average accuracy, accuracy ,precision ,recall 机器学习基础评价标准 这几个评价标准非常容易弄混与想当然。认真看哈,很重要。 对于室内场景,或者是任何带类别的识别任务,都会有class average accuracy. 大家想当然的翻译成类平均识别率,就会和precision搞混。而且又因为它带一个accuracy,所以会和accuracy搞混。 precision 认准率。通俗来讲就是你认出来的,有多少人对了。举个例子,你家有一只狗,还有两瓶啤酒,两份... 阅读详情

相关推荐

深度学习:IoU、Accuracy、Precision、Recall区别

看图和公式,简洁清晰,绝对不会混淆,不多说了。(IoU--交并比;Accuracy--准确率;Precision--精确率;Recall--查全率、召回率) 评价神经网络的结果,可以考察以上关键指标。IoU或Accuracy比较直观地给出了综合性能;Precision和Recall常常要放在一起评估神经网络,否则单独把Precision或者Recall做高是非常容易的(通过牺......

yly的博客 1万+

precision (查准率,精确率) / recall (查全率,召回率) / average precision (平均精确率)

precision (查准率,精确率) / recall (查全率,召回率) / average precision (平均精确率) It’s a bird… it’s a plane… it… depends on your classifier’s threshold https://sanchom.wordpress.com/2011/09/01/precision-recall/ E...

程永强 5305

人体关键点检测评价指标oks/Precision/AP/mAP/Recall/AR/IoU

1、OKS(Object Keypoint Similarity) 主要指标就是OKS(Object Keypoint Similarity),这个指标启发于目标检测中的IoU指标,目的就是为了计算真值和预测人体关键点的相似度。 2、OKS矩阵 OKS是计算两个人之间的骨骼点相似度的,那一张图片中有很多的人时,该怎么计算呢?这时候就是构造一个OKS矩阵了。 假设一张图中,一共有M个人(groudtruth中),现在算法预测出了N个人,那么我们就构造一个M×N的矩阵,矩阵中的位置(i,j)代表grou

lyx_323的博客 1万+

机器学习之precision和recall

precision定义为: TP/算法认为的正样本;相当于不冤枉一个好人,或者精准打击 recall定义为: TP/所有真正样本:不放过一个人坏人,或者过度打击

qq_38140273的博客 438

【机器学习】查全率(Recall)/查准率(Precision)/F-Measure/AP(Average Precision)/MAP

查全率(Recall)/查准率(Precision)/综合评价指标(F-Measure)/AP(Average Precision)/MAP(Mean Average Precision)

shangpapa3的博客 8103

Recall Precision IoU

Recall Precision IoU参考:周志华 《机器学习》http://blog.youkuaiyun.com/hysteric314/article/details/54093734 TP,FP,TN,FN Recall Precision IoU TP,FP,TN,FN对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为 1. 真正例(TP:true positive) :真实情况

qq_27840681的博客 1026

指标解读:precision和recall

二分类时,两指标比较常用 正样本(l=1)的指标如下 precision=(l=1,p=1)/(p=1) recall=(l=1,p=1)/(l=1) 其中precision表示label=1且pre=1的样本/pre=1的样本,precision越高,代表训练越关注负样本。 recall表示label=1且pre=1的样本/label=1的样本,recall越高,代表训练时越关注正样本。 pre...

跨过一座座山 1931

信息检索 (Information retrieval) 中的 mean average precision

详情见mAP 1. Precision and Recall 2. Average precision 对于返回已排序文档序列的系统,AP考虑了返回文档的呈现顺序。AP定义为召回率 (recall) r从0到1的平均精确度 (precision),即Precision-Recall曲线下的面积,也即 AveP=∫10p(r)drAveP=∫01p(r)dr\operatorname...

yaozhili_的博客 1553

二分类问题中的F1值中的precision和recall

TP:True positive 预测为1,实际也为1 FP:False positive 预测为1,实际为0 FN:False negative 预测为0,实际为1 TN:True negative 预测为0,实际为0 总的来说就是,准确率为在所有预测为1中占正确的比例,召回率为在所有实际为1中占正确的比例。 ...

qq_19841133的博客 1101

WiFi信道状态信息 基于Intel 5300的CSI Tool 安装及使用(一)

经过半个月的坎坷安装过程,连Windows系统都没装过的本人终于颤颤巍巍把CSI TOOL装好了,下面记录一下适于我所使用设备的安装过程。设备:一台THINKPAD X201,一台师兄借的华硕主板的台式机首先,如果你和我一样对linux其实一窍不通的话,建议先反复看教程里的安装代码,照猫画虎很难一步实现的,中途一定会有这或那的问题需要解决,所以该了解的基础linux指令还是要了解,起码安装过程中的那些指令可以去查一查。.........

Silver_777的博客 2万+

在线迭代RLHF实战:从原理到实现,复现超越官方指令模型的工作流

大语言模型(LLM)的对齐技术是提升其与人类意图一致性的关键。其中,基于人类反馈的强化学习(RLHF)通过引入人类偏好信号,指导模型优化生成策略,是实现模型“有用”与“无害”的核心方法。其技术价值在于将抽象的“对齐”目标转化为可优化的奖励信号,从而显著提升模型在对话、推理等任务中的表现。然而,传统的离线RLHF存在数据分布偏移和奖励黑客等瓶颈。在线迭代RLHF通过构建“生成-评估-学习”的动态数据循环,让模型能够利用自身最新生成的数据进行持续优化,有效克服了上述问题,成为当前提升指令模型性能的前沿方向。本文

weixin_28725037的博客 368

python画PR曲线(precision-recall曲线)

使用python画precision-recall曲线的代码是: sklearn.metrics.precision_recall_curve(y_true, probas_pred, pos_label=None, sample_weight=None) 注意:以上命令只限制于二分类任务 precision(精度)为tp / (tp + fp),其中tp为真阳性数,fp为假阳性数。 r...

Mr.horse的博客 3万+

课程复习---分析空间数据的细胞空间关系(python版本的mistyR)

课程复习---分析空间数据的细胞空间关系(python版本的mistyR)

weixin_53637133的博客 1222

Precision、Recall and Mean Average Precision(MAP)

基本概念 Precision准确度 Recall召回率 Precision-Recall 曲线 MAP Reference论文 [1] 介绍了一种用于形状分类的metric,理论部分作者给出几组shape inference 的例子说明该metric的完备性。在实际应用部分,作者将该metric用到了植物种类的检测中。该应用涉及几个评价指标:Precision, Recall and Mean Av

HIT_ChenPeng的博客 4127

PCB工艺-SI9000使用教程

本文介绍了阻抗计算工具SI9000的使用方法,重点讲解了微带线与带状线的区别、共面阻抗概念及参考面选择。通过USB差分走线实例,详细说明了如何选择计算模型、填写参数并确定线宽线距。文章还提供了层叠设计资料和工厂常规阻抗表格作为参考,建议制板时标注需控阻抗的线路供板厂调整。最后简单提及了嘉立创阻抗计算工具作为备选方案。

weixin_50120208的博客 2027

重带电粒子的能量歧离(energy straggling)

能量歧离,Bethe-Bloch

G751888629的博客 2298

sklearn(七)计算多分类任务中每个类别precision、recall、f1的集成函数precision_recall_fscore_support()

1.precision_recall_fscore_support()使用介绍: sklearn.metrics.precision_recall_fscore_support(y_true, y_pred, *, beta=1.0, labels=None, pos_label=1, average=None, warn_for=('precision', 'recall', 'f-score'), sample_weight=None, zero_division='warn') 输入参数:

凝眸伏笔的博客 1万+

【RT-DETR涨点改进】独家Conv改进篇 | 来自TIP 2024顶刊| 引入 DEConv细节增强卷积模块, 能够恢复更多细节信息,提升小目标检测精度、含多种不同模型改进点

本文提出了一种细节增强卷积(DEConv)模块,通过融合多种差异卷积(CDC、ADC、HDC、VDC)来增强图像特征表示能力,特别在边缘和纹理细节提取方面表现突出。该模块采用重参数化技术,在不增加计算成本的情况下,将先验信息融入常规卷积层,显著提升了RT-DETR模型在模糊或遮挡场景下的目标检测精度。实验验证了DEConv在多种骨干网络(ResNet18/50、HGNet等)中的有效性,为实时目标检测系统提供了轻量高效的改进方案。

Ai缝合怪、助力小伙伴高效发论文 452

AP(Average Precision) vs AR(Average Recall)

对比项AP(如 AP_small)AR(如 AR_small)本质精度面积最大召回偏向准确性(预测对的比例)完整性(找全的比例)高意味着正确预测多尽量都预测到判断标准IoU 阈值综合平均IoU 满足就记入这说明模型能找到很多小目标,但预测框的位置偏差大(导致 IoU 不够高),所以 AP 低。如果还想了解每个指标的计算公式或看示意图,我也可以给你画出来。需要吗?这个AP是所有类的平均AP吗?假如有80个类。是的,

weixin_43501408的博客 1431

基于Gossip算法的柔性互联自治微网群分布式协调控制策略:复现代码与详细解释

摘要(149字): 本文基于Gossip算法实现了柔性互联微网群(MMG)的分布式协调控制策略仿真。研究构建了包含3个微网、10个分布式电源(DG)的MATLAB/Simulink模型,采用双层控制架构:上层通过柔性交流开关(FAS)实现微网间功率协调,下层利用Gossip算法完成DG间的边际成本一致性控制。重点开发了异步通信的Gossip算法核心函数,实现了分布式电源的自主边际成本估计与功率分配。仿真验证了系统在负荷变化和DG故障等工况下的协调控制能力,结果表明该策略能有效维持微网群的经济运行与功率平衡。

huanghm88的专栏 281

基于RK3588平台的高分辨率多摄像头系统深度优化:从48M单摄到双摄分时复用的完整解决方案

本文深入解析了RK3588平台的高分辨率摄像头实现方案。重点介绍了:1)RK3588的MIPI PHY硬件架构,包括DCPHY和DPHY的资源配置及工作模式;2)双ISP合成技术,通过并行处理提升48M高分辨率图像的处理能力;3)以OV50C40传感器为例,详细展示了48M单摄系统的硬件连接、I2C设备配置和关键参数设置。文章为开发者提供了从硬件连接到软件配置的完整技术方案,有助于实现高性能嵌入式视觉系统。

FJN110的博客 675

常用计算指标(Precision、Recall、F1、Macro Average、Micro Average )备忘录

常用计算指标(Precision、Recall、F1、Macro Average、Micro Average )理解

vidi19的博客 1108

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Mean Average Precision

mean average precision简称mAP,以前一直不懂什么意思,现在写篇博客记录一下。Precision我们先来讨论一下,Precision是怎么算的。假如我们有2000个样本,1000正样本,1000个负样本。我们用某个方法进行分类,标记出来300个样本是正样本。现在,我们知道,任何分类方法都不会有百分之百的正确率。所以标记出来的300个分类的样本里,肯定有被分错的样本。假如100个

baiyu9821179的专栏 3425

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Recall, Precision, and Average Precision

信息检索(IR)的评价指标介绍 - 准确率、召回率、F1、mAP、ROC、AUC 分类: 1.自然语言处理/机器学习 在信息检索、分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常重要,因此最近根据网友的博客做了一个汇总。 准确率、召回率、F1 信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)和准确率(Precisio

三少GG 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 安装mysql 获得 mysql.h 建立C接口
下一篇: dinic
mindmb
博客等级 码龄16年 16粉丝 86原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值