【王树森搜索引擎技术】相关性02:评价指标(AUC、正逆序比、DCG)

相关性的评价指标

  • Pointwise评价指标:Area Under the Curve(AUC)
  • Pairwise评价指标:正逆序比(Positive to Negative Ratio, PNR)
  • Listwise评价指标:Discounted Cumulative Gain(DCG)
  • 用AUC和PNR作为离线评价指标,用DCG评价模型在线上排序的效果

Pointwise评价指标

二分类评价指标

  • 把测试集相关性档位转化为0/1
    • 高,中两档合并,作为标签 y=1
    • 低,无两档合并,作为标签 y=0
  • 相关性模型输出预测值 p ∈ [ 0 , 1 ] p ∈ [0, 1] p[0,1]
  • 用AUC评价模型的预测是否准确
    在这里插入图片描述
    在这里插入图片描述

ROC曲线与AUC值

  • 现在有一个分类问题,图中的坐标系横坐标表示预测的概率,纵坐标表示其真实的类别
    在这里插入图片描述
  • 我们设定一个阈值,如果概率大于该阈值,那么就认为它是汉堡,比如图中大于了0.5,所以右侧的点都会被预测为汉堡,那么就说明三个预测准确,两个预测不准确
  • 可以在右上角画出一个混淆矩阵
    在这里插入图片描述
  • 我们的阈值可以取 0 到 1 之间的任意数,所以我们可以得到很多个混淆矩阵
    在这里插入图片描述
  • 有没有办法能把所有的混淆矩阵表示在同一个二维空间内呢?这就是 Receiver Operator Characteristic (ROC)曲线
  • 可以对混淆矩阵的值用公式算出来然后画到坐标轴上
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • TPR是与TP(正预测成功)和FN(负预测失败)计算得来,我们希望TP越大越好,所以对于FPR相等的值,TPR越大越好
    在这里插入图片描述
  • 那么AUC值就能很好的反应出模型在ROC曲线上的效果,即AUC值越大,效果越好
  • 如果是多分类的话:宏观AUC就是对每一个类别都画一个ROC曲线,求出对应的AUC值,最后对AUC值取某种平均。微观AUC的话,就是化归为真实类别和其他类别
    在这里插入图片描述

Piarwise 评价指标

  • 正逆序比 PNR
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 用户看到前面文档的概率大,我们希望前面的排序是正确的,所以不能只看正逆序比
    在这里插入图片描述

Listwise评价指标

  • 该指标会给前面的指标更大的权重
  • 有 n 篇候选文档,根据模型打分做降序排列,把文档记为 d 1 , ⋅ ⋅ ⋅ , d n d_1, ···, d_n d1,⋅⋅⋅,dn (此时不知道真实相关性分数)
  • d 1 , ⋅ ⋅ ⋅ , d n d_1,···,d_n d1,⋅⋅⋅,dn 的真是相关性分数为 y 1 , ⋅ ⋅ ⋅ , y n y_1, ···, y_n y1,⋅⋅⋅,yn 人工标注相关性档位,档位映射到 [0,1] 区间上的实数
    在这里插入图片描述
  • 逆序对会导致 pairwise 和 listwise 指标减小
  • 逆序对出现的位置不影响 pairwise 指标
  • 逆序对越靠前,对 listwise 指标造成的损失越大

Cumulative Gain(CG)

  • 只关注排在前 k 的文档,它们最可能获得曝光,对用户的体验影响最大
    在这里插入图片描述
    在这里插入图片描述
  • 交换前面的并不会影响结果,这是不合理的
    在这里插入图片描述

Discounted Cumulative Gain(DCG)

  • 多了降权的惩罚,越靠前的话分数就越大
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

相关性的评价指标

  • Pointwise:单独评价每一个 (q,d) 二元组,判断预测的相关性分数与真实标签的相似度。因为是单独,所以是 Pointwise
  • Pairwise:对比 ( q , d 1 ) (q,d_1) (q,d1) ( q , d 2 ) (q,d_2) (q,d2) ,判断两者的序是否正确 (正序对或逆序对),以对为基准,所以是pairwise
  • Listwise:对比 ( q , d 1 ) , ( q , d 2 ) , ⋅ ⋅ ⋅ , ( q , d n ) (q,d_1), (q,d_2), ···, (q, d_n) (q,d1),(q,d2),⋅⋅⋅,(q,dn),判断整体的序关系的正确程度

离线评价指标

  • 实现准备人工标注的数据,划分为训练集和测试集
  • 完成训练后,计算测试集上的AUC和PNR
  • 相关性有 4 个档位,为什么不用多分类的评价指标呢?(Macro F1 和 Micro F1)
  • 相关性的标签存在序关系:高>中>低>无
  • 多分类问题把 4 中标签看作 4 个类别,忽略其中的序关系
    在这里插入图片描述

线上评价指标

  • 一个搜索session:用户搜索 q,搜索结果页上按需展示文档 d 1 , ⋅ ⋅ ⋅ , d n d_1, ··· , d_n d1,⋅⋅⋅,dn
  • 从搜索日志中抽取一批session,覆盖高中低频查询词
  • 对于每个session,取排序最高的 k 篇文档 d 1 , ⋅ ⋅ ⋅ , d k d_1, ···, d_k d1,⋅⋅⋅,dk
  • k的设定取决于用户浏览深度,比如k=20
  • 高频查询词的前 20 篇文档几乎都是高相关,指标过高
  • 高频查询词的k设置的较大(比如k=40),低频查询词的k设置的较小(比如k=20)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

人物一致性训练测评数据集

1.Pulid 训练:由1.5M张从互联网收集的高质量人类图像组成,图像标题由blip2自动生成。 测试:从互联网上收集了一个多样化的肖像测试集,该数据集涵盖了多种肤色、年龄和性别,共计120张图像,我们称之为DivID-120,作为补充资源,还使用了最近开源的测试集Unsplash-50,包含…

python+django+Nacos实现配置动态更新-集中管理配置(实现mysql配置动态读取及动态更新)

一、docker-compose.yml 部署nacos服务 version: "3" services:mysql:container_name: mysql# 5.7image: mysql:5.7environment:# mysql root用户密码MYSQL_ROOT_PASSWORD: rootTZ: Asia/Shanghai# 初始化数据库(后续的初始化sql会在这个库执行)MYSQL_DATABASE: nac…

深度学习项目--基于LSTM的火灾预测研究(pytorch实现)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前言 LSTM模型一直是一个很经典的模型,这个模型当然也很复杂,一般需要先学习RNN、GRU模型之后再学,GRU、LSTM的模型讲解将…

GitLab集成Jira

GitLab与Jira集成的两种方式 GitLab 提供了两种 Jira 集成,即Jira议题集成和Jira开发面板集成,可以配置一个或者两个都配置。 具体集成步骤可以参考官方文档Jira 议题集成(极狐GitLab文档)和Jira 开发面板集成(极狐G…

A5.Springboot-LLama3.2服务自动化构建(二)——Jenkins流水线构建配置初始化设置

下面我们接着上一篇文章《A4.Springboot-LLama3.2服务自动化构建(一)——构建docker镜像配置》继续往下分析,在自动化流水线构建过程当中的相关初始化设置和脚本编写。 一、首先需要先安装Jenkins 主部分请参考我前面写的一篇文章《Jenkins持续集成与交付安装配置》 二、…

win32汇编环境,窗口程序中基础列表框的应用举例

;运行效果 ;win32汇编环境,窗口程序中基础列表框的应用举例 ;比如在窗口程序中生成列表框,增加子项,删除某项,取得指定项内容等 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;以下是ASM文件 ;>>>>>>>>>>>…

【机器学习实战入门】使用LSTM机器学习预测股票价格

机器学习在股票价格预测中有重要的应用。在这个机器学习项目中,我们将讨论如何预测股票的收益。这是一个非常复杂的任务,充满了不确定性。我们将会把这个项目分成两部分进行开发: 首先,我们将学习如何使用 LSTM 神经网络预测股票…

使用C语言实现栈的插入、删除和排序操作

栈是一种后进先出(LIFO, Last In First Out)的数据结构,这意味着最后插入的元素最先被删除。在C语言中,我们可以通过数组或链表来实现栈。本文将使用数组来实现一个简单的栈,并提供插入(push)、删除(pop)以及排序(这里采用一种简单的排序方法,例如冒泡排序)的操作示…

wx030基于springboot+vue+uniapp的养老院系统小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

计算机网络常见协议

目录 OSPF(Open Shortest Path First) NAT(Network Address Translation) ICMP (Internet Control Message Protocol) HTTPS(SSL/TLS加密) HTTPS协议 1. 对称加密 2. 非对称加密 3. 证书验证 4. 回顾https协议传输流程 HTTP TCP UDP 1. TCP&a…

静态综合路由实验

实验拓扑 实验要求 1.除R5的环回地址外,整个其他所有网段基于192.168.1.0/24进行合理的IP地址划分 2.R1-R4每个路由器存在两个环回接口,用于模拟pc网段;地址也在192.168.1.0/24这个网络范围内 3.R1-R4上不能直接编写到达5.5.5.0/24的静态路由…

左神算法基础提升--4

文章目录 树形dp问题Morris遍历 树形dp问题 求解这个问题需要用到我们在基础班上学到的从节点的左子树和右子树上拿信息的方法。 求最大距离主要分为两种情况:1.当前节点参与最大距离的求解;2.当前节点不参与最大距离的求解; 1.当前节点参与最…

[计算机网络]一. 计算机网络概论第一部分

作者申明&#xff1a;作者所有文章借助了各个渠道的图片视频以及资料&#xff0c;在此致谢。作者所有文章不用于盈利&#xff0c;只是用于个人学习。 1.0推荐动画 【网络】半小时看懂<计算机网络>_哔哩哔哩_bilibili 1.1计算机网络在信息时代的作用 在当今信息时代&…

【C++】如何从源代码编译红色警戒2地图编辑器

【C】如何从源代码编译红色警戒2地图编辑器 操作视频视频中的代码不需要下载三方库&#xff0c;已经包含三方库。 一、运行效果&#xff1a;二、源代码来源及编程语言&#xff1a;三、环境搭建&#xff1a;安装红警2安装VS2022下载代码&#xff0c;源代码其实不太多&#xff0c…

SSM课设-酒店管理系统功能设计

【课设者】SSM课设-酒店管理系统 分为用户端管理员端 技术栈: 后端: Spring Spring MVC MyBatis Mysql JSP 前端: HtmlCssJavaScriptAjax 功能: 用户端主要功能包括&#xff1a; 登录注册 客房预订 客房评论 首页 管理员端主要功能包括&#xff1a; 会员信息管理 客房信息…

游戏引擎学习第80天

Blackboard&#xff1a;增强碰撞循环&#xff0c;循环遍历两种类型的 t 值 计划对现有的碰撞检测循环进行修改&#xff0c;以便实现一些新的功能。具体来说&#xff0c;是希望处理在游戏中定义可行走区域和地面的一些实体。尽管这是一个2D游戏&#xff0c;目标是构建一些更丰富…

cuda从零开始手搓PB神经网络

cuda实现PB神经网络 基于上一篇的矩阵点乘&#xff0c;实现了矩阵的加减乘除、函数调用等。并且复用之前元编程里面写的梯度下降、Adam、NAdam优化方法。实现PB神经网络如下&#xff1a; #ifndef __BP_NETWORK_HPP__ #define __BP_NETWORK_HPP__ #include "matrix.hpp&quo…

我的世界-与门、或门、非门等基本门电路实现

一、红石比较器 (1) 红石比较器结构 红石比较器有前端单火把、后端双火把以及两个侧端 其中后端和侧端是输入信号,前端是输出信号 (2) 红石比较器的两种模式 比较模式 前端火把未点亮时处于比较模式 侧端>后端 → 0 当任一侧端强度大于后端强度时,输出…

项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(七)

文章目录 一、题库管理模块实现1、新增题目功能实现1.1 页面设计1.2 前端功能实现1.3 后端功能实现1.4 效果展示2、题目列表功能实现2.1 页面设计2.2 前端功能实现2.3 后端功能实现2.3.1 后端查询题目列表接口实现2.3.2 后端编辑试题接口实现2.4 效果展示二、代码下载一、题库管…

打破编程“鄙视链”:探索行业发展新路径

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 打破…