搜索引擎评价指标及指标间的关系

news2024/11/15 14:05:36

目录

  • 二分类模型的评价指标
  • 准确率(Accuracy,ACC)
  • 精确率(Precision,P)——预测为正的样本
  • 召回率(Recall,R)——正样本
    • 注意事项
  • P和R的关系——成反比
  • F值
  • F1值
    • F值和F1值的关系
  • ROC(Receiver Operating Characteristic)——衡量分类器性能的工具
  • AUC(Area Under roc Curve)——ROC曲线下面积的计算
  • MAP (Mean Average Precision@K)——评估检索策略效果评估指标之一
    • Prec@K和AP@K
  • 针对搜索引擎——在不同场景下如何选择合适的评估指标
    • 长尾词

参考文档:
机器学习-模型评价指标
深入理解搜索引擎——搜索评价指标
搜索排序评估方法——产品角度

二分类模型的评价指标

预测值\真实值PositiveNegative
PositiveTrue Positive(TP)False Positive(FP)
NegativeFalse Negative(FN)True Negative(TN)

TP:真正例,真阳性。样本是正例,预测为正,分类正确
FP:假正例,假阳性。样本是负例,预测为正,分类错误。误诊
TN:真负例,真阴性。样本是负例,预测为负,分类正确
FN:假负例,假阴性。样本为正例,预测为负,分类错误。漏诊

准确率和召回率广泛用于信息检索和统计学分类领域的两个度量值,用于评价结果的质量。其中准确率是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率

准确率(Accuracy,ACC)

即正确预测的样本数比总体样本数

Alt

优点:

  1. 计算简单:准确率的计算公式简单易懂,只需要将正确分类的样本数除以总样本数即可。
  2. 可解释性强:准确率是一个比例,因此它可以很容易地解释和理解。例如,如果准确率为80%,这意味着模型正确分类了80%的样本。

局限性:

  1. 不适用于不平衡数据集:当数据集中的正负样本不平衡时,准确率可能会给出误导性的结果。例如,如果模型将所有样本预测为负样本,那么准确率会很高,但实际上模型并没有很好地捕捉到正样本的特征。
  2. 对噪声敏感:准确率对噪声比较敏感,一些错误的预测可能会对准确率产生较大的影响。
  3. 无法衡量模型的稳定性:准确率只能衡量模型整体的分类效果,无法衡量模型在不同情况下的稳定性。

举例说明如下:

假设有一个二分类问题,数据集中有100个样本,其中80个是负样本,20个是正样本。
如果我们有一个模型,它能够将所有样本预测为负样本,那么准确率将是80%,因为80个负样本被正确分类了。但是,这个模型并没有很好地捕捉到正样本的特征,因为它没有预测任何正样本为正样本。
因此,在这种情况下,使用准确率作为评估指标是不合适的,因为它不能反映模型对正样本特征的捕捉能力。

精确率(Precision,P)——预测为正的样本

即模型预测为正的样本里,真正为正的比例

Alt

召回率(Recall,R)——正样本

Alt

召回率也叫做敏感度(Sensitivity),即在所有正样本中,模型准确找出的比例

注意事项

P高代表模型预测为正,基本上就是正。表示其很准。但很准的原因可能是模型太严格,例如100个正例,模型只判断了其中1个为正,确实这个样本分对了,但是依旧错分了其他99个,造成假阴性变高。
R高代表模型更能够把正样本从样本中找出来,漏诊率低,很敏感,稍微不对就会判正。但例如模型把所有样本都判为正,此时召回率确实高,但没有意义。会带来很高的假阳性。

举例说明:

假设我们有100个样本,其中99个是正样本,1个是负样本。
现在有一个模型,它预测其中1个样本为正样本。
首先,我们来计算精确率(Precision):
精确率 = 预测为正样本且实际为正样本的样本数 / 预测为正样本的样本数
在这个例子中,预测为正样本的样本数是1,而预测为正样本且实际为正样本的样本数也是1(因为只有一个正样本被预测为正样本)。
所以,精确率 = 1/ 1 = 100%。
接下来,我们来计算召回率(Recall):
召回率 = 预测为正样本且实际为正样本的样本数 /所有实际为正样本的样本数
在这个例子中,所有实际为正样本的样本数是99。
所以,召回率 = 1 / 99 = 0.01。

需要注意的是,这里计算的召回率非常低,这是因为模型过于严格,只预测了一个正样本。而实际上,应该尽可能提高召回率,以便尽可能多地预测出正样本。因此,在实际应用中,需要根据具体需求来调整模型的预测标准。

P和R的关系——成反比

可以认为P和R在一定程度上是成反比的。图片源于网络 图片源于网络

在二分类问题中,精确率(P)和召回率(R)是一对矛盾的指标:提高一个就意味着另一个的降低

这是因为这两个指标都涉及到预测为正样本的样本中真正为正样本的比例,但它们考察的角度不同。精确率是考虑预测为正样本的样本中有多少是真正的正样本,而召回率是考虑实际为正样本的样本中有多少被预测为正样本。

当模型过于严格时,可能会提高精确率,但可能会导致召回率下降,因为模型过于严格可能会导致将一些正样本误分为负样本。相反,如果模型过于宽松,可能会提高召回率,但可能会导致精确率下降,因为模型过于宽松可能会导致将一些负样本误分为正样本。
因此,可以认为精确率和召回率在一定程度上是成反比的。在评估模型时,需要综合考虑这两个指标,以便更全面地评估模型的性能。同时,也需要根据实际应用场景来调整模型的预测标准,以获得更好的模型性能。

总结:即高P很容易降低R,高R很容易降低P。两者需要权衡

F值

F值是精确率和召回率的调和平均数,用于综合考虑这两个指标,给出更全面的评估结果。
F值越大,说明模型的性能越好。在分类问题中,F值可以用来评估模型的整体性能,特别是当精确率和召回率存在矛盾时。通过绘制Precision-Recall曲线,可以得到不同阈值下的精确率和召回率组合,从而找到最优的F值。

F1值

Alt
F1值越高,说明模型的性能越好。F1值提供了一个平衡的评估标准,在评估分类模型时,我们通常希望同时获得高精确率和召回率,但这是比较困难的。

F1值能够更好地反映模型的总体性能,因为它同时考虑了精确率和召回率。其次,F1值对于不平衡数据集的处理能力更强,因为它通过权重平均的方式处理了不同类别的样本。

F值和F1值的关系

F值和F1值非常相似,都用于综合考虑精确率和召回率,给出更全面的评估结果。

当精确率和召回率相等时,F值和F1值相等。在其他情况下,F1值更注重精确率和召回率的平衡,如果一个模型的精确率很高但召回率很低,或者反之,那么F1值将会比较低。因此,F1值是一个更为严格的评估指标,能够更好地衡量模型的性能。

在分类问题中,F1值通常被用作评估指标,因为它综合考虑了精确率和召回率,能够更全面地反映模型的性能。如果一个模型的F1值很高,说明它在精确率和召回率方面都表现得很好。

ROC(Receiver Operating Characteristic)——衡量分类器性能的工具

在评估搜索引擎策略时,主要用于判断所使用的算法模型,或者说算法组合的性能

ROC(Receiver Operating Characteristic)曲线是一种分类器的综合性能指标,以假阳性率(False Positive Rate, FPR)为横坐标,真阳性率(True Positive Rate, TPR)为纵坐标,在平面直角坐标系中描绘的曲线形状。
在这里插入图片描述

ROC曲线的总面积是1,曲线下方面积越大,分类器的准确性越高。
因此,可以用**曲线下面积(Area Under Curve,AUC)**来衡量预测模型的优劣。AUC的值可以通过积分求得,即对ROC曲线下方的图形面积进行计算。

  • ROC曲线在搜索引擎中有着重要的应用。例如,在信息检索领域,ROC曲线是衡量搜索引擎性能的一个重要因素,可以用来比较不同搜索算法的优劣。利用ROC曲线可以对计算机程序进行性能评估,以选择最佳的词向量表示算法。
  • ROC曲线还可以用来调整搜索引擎的参数和优化模型。通过调整参数或更换模型,可以改变ROC曲线的位置和形状,从而提高搜索引擎的性能。例如,可以调整召回算法的排序权重或增加相关反馈机制等,以改善用户体验和提高搜索引擎的准确性。

AUC(Area Under roc Curve)——ROC曲线下面积的计算

通俗来说,ROC曲线就像一个跷跷板,敏感性和特异性是跷跷板的两端。

当敏感性和特异性都高的时候,ROC曲线就会更靠近左上角,曲线下方的面积就更大,表示分类器的准确性更高。相反,如果敏感性和特异性都低,那么ROC曲线就会更靠近右下角,曲线下方的面积就小,表示分类器的准确性低。

AUC就是计算ROC曲线下的面积,其值介于0和1之间。如果AUC接近1,表示分类器的准确性很高;如果AUC接近0或0.5,则表示分类器的准确性较低。

因此,通过ROC曲线和AUC值,我们可以更直观地评估分类器的性能,从而在实际应用中做出更好的决策。

MAP (Mean Average Precision@K)——评估检索策略效果评估指标之一

MAP评估的是一组检索结果的平均精度,即每个查询的平均相关文档数。它通过计算每个查询的平均精度,然后将这些平均精度相加,最后除以查询的总数。MAP考虑了每个查询的返回结果,并对其精度进行了加权处理,因此可以更好地反映检索策略的整体性能。

与传统的精确率、召回率和F1分数相比,MAP更加符合实际检索任务的需求。在信息检索领域中,用户通常更加关注检索结果的相关性和准确性,而MAP正是从用户的角度出发,对检索结果进行评估的一种指标。

因此,在搜索引擎和信息检索领域中,MAP已经成为评估检索策略效果的重要指标之一。通过提高MAP值,可以提高搜索引擎的性能和用户体验。

Prec@K和AP@K

Prec@K和AP@K是MAP的组成部分,并且都是用来评估检索策略效果的指标。

具体来说,

  • Prec@K表示设定一个阈值K,在检索结果到第K个正确召回为止,排序结果的相关度。
  • AP@K则是指到第K个正确的召回为止,从第一个正确召回到第K个正确召回的平均正确率。
  • MAP则是Mean Average Precision的缩写,表示一组检索结果的平均精度,即每个查询的平均相关文档数。

MAP的计算需要使用到Prec@K和AP@K,通过计算每个查询的平均精度(AP),然后将这些平均精度相加,最后除以查询的总数,得到MAP的值。

举例说明:
案例来源:人人都是产品经理

在这里插入图片描述
注:绿色表示搜索结果与搜索词相关,红色表示不相关。

在这个案例中Prec@1=1、Prec@3=2/3、Prec@5=3/5。也许你已经发现了,Prec@K也只能表示单点的策略效果,为了体现策略的整体效果,我们需要使用AP@K。

假设存在以下两个排序,我们直观的理解,结果1是优于结果2的,那么这种优劣会如何体现在AP@K值中呢?

这里是引用

对于结果1,
AP@K=(1.0+0.67+0.75+0.8+0.83+0.6)/6=0.78

对于结果2,
AP@K=(0.5+0.4+0.5+0.57+0.56+0.6)/6=0.52
可以看到,效果优的排序结果的AP@K值大于效果劣的那一组。

在这里插入图片描述

在以上案例中,
查询1的AP@K=(1.0+0.67+0.5+0.44+0.5)/5=0.62,
查询的2的AP@K=(0.5+0.4+0.43)/3=0.44,
则我们计算这个策略的MAP@K=(0.62+0.44)/2=0.53。
对使用MAP@K进行评估的系统,我们认为MAP@K值较高的策略效果更好。

针对搜索引擎——在不同场景下如何选择合适的评估指标

由于搜索引擎需要处理海量数据,如果召回率R(即召回的相关文档的比例)过高↑,会对后续的排序和引擎的整体性能产生负面影响。具体来说,高召回率会导致需要处理的数据量增加,从而增加排序和返回结果的时间,降低搜索引擎的性能↓。

如果过度追求精确率P,可能会导致召回率R降低,即很多真正的正样本没有被预测出来。在一些场景中,如搜索引擎的垂直搜索(垂搜)场景,可能需要更多的长尾词来带流量。但由于对精确率P的要求极高,很多相关的词可能无法出现在搜索结果中,导致召回率R降低。

因此,在不同的应用场景中,需要根据实际需求来选择合适的评估指标。如果希望模型的预测尽可能准确,那么可以选择较高的精确率;如果希望模型能够尽可能多地覆盖正样本,那么可以选择较高的召回率。

为了更好地分析精确率和召回率之间的关系,可以绘制Precision-Recall曲线。这条曲线可以通过改变模型的阈值来获得不同的精确率和召回率组合,从而帮助我们更好地理解模型的性能。

此外,还可以使用F值来调和精确率和召回率的互斥关系。F值是精确率和召回率的调和平均数,它能够综合考虑这两个指标,给出更全面的评估结果。

总之,选择合适的评估指标需要根据实际应用场景来决定,并综合考虑不同指标的优缺点和需求来进行权衡。

长尾词

长尾词是指非目标关键词但与目标关键词相关的,能够带来搜索流量的组合型关键词。
长尾词通常较长,可能是2-3个词组成,甚至是短语,存在于内容页面,除了内容页的标题,还存在于内容中。长尾词具有可延伸性、针对性强、范围广等特征。

在搜索引擎优化(SEO)中,长尾词是非常重要的概念。长尾理论认为,通过大量的小市场累积起来,可以占据市场中可观的份额。对于网站来说,长尾词带来的总流量非常大。

例如,如果一个网站的目标关键词是“服装”,那么其长尾词可能包括“男士服装”、“冬装”、“户外运动装”等。

因此,在网站优化中,需要关注长尾词的优化。通过合理地选择和利用长尾词,可以提高网站的流量和转化率。同时,需要分析市场趋势和用户需求,以便找到更有价值的长尾词,并选择有利可图的优化词类,实现搜索条件的最优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1421619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV 2 - 矩阵的掩膜操作

1知识点 1-1 CV_Assert(myImage.depth() == CV_8U); 确保输入图像是无符号字符类型,若该函数括号内的表达式为false,则会抛出一个错误。 1-2 Mat.ptr(int i = 0); 获取像素矩阵的指针,索引 i 表示第几行,从0开始计行数。 1-3 const uchar* current = mylmage.ptr(row); 获得…

Physically Based Area Lights

11.1 概括 本章介绍了由 Guerrilla Games 公司在 PS4 开发的基于物理的区域照明系统(见图11.1)。 我们提出了一种新颖、实时的区域照明分析模型,能够支持多种照明形状。每种形状都可以用平面上简单的三维或二维函数来表示。讨论的应用包括以下…

Apache Flink文件上传漏洞(CVE-2020-17518)漏洞代码分析

漏洞复现参考如下文章 Apache Flink文件上传漏洞(CVE-2020-17518)漏洞复现分析_文件上传漏洞复现cve-CSDN博客 分析代码的话,首先找到漏洞修复的邮件 漏洞详情,可以看到漏洞概要,影响的版本,漏洞描述以及…

Docker核心教程

1. 概述 官网:https://docs.docker.com/ Docker Hub 网站:https://hub.docker.com/ 容器较为官方的解释: 一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立…

嵌入式学习第十四天!(结构体、共用体、枚举、位运算)

1. 结构体: 1. 结构体类型定义: 嵌入式学习第十三天!(const指针、函数指针和指针函数、构造数据类型)-CSDN博客 2. 结构体变量的定义: 嵌入式学习第十三天!(const指针、函数指针和…

Meta开源Code Llama 70B,缩小与GPT-4之间的技术鸿沟

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【C++基础入门】一、C++初识

一、C初识 1.1 第一个C程序 编写一个C程序总共分为4个步骤 创建项目创建文件编写代码运行程序 1.1.1 创建项目 ​ Visual Studio是我们用来编写C程序的主要工具,我们先将它打开 1.1.2 创建文件 右键源文件,选择添加->新建项 给C文件起个名称&am…

vue3-hand-mobile

当我写完手势移动事件后,我又通过svg的方法添加了一段文字和polygon。当我在这个蓝色的polygon上滑动手势的时候,会报错。 可能这个bug只是我个人的代码导致的。但是我觉得vue3-hand-mobile插件的这一段代码写的有问题。 我通过circular-json库修复了这…

petalinux2022.2启动文件编译配置

安装必要运行库: sudo apt-get install iproute2 gawk python3 python sudo apt-get install build-essential gcc git make net-tools libncurses5-dev tftpd sudo apt-get install zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat sudo apt-ge…

IDEA Java常用快捷键

目录 main方法快捷键:psvm输出语句:sout复制行:ctrld删除行:ctrly单行注释或多行注释 : Ctrl / 或 Ctrl Shift /for循环 直接 :fori代码块包围:try-catch,if,while等 ctrlaltt缩进&#xff1…

CentOS 7 部署 ZeroTier Moon 节点

ZeroTier是一套使用UDP协议构建的SD-WAN网络软件,其主要有三部分组成:行星服务器Planet、月亮服务器Moon、客户端节点LEFA,行星服务器是ZeroTier的根节点,可以采用ZeroTier官方的服务器,也可以使用开源代码自行搭建 月…

linux平台 LED情报板网关项目总结

LED情报板目前已经基本稳定 主要存在两个版本LED1.5 和LED2 两个版本的主要差别是 : 1.1.5的配置文件存在本地 2.0的存在平台 需要通过接口从平台获取 2.1.5的下发消息的时候需要同步返回 2.0的是异步返回,所以1.5的要尽可能完成 不然会导致发 布平台…

Oracle 锁的概念以及分类

1.什么是锁 数据库是一个庞大的多用户数据管理系统, 同一时刻可能有多个用户同时操作。事务的分离性要求当前事务不能影响其他的事务,所以多个会话操作同一个资源时,数据库会利用锁确保他们像队列一样一次执行。利用来锁消除多个用户操作同一…

Jmeter分布式场景

Jmeter分布式 1. 为什么使用Jmter分布式测试 1.1 需求 对学院接口(查询学院-所有)进行1000用户并发访问,测试服务器处理批量请求能力1.2 现状 我们单台电脑由于配置(CPU、内存)问题,最模拟500用户时,就出现卡死现象按照一般的压力机配置&…

opencv学习 特征提取

内容来源于《opencv4应用开发入门、进阶与工程化实践》 图像金字塔 略 拉普拉斯金字塔 对输入图像进行reduce操作会生成不同分辨率的图像,对这些图像进行expand操作,然后使用reduce减去expand之后的结果,就会得到拉普拉斯金字塔图像。 …

6.2 静态内存分配模式

Bruce Powel Douglass大师介绍-CSDN博客https://blog.csdn.net/ChatCoding/article/details/134665868 嵌入式软件开发从小工到专家-CSDN博客https://blog.csdn.net/ChatCoding/article/details/135297955 C嵌入式编程设计模式源码-CSDN博客https://blog.csdn.net/ChatCoding…

STM32单片机基本原理与应用(四)

直流电机驱动控制原理 1、电机正反转控制 在STM32中,直流电机的正反转控制主要通过改变电机输入电源的极性来实现。当电机的电压极性发生变化时,电机的旋转方向也会相应改变。在硬件电路中,可以通过继电器或晶体管等电子开关来切换电机的电源…

消息中间件RabbitMQ介绍

一、基础知识 1. 什么是RabbitMQ RabbitMQ是2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,简称MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法,由Erlang(专门针对于大…

【Tomcat与网络4】Tomcat的连接器设计

目录 1 如何设计一个灵活可靠的连接器 2 主要组件介绍 在上一篇,我们介绍了Tomcat提供服务的整体结构,本文我们一起来看一下Tomcat的连接器的设计。 在前面我们提到Tomcat主要完成两个功能: 处理 Socket 连接,负责网络字节流与…

中国的茶文化:现代生活中的茶文化

中国的茶文化:现代生活中的茶文化 引言 在现代社会的快节奏生活中,茶文化并未随时间流逝而褪色,反而以其独特的方式融入了全球各地人们的日常生活。它超越了饮品本身的范畴,成为一种连接历史、人文与现代生活方式的艺术形式。本文…