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

目录

  • 二分类模型的评价指标
  • 准确率(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.mzph.cn/news/664199.shtml

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

相关文章

2月2日作业 C语言笔试题整理

1、请简述gcc的编译步骤 预处理:展开头文件、删除注释、替换宏 编译:检查语法正确性,生成汇编文件 汇编:把汇编语言转换为二进制文件,生成目标文件 链接:把多个目标文件链接为可执行文件 2、C语言中基…

基于Java SSM框架实现校园兼职系统项目【项目源码+论文说明】

基于java的SSM框架实现校园兼职系统演示 摘要 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱,也逐渐进入了每个学生的使用。互联网具有便利性,速度快,效率高,…

买电脑注意事项之CPU型号后面的字母都代表什么意思

在 CPU 型号后面的字母通常表示该 CPU 的一些特性或用途。不同的字母可能代表不同的系列、性能级别、功耗特性等。以下是一些常见的 CPU 后缀字母及其可能的含义: U(例如:i5-8250U): Ultra Low Power:表示低功耗&#…

Elasticsearch(简称ES)性能优化 实践

Elasticsearch(简称ES)性能优化主要包括以下几个方面: 索引优化: 选择合适的分片数:根据业务需求和数据量合理设置分片数,避免过多或过少分片造成性能问题。分片数过多会导致创建分片速度变慢、集群易崩溃…

[office] excel计算客户名单的人数 COUNTA 函数:“销售额”不仅是金额的总和 #知识分享#职场发展#知识分享

excel计算客户名单的人数 COUNTA 函数:“销售额”不仅是金额的总和 前文中介绍的 SUM 函数,是在日常工作中使用频率最高的函数之一。但是,在实际操作时也会出现问题。比如在计算销售额总和时,SUM 函数得出的结果为金额总和。但是…

RISC-V指令格式

RISC-V指令格式 1 RISC-V指令集命名规范2 RISC-V指令集组成2.1 基础整数指令集2.2 扩展指令集 3 RISC-V指令格式3.1 指令表述3.2 指令格式 本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。 1 RISC-V指令集命名规范 前面提到过RV32I,这是…

本地部署 SalesGPT

本地部署 SalesGPT 0. 背景1. SalesGPT 项目介绍2. SalesGPT 项目 Github 地址3. 本地部署 SalesGPT4. 运行 SalesGPT 0. 背景 最近有同事想玩玩 SalesGPT,结果发现使用 OpenAI API 时,会发生超过 Limit 的问题无法继续对话。 今天尝试通过本地部署开源…

5. 基础网络服务与应用配置

5.1 实验一:FTP 基础配置实验 5.1.1 实验介绍 5.1.1.1 关于本实验 设备支持多种文件管理方式,用户根据任务和安全性要求选择合适的文件管理方式。 用户可以通过直接登录系统、FTP(File Transfer Protocol)、TFTP(T…

从编程中理解:大脑的短期记忆和长期记忆

在编程中,我们可以将大脑的短期记忆和长期记忆类比为程序中的变量作用域和持久化存储。在Unity C#编程环境下,可以这样解释: 假设金庸武侠世界中的人物张无忌正在修炼九阳真经。我们用C#代码来模拟他学习武功的过程,其中涉及的“短期记忆”与“长期记忆”。 public class…

第8章 SpringBoot任务管理

学习目标 熟悉SpringBoot整合异步任务的实现 熟悉SpringBoot整合定时任务的实现 熟悉SpringBoot整合邮件任务的实现 开发web应用时,多数应用都具备任务调度功能。常见的任务包括异步任务,定时任务和发邮件任务。我们以数据库报表为例看看任务调度如何帮助改善系统设计。报表可…

【深度学习】数据归一化/标准化 Normalization/Standardization

目录 一、实际问题 二、归一化 Normalization 三、归一化的类型 1. Min-max normalization (Rescaling) 2. Mean normalization 3.Z-score normalization (Standardization) 4.非线性归一化 4-1 对数归一化 4-2 反正切函数归一化 4-3 小数定标标准化(Demi…

Day17、18、19学习记录

#c语言知识 内存管理 1.作用域 (1)代码块作用域(代码块是{}之间的一段代码) (2)函数作用域 (3)文件作用域 2.局部变量(自动变量auto): 在函…

jmeter-03界面介绍

文章目录 主界面介绍测试计划介绍线程组介绍线程组——选择测试计划,右键-->添加-->线程-->线程组 主界面介绍 测试计划介绍 测试计划:本次测试所需要的所有内容,即父线程 线程组介绍 jmeter讲究一个概念:一个线程一…

Linux内存管理:(十一)页面分配之慢速路径

文章说明: Linux内核版本:5.0 架构:ARM64 参考资料及图片来源:《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址: zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 水位管理和分配优先级 页面分配…

小白水平理解面试经典题目_二维数组类LeetCode 2966 Divide Array【排序算法实现】

2966 将数组划分为具有最大差值的数组 小白渣翻译: 给定一个大小为 n 的整数数组 nums 和一个正整数 k 。 将数组分成一个或多个大小为 3 的数组,满足以下条件: nums 的每个元素都应该位于一个数组中。一个数组中任意两个元素之间的差异小…

力扣每日一题 ---- 1906. 查询差绝对值的最小值

本题中,我们的题目求的是差值的最小值,我们考虑一个因素,当前题目中给出的数组是没有排序过的,那么想要求的差值,是不是要两两配对进行判断差值最小值。这里我们就很费时间了, O(N^2)的时间复杂度&#xf…

【LeetCode】27.移除元素 (快慢指针法)

题目 图解 思路 运行代码 代码 采用 LeetCode 的格式模板 int removeElement(int* nums, int numsSize, int val) {int Left 0;int Right 0;while(Right < numsSize){if(nums[Right] ! val) {nums[Left] nums[Right];Left;}Right;}return Left;// 此时 Left 刚好是数组的…

FANUC机器人开机时无法进入系统,示教器黑屏故障处理总结

FANUC机器人开机时无法进入系统&#xff0c;示教器黑屏故障处理总结 故障描述&#xff1a; FANUC机器人开机时&#xff0c;示教器在初始化时显示&#xff1a;EMAC initial call failed&#xff08;示教器上电时会进入boot画面&#xff0c;左上角会出现一些白色的英文提示&#…

从编程中理解:退一步海阔天空

编程中,“退一步海阔天空”的理念指的是在面对问题时,有时过于纠结于细节或局部优化,反而会陷入困境。这时,如果能暂时放下手中的具体工作,从更高的层面或者换个角度来审视整个系统的设计和架构,可能会发现更好的解决方案。在Unity游戏开发中,这一原则体现为对代码的模块…

Linux系统漏洞一键检测与修复工具

支持检测及修复漏洞的列表 OpenSSL CVE-2021-3712 OpenSSH CVE-2021-41617 sudo CVE-2021-3156 glibc CVE-2018-11236 polkit CVE-2021-4034 wget CVE-2017-13090 kernel CVE-2016-5195 bash CVE-2016-7543 samba CVE-2021-…