推荐系统系列——推荐算法评价指标

2023-11-02

同步读书之《菜根谭》

9、静坐观心,真妄毕现

  夜深人静独坐观心,始觉妄穷而真独露,每于此中得大机趣:既觉真现而妄难逃,又于此中得大惭忸(niǔ)。

妄:非分,越轨。妄穷:私心杂念都没有了。
惭忸(niǔ):惭愧。

10、得意早回头,拂心莫停手

恩里由来生害,故快意时,须早回首;
败后或反成功。故拂心处,莫便放手。

推荐算法评价指标

  要评估一个推荐模型的好坏,需要通过不同指标从多个角度评价推荐系统,按照推荐任务的不同,推荐质量度量方法可以分为三大类:
(1)评分预测指标:许多推荐系统根据物品的评分进行推荐,因而可以根据评分预测指标进行评价。
(2)集合推荐指标:许多推荐系统最后得到的是推荐物品的集合(例如Top-N推荐任务),因而可以根据集合推荐指标进行评价。(3)排名推荐指标:按排名列表对推荐效果加权进行评估,既可以适用于评分预测任务也可以用于集合推荐任务[11]。

1 评分预测指标

  常见的指标有平均绝对误差(MAE)、均方根误差(RMSE)、标准化平均误差(NMAE)以及覆盖率(Coverage)。

1.1 符号定义

在这里插入图片描述
在这里插入图片描述

1.2 平均绝对误差

  平均绝对误差指的是所有测试集中推荐预测的得分与实际用户的打分之间的差值之和的均值。对应公式如下所示:
在这里插入图片描述

  对应单个用户u的标准平均绝对误差为,对应公式如下所示:
在这里插入图片描述

1.3 均方根误差

  均方根误差指的是所有测试集中的物品推荐预测的得分与实际用户的打分之间的差值平方和开根号的均值。对应公式如下所示:
在这里插入图片描述

1.4 覆盖率

在这里插入图片描述
此处更正Cu:Cu里面应改为用户u的近邻集合不为空且未被用户u评分的物品集合。

2 集合推荐指标

  常见的指标有准确率、精确率、召回率、F1值等。

2.1 混淆矩阵

  提到上面几个经典的指标我们必须要先了解一下混淆矩阵的概念。混淆矩阵是评价系统精度的一种n行n列的矩阵,它的每一行代表预测值,每一列代表真实值。
在这里插入图片描述

  如表4.1所示,混淆矩阵主体为两行两列,两行分别代表样本的真实值的Positive或者Negative状态;而两列分别代表预测值的Positive或者Negative状态。而这样就组合出了关于真实值和预测值的四种状态:

  • 真阳性(True Positive, TP):用户给物品的打分是正例,并且推荐系统预测的结果也是正例
  • 真阴性(True Negative, TN):用户给物品的打分是负例,并且推荐系统预测的结果也是负例
  • 假阳性(False Positive, FP):用户给物品的打分是负例,但是推荐系统预测其为正例
  • 假阴性(False Negative, FN):用户给物品的打分是正例,但是推荐系统预测其为负例
    在这里插入图片描述

2.2 准确率

  准确率指的是在所有物品中,推荐系统预测正确的物品数占总物品数的比例,对应的公式如下所示:
在这里插入图片描述

2.3 精确率

  精确率指的是在所有预测为正例的物品中,预测正确为正例所占的比例,对应的公式如下所示:
在这里插入图片描述

2.4 召回率

  召回率指的是在所有实际为正例的物品中,预测正确为正例所占的比例,对应的公式如下所示:
在这里插入图片描述

2.5 F1值

  F1-值就是精确率和召回率的调和平均值,F1-值认为精确率和召回率一样重要,其取值范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差,对应的公式如下所示:
在这里插入图片描述

2.6 ROC与AOC

  ROC曲线是以FPR为x轴,TPR为y轴得到的曲线,而AUC是指ROC曲线下坐标轴围成区域的面积。AUC的实际意义是在该区域把正例的物品预测为1的概率大于把负例物品预测为1的概率。对应公式如下所示:
在这里插入图片描述

2.7 命中率

  命中率是目前TOP-K推荐研究中非常流行的评价指标,表示测试集中的物品出现在TOP-K推荐列表中的用户数与用户总数的比值。对应公式表示如下:
在这里插入图片描述

3 排名推荐指标

  由于许多用户只对推荐列表中排名靠前的物品感兴趣,所以它们的重要性也远大于排名靠后的物品,所以出现了排名推荐指标来按排名列表对推荐效果进行加权评估。常见的指标有半衰期效用指标HLU、折现累积收益DCG、排序偏差准确率RBP等。

3.1 半衰期效用指标

  半衰期效用指标(Half Life Utility index,HLU)认为用户与浏览某商品的概率与其在推荐列表中的位置相关,而且是呈指数递减相关,它能够度量用户打分与系统默认评分之间的差距。对应的公式如下所示:
在这里插入图片描述

3.2 折现累积收益DCG

  折扣累计收益(discounted cumulative gain, DCG)认为推荐列表中排名越靠前的物品应该越被用户所喜欢,其公式如下所示:
在这里插入图片描述
在这里插入图片描述
b是自由参数;L为推荐列表长度。

3.3 排序偏差准确率RBP

  排序偏差准确率(rank-biased precision,RBP)基于的假设是用户总是先浏览推荐列表首位的商品,然后依次以概率p浏览下一个,以1-p的概率不再浏览,RBP公式如下所示:
在这里插入图片描述

4 其它评估指标

  除了上述评价指标之外,由于人们对于推荐系统的用户体验要求越来越高,所以诞生出诸如多样性、新颖性、稳定性等指标。

4.1 多样性

在这里插入图片描述

4.2 新颖性

  推荐系统的新颖性指的是能够向用户推荐非热门非流行商品的能力。一般来说,系统所推荐商品与用户已知物品相似度越小,新颖度越高,所以其公式表示如下:
在这里插入图片描述

4.3 稳定性

  稳定性是指推荐系统的预测结果在短期内不会发生明显变化,只有这样才会被用户所信任。假设已知用户评分集合R1,对应的预测评分集合为P1,经过一段时间后,用户对之前未评分的物品进行了评分,此时我们再对P1中的物品进行预测评分,得到预测评分集合P2,则系统的稳定性可以表示如下:
在这里插入图片描述

参考文献

[11] Terryn W C , World. Discounted cumulative gain[J]. Fer Publishing, 2011.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

推荐系统系列——推荐算法评价指标 的相关文章

  • anaconda spyder使用技巧

    spyder 很简单的python代码编辑器 目录 界面布局 快捷键 设置语言 设置默认打开文件夹 高级技巧 调试代码 高级技巧 创建spyder虚拟环境 恢复默认布局 英语阅读难的话 可以先跳到设置语言 界面布局 选项卡 file 文件

随机推荐

  • k8s生产环境容器内部JVM参数配置解析及优化

    试问 我们为什么要做jvm参数配置优化 避免默认条件或者复杂情况导致频繁STW或者OOM 1 堆总内存初始化大小分配和最大值分配 Xms512m Xmx512m 设置为FullGC之后的老年代内存占用的3 4倍 线下调试 1 初始分配的堆内
  • 华为OD机试真题-服务中心的最佳位置【2023Q2】【JAVA、Python、C++】

    题目描述 一家快递公司希望在一条街道建立新的服务中心 公司统计了该街道中所有区域在地图上的位置 并希望能够以此为依据为新的服务中心选址 使服务中心 到所有区域的距离的总和最小 给你一个数组 positions 其中 positions i
  • 【#ifndef, #define, 和 #endif】

    前言 学习AFNetWoring源码的时候 在AFN的h借接口文件又看到了这几个宏定义 学习记录一下 作用 ifndef define 和 endif是C CPP的预处理指令 常常用来条件编译和防止头文件重复包含 简介 ifndef 它是i
  • rpm安装postgresql12

    安装环境 CentOS Linux release 7 3 1611 Core 安装pg版本 postgresql12 安装步骤 文件下载地址 postgresql12 docker19 postgis Linux文档类资源 CSDN下载
  • 2021-09-09

    将100 200之间的素数输出 谭浩强 C程序设计 第四版 第二章习题第四题的六小题代码实现 将100 200之间的素输出 include
  • CSDN获取积分办法

    下载积分攻略 1 个人设置里进行手机绑定CSDN账户 奖励50分 右上角设置 账户安全 手机绑定 2 完成任务送若干分积分 CSDN有奖任务 3 上传有效资源获取积分 上传非法 广告资源用户 将被扣除一定积分 严重者封号 上传自己设分资源被
  • 华为云云耀云服务器L实例评测| ultralytics最先进模型YOLOv8深度学习AI训练

    目录 前言 登录服务器 安装pyhton 部署yolov8 安装Pytorch 下载权重文件 训练模型 模型使用 前言 前几期我们在云耀云服务器L实例上分别使用docker和直接在centos上部署了yolov5识别API 前端项目vue
  • 方法的定义和格式

    方法 什么是方法 方法是程序中最小的执行单元 定义 把一些代码打包在一起 该过程称为方法 实际开发过程中 什么时候用到方法 重复的代码 具有独立功能的代码可以抽取到方法中 实际开发中 方法的好处 提高代码的复用性 提高代码的可维护性 方法的
  • C++内存泄漏和内存碎片的产生及避免策略

    1 内存泄漏的定义 一般我们常说的内存泄漏是指堆内存的泄漏 堆内存是指程序从堆中分配的 大小任意的 内存块的大小可以在程序运行期决定 使用完后必须显示释放的内存 应用程序一般使用malloc realloc new等函数从堆中分配到一块内存
  • AirTest自动化测试

    目录 一 AirTest简介 二 AirTest与模拟器进行连接 三 图像库 touch 运行 报告 一 AirTest简介 AirTest是一个基于图像识别原理的跨平台UI自动化测试框架 适用于游戏和应用程序 1 特点 a 跨平台 Air
  • windows10(1903) VMware(虚拟机)不能正常安装操作系统

    win10虚拟机不能正常安装操作系统 前言 一 问题现象 二 解决方案 1 停止hv主机服务 2 重启计算机 3 开启虚拟机的全局虚拟打印功能 4 正常工作了 参考 前言 最近公司搬家 重新搭环境 事儿有点多哈 我们win10 操作系统被运
  • vue-router基本使用方法

    声明 本人的所有博客皆为个人笔记 作为个人知识索引使用 因此在叙述上存在逻辑不通顺 跨度大等问题 希望理解 分享出来仅供大家学习翻阅 若有错误希望指出 感谢 动态路由匹配 我们可以在 vue router 的路由路径中使用 动态路径参数 d
  • EMC-MLCC电容反谐振点引起的RE辐射超标

    MLCC电容反谐振点引起的RE辐射超标 对待RE辐射问题 可以按照干扰源 干扰路径 被干扰源 入手较多的是干扰源和干扰路径 解决干扰源可以从展频 调频 屏蔽干扰源 增加RC snabber吸收干扰源等方向入手 解决干扰路径的 可以分为差模干
  • 网络互连基础的实验

    拓扑 需求 某网络整体结构如图所示 根据如图的IP规划 为设备配置IP地址 在各路由器上配置静态路由 要求实现全网互联 在DNS服务器上增加一条域名解析记录 域名可自定义 当通过PC端用域名访问Web服务器时 PC端浏览器能够返回web服务
  • Python使用免费天气API,获取全球任意地区的天气情况

    需求背景 公司是做外贸服装的 在亚马逊平台上有多个地区店铺运营 运营人员需要参考地区的天气情况 上新的服装 所以需要能够获取全球任意地区的天气情况 还需要预测未来10 15天的天气情况 选型API 天气API中有大把免费的api 如 国内的
  • 基于元学习的红外弱小点状目标跟踪算法

    基于元学习的红外弱小点状目标跟踪算法 人工智能技术与咨询 昨天 本文来自 激光技术 作者热孜亚 艾沙等 引言 红外点状目标的跟踪是红外搜索和跟踪 infrared search and track IRST 系统中的关键技术之一 1 在红外
  • vue手机端的调试神器eruda

    前言 分享一款神奇 可以在手机上实现 跟pc端f12打开调试一样的效果 官方地址 入口 实现效果 实现步骤 1 cdn使用 打开public index html加入 2 node使用 cnpm install eruda save
  • 配置Apache2.4.46

    解压后打开 Apache24 conf 的httpd conf 定位Define SRVROOT并将后面的 SRVROOT 改为自己解压后的Apache24文件夹路径 下一行ServerRoot后面的 SRVROOT 相同操作 在cmd输入
  • SpringBoot整合AMQP

    SpringBoot整合AMQP 文章目录 SpringBoot整合AMQP 前言 一 JMS AMQP概念以及区别 二 RabbitMQ简介 三 互联网大厂为什么选择RabbitMQ 四 RabbitMQ的一些核心概念 五 RabbitM
  • 推荐系统系列——推荐算法评价指标

    文章目录 同步读书之 菜根谭 9 静坐观心 真妄毕现 10 得意早回头 拂心莫停手 推荐算法评价指标 1 评分预测指标 1 1 符号定义 1 2 平均绝对误差 1 3 均方根误差 1 4 覆盖率 2 集合推荐指标 2 1 混淆矩阵 2 2