当前位置: 首页 > news >正文

【推荐系统论文笔记】个性化推荐系统评价方法综述(了解概念——入门篇)...

Overview of  the Evaluated Algorithms for the Personal Recommendation Systems

  顾名思义,这篇中文论文讲述的是推荐系统的评价方法,也就是,如何去评价一个推荐系统的好与不好。


  • 引言

 

  1.个性化推荐系统通过建立用户产品之间的二元关系 ,利用用户已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象 ,进而进行个性化推荐 ,其本质就是信息过滤
  2.一个完整的推荐系统由3部分组成:
    收集用户信息的行为记录模块;
    分析用户喜好的模型分析模块;
    推荐算法模块(最核心)
      Ⅰ.协同过滤推荐算法;
       Ⅱ.基于内容的推荐算法;
      Ⅲ.基于用户-产品二部图关系的推荐算法;
      Ⅳ.混合推荐算法;
  3.评价推荐算法是困难的:
    1) 不同的算法在不同数据集上的表现不同;
    2) 评价的目的也不尽相同 ;
    3) 对不同的数据是否需要在线用户的测试 ?
    4) 选择哪些指标进行综合评价也十分困难。这4方面的因素直接决定了评价的客观性和合理性。

 

 


 

  • 准确度评价指标

1.预测准确度

预测准确度考虑推荐算法的预测打分与用户实际打分的相似程度。

平均绝对误差指标MAE(Mean Absolute Error):

image

与MAE相关的其他指标有平均平方误差MSE(Mean Squared Error)和标准平均绝对误差 (Normalized Mean Absolute Error,简称NMAE) 。

平均平方误差MSE:

image

image

eg.有一个电影评价系统,它可以对某一部电影给出其他用户评价电影的“星”的平均数(就好像豆瓣书评一样),而且给出对某个用户的预测“星数”。而预测准确度就是能够度量系统中预测“星”数与用户实际给出的“星”数的差别。打分区间为[0,10]

对用户A的预测
 电影1电影2电影3电影4
系统预测打分10479
用户实际打分8576

 

平均绝对误差MAE:

image

平均平方误差MSE:

image

标准平均绝对误差(做标准化):

image

 

 预测准确度
优点平均绝对误差MAE:
    1.计算方法简单,易于理解;
    2.每个系统的平均绝对误差唯一,从而能够区分两个系统平均绝对误差的差异
缺点不适合二元选择信息,如喜欢或不喜欢
不适合那些只在意推荐列表前端的预测误差,而对系统的整体误差并不是很在意的系统
在用户偏差的程度比较小时也不适用,因为用户只关心把好产品错归为坏产品 ,或者把坏产品错归为好产品的比例。例如 ,
以 3.5个星为界区分好坏 ,那么把4预测成了5,或者把3预测成了2都对用户没有影响。

 

2.分类准确度

分类准确度定义为推荐算法对一个产品用户是否喜欢判定正确的比例。因此 ,当用户只有二元选择时 ,用分类准确度进行评价较为合适。

准确率和召回率:

        准确率定义为系统的推荐列表中用户喜欢的产品和所有被推荐产品的比率:,准确率表示用户对一个被推荐产品感兴趣的可能性

image

        召回率定义为推荐列表中用户喜欢的产品与系统中用户喜欢的所有产品的比率,召回率表示一个用户喜欢的产品被推荐的概率。

image

image 

P=4/9        R=4/11

利用准确率和召回率对推荐系统进行评价的最大问题在于它们必须要一起使用才能全面评价算法的好坏。

为了同时考察准确率和召回率 , Pazzan iM 等把二者综合考虑提出了 F指标F指标定义为

image

image

另外一个度量系统分类准确度的重要指标就是受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线)。

例子详见百度百科。http://baike.baidu.com/view/42249.htm?fr=aladdin#2

3.排序准确度

排序准确度用于度量推荐算法产生的列表符合用户对产品排序的程度。

用平均排序分 ( average ranking score)度量推荐系统的排序准确度 ,具体定义如下:

image

其中, N 为训练集中用户未选择的产品个数, Li 为预测集中待预测产品 i在推荐列表中的位置。

4.预测打分关联

预测打分关联分析系统的打分排序与用户实际的打分排序之间的关联关系 ,常常用于刻画推荐系统的准确度。与预测准确度不同的地方在于 ,预测打分关联不考虑预测打分与用户打分各单项的偏差 ,而是考虑两者之间整体的相关程度

推荐系统中, 3个常用的相关性描述有Pearson关联、Spearman 关联和Kenda ll′s Tau。

 预测打分关联
优点可以比较多通道打分系统的排名 ,计算简单且对全部系统只返回一个值。
缺点

Kendall′s Tau的缺点是给每个等距离交换赋予相等的权重。因此 ,在推荐列表中排名第 1与第 2的差别和排名 1 000与 1 001的差别一样。而实际上 ,用户可能只关心排名前 10的产品 ,而永远不会检查排在 1 000的产品。因此 ,排名 1与 2之间的差别对用户的影响更大。Spea rm an相关对“弱排序 ”解决得并不好。所谓弱排序指的是至少两个产品的打分是一样的 ,反之 ,每个产品打分都不同的排序叫做完全排序。由于系统会把得分相同的产品排在不同的位置 , Spearm an对不同的排序的反馈值不一样。但是这并不合理 ,因为用户并不关心他打分相同的产品是如何排序的。Kendall′s Tau也有类似的问题。

 

5.距离标准化指标——NDPM

在推荐系统中 , NDPM 的核心思想为:对比系统预测打分排名与用户实际排名的偏好关,对基于偏好关系的度量进行标准化,具体定义如下:

image

其中, c-为系统排序与用户排序相冲突的个数,例如,系统认为用户喜欢 1超过 2,而用户却说正好相反; cu 为相容的个数; ci为用户排序中有偏好关系的产品总数。ND PM 与 Spea rm an系数和 Kendall′s Tau相似 ,但是NDPM 的结果更精确。Balabanovc M和 Shoham  Y将 ND PM指标用于评价 FAB系统的准确度,取得了非常好的效果。

6.半衰期效用指标

推荐系统为用户呈现一个排序的产品列表 ,但多数用户并不愿意深入浏览这个列表。在 Internet网页推荐系统中 ,设计者声称绝大多数的 Inte rnet用户不会深入浏览搜索引擎返回的结果 ,而且用户愿意浏览推荐列表的函数呈指数衰减 ,这里将衰减强度描述为一个半衰参数。

系统的半衰期由所有用户
半衰期的平均值得到。为了得到一个高的半衰期效用值 ,系统必须把用户打分高的产品赋予高的打分值。缺点是如果实际的效用函数不是指数衰减的 ,那么系统的半衰期效用与用户的实际感受差别就会很大。例如 ,如果用户常常在推荐列表前 20个产品中搜索 ,那么效用函数只应该对前 20个产品赋值 ,而后的都应设为 0。

 

半衰期效用指标
缺点

1) 系统中的弱排序使得即使对同一个系统排序 ,其结果也不同;

2) 因为max函数的缘故 ,所有打分小于默认值的产品的作用相同。


  • 准确度之外的评价指标

1.推荐列表的流行性和多样性

利用平均海明距离度量推荐系统中推荐列表的多样性。

2.覆盖率

覆盖率定义为可以预测打分的产品占所有产品的比例。在推荐系统中 ,覆盖率尤其重要 ,因为只有覆盖率高才有可能尽可能多地找到用户感兴趣的产品。覆盖率最简单的计算方法就是随机地选取若干用户 - 产品对 ,对每一个用户 - 产品对都做一次预测 ,衡量一下可预测的产品占所有产品的比例。正如准确率和召回率必须同时使用一样 ,覆盖率必须结合准确率进行使用 ,因为推荐系统不能仅仅为了提高覆盖率而给出一个差的准确率。

3.新鲜性和意外性

一些推荐系统具有非常高的准确率和相对合理的覆盖率 ,但是仅仅有这些 ,系统可能还是对用户没有任何帮助。例如 ,如果某购物推荐系统向没有购买牛奶的用户推荐牛奶 ,在统计上 ,这或许非常准确:每个人都可能购买牛奶。然而 ,人们都很熟悉牛奶 ,即使系统不推荐 ,用户也会知道是否需要购买。因此 ,最佳的方案是向用户推荐他们从未购买过 ,但是感兴趣的产品。音乐或电影推荐系统也是如此 ,给用户推荐流行的产品 ,无疑会提高系统的准确率 ,但是用户不会从系统中得到任何新的信息。

4.用户的满意度

用户对推荐系统的满意度不仅仅取决于系统的准确度 ,而是更多地取决于系统在多大程度上可以帮助用户完成任务。因此 ,如果想要度量用户对一个推荐系统的评价 ,首先这个系统必须对自身的任务有一个清晰的定义 ,进而 ,针对特定的任务选择适当的指标对推荐算法进行评价。


  • 小结

可以从以下方面继续进行深入研究:

1) 用户对算法准确度的敏感度。

2) 算法对不同领域的普适性。

        不同的推荐算法在不同的数据集上的表现不同。对于某个推荐算法 ,在什么类型的数据上可以发挥最好的效果。

3) 广义的质量评价。

   大部分评价指标只重视准确度 ,忽略了覆盖率 ,新鲜性系统发现新鲜产品的能力以及用户的满意度等特性。因为用户总是同时从多个方面综合评价实际系统 ,因此准确度高的算法在实际应用中表现却不一定好。是否能把这些指标进行结合 ,提出一个综合性评价指标 ,这样系统设计者就可以模仿用户直接对系统进行评价。

4) 个人隐私的保护。

    推荐系统的本质是利用用户现有的选择信息或者配置文件 ,发掘用户的兴趣、爱好。用户如果希望得到推荐系统的帮助 ,必须共享一些个人的隐私数据。对系统来说 ,不仅需要有效保护用户的个人隐私 ,而且需要在尽可能少利用用户隐私数据的情况下做出准确、合理的推荐。反过来 ,用户只有在确认系统可以有效保护个人的隐私数据的情况下 ,才愿意使用推荐系统。因此 ,未来的准确度指标应该结合个人隐私数据保护的水平进行使用。

5) 推荐系统的鲁棒性研究。

    推荐系统在实际投入应用后 ,有些恶意用户希望用自己的选择信息破坏系统中正常的用户 - 产品二元关系。以期降低系统的准确度 ,改变系统提供给正常用户的推荐列表 ,从而达到破坏系统本身或抬高某些产品被推荐程度的目的。随着推荐系统的日益广泛使用 ,系统鲁棒性的研究日益重要。只有经得起这种恶意攻击考验的系统才具有持久的生命力。

相关文章:

  • jquery初学之基础回顾
  • GdiPlus[43]: IGPGraphics (二) 关于文本绘制
  • java 非法字符过滤 , 半角/全角替换
  • char *p = abcdefg; p[0] = p[1]出错
  • CentOS项目实例之七--FTP配置
  • ssl https服务 需要 php5.3以上
  • Python-工具安装
  • SQL Server 主动防止阻塞的 1 方法
  • 烂泥:Windows下安装与配置Nginx web服务器
  • Asp.Net+Extjs实现登录
  • 文通移动文字识别采集终端(身份证识别,驾驶证识别,行驶证识别,护照识别,车牌识别)...
  • isFinite()
  • 线性判别分析LDA详解
  • Oracle RAC的日志体系
  • C# Distinct方法的使用笔记
  • CEF与代理
  • Docker容器管理
  • ECS应用管理最佳实践
  • HashMap剖析之内部结构
  • IDEA常用插件整理
  • Java|序列化异常StreamCorruptedException的解决方法
  • vue2.0项目引入element-ui
  • Web Storage相关
  • 百度地图API标注+时间轴组件
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 后端_MYSQL
  • 基于组件的设计工作流与界面抽象
  • 我的zsh配置, 2019最新方案
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #include到底该写在哪
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (三)模仿学习-Action数据的模仿
  • (十一)手动添加用户和文件的特殊权限
  • (实战篇)如何缓存数据
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)jQuery 基础
  • .NET 8.0 发布到 IIS
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .net项目IIS、VS 附加进程调试
  • ??javascript里的变量问题
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • @KafkaListener注解详解(一)| 常用参数详解
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • []C/C++读取串口接收到的数据程序
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [C#C++]类CLASS
  • [C#小技巧]如何捕捉上升沿和下降沿