推荐系统的评测方法及指标

标签: 机器学习 推荐系统 | 发表时间:2014-07-04 17:20 | 作者:smallroof
出处:http://www.52ml.net

首先声明,以下内容是看了项亮的《推荐系统实践》后 写的,内容基本出自该书,只是我自己再归纳总结一下而已(以免喷子又喷)

 

推荐系统中,主要有三种评测推荐效果的实验方法:

1)离线实验。 往往是从日志系统中取得用户的行为数据,然后将数据集分成训练数据和测试数据,比如80%的训练数据和20%的测试数据(还可以交叉验证),然后在训练数 据集上训练用户的兴趣模型,在测试集上进行测试。 优点:只需要一个数据集即可,不需要实际的推荐系统(实际的也不可能直接拿来测试),离线计算,不需要人为干预,能方便快捷的测试大量不同的算法。缺点是 无法获得很多实际推荐系统的指标,比如点击率,比如转化率(谁让没有人为干预呢。。)

 

2)用户调查。 离线实验往往测的最多的就是准确率,但是准确率不等于满意度,所以在算法上线之前,需要用户调查一下,测试一下用户满意度。

 

3)AB测试,通过一定的规则把用户随机分成几组,并对不同组的用户采用不同的推荐算法,这样的话能够比较公平的获得不同算法在实际在线时的一些性能指标。但是缺点是周期比较长,需要长期的实验才能得到可靠的结果。

 

如何判断一个推荐系统好不好,主要的测量指标如下:

1)用户满意度。这是最最关键的指标,推荐系统推荐物品干嘛,就是希望推荐出来的物品能让用户满意。可以有两种方法,一是用户问卷调查,二是在线评 测满意度,比如豆瓣的推荐物品旁边都有满意和不满意的按钮,亚马逊这种可以计算推荐的物品有没有被用户购买等等,一般用点击率,用户停留时间,转化率等指 标来度量。

 

2)预测准确度。如果是类似电影评分机制,则一般计算均方根误差(误差平方和取均值)和平均绝对误差(误差绝对值和取平均)。如果是topN推荐的 话,则主要计算召回率和准确率。准确率就是指我推荐的n个物品中有多少个是对的,其所占的比重。 召回率则是指正确结果中有多少比率的物品出现在了推荐结果中。两者的不同就是前者已推荐结果个数当除数,后者已正确结果个数当除数。

 

3)覆盖率。 就是指推荐出来的结果能不能很好的覆盖所有的商品,是不是所有的商品都有被推荐的机会。最简单的方法就是计算所有被推荐的商品占物品总数的比重,当然这个比较粗糙,更精确一点的可以信息熵和基尼系数来度量。

 

4)多样性。推荐结果中要体现多样性,比如我看电影,我既喜欢看格斗类的电影,同时又喜欢爱装文艺,那么给我的推荐列表中就应该这两个类型的电影都 有,而且得根据我爱好比例来推荐,比如我平时80%是看格斗类的,20%是看文艺类的,那么推荐结果中最好也是这个比例。可以根据物品间的相似度来计算, 一个推荐列表中如果所有物品间的相似度都比较高,那么往往说明都是同一类物品,缺乏多样性。

 

5)新颖性。不能说系统推荐的物品其实我都知道,那这样推荐系统就完全失去了存在的意义,一般都希望推荐一些用户不知道的商品或者没看过没买过的商 品。方法一是取出已经看到过买过的商品,但这还不够,一般会计算推荐商品的平均流行度,因为通常越不热门的物品越会让用户觉得新颖。比如我爱周星驰,那么 推荐《临岐》就很有新颖性,因为大家都不知道这是周星驰出演的

 

6)惊喜度。 这个和新颖度还是有区别的,惊喜度是讲我直觉想不出来为什么会给我推荐这物品,比如电影,但是我看了之后觉得很符合我的胃口,这就是惊喜度。像上面一个例 子,只要我知道是周星驰演的,那可能就没什么惊喜度,因为我知道是因为演员才给我推荐的这部电影。 注:新颖性和惊喜度暂时没有什么可以度量的标准

 

7)信任度。如果用户信任推荐系统,那么往往会增加与推荐系统的互动,从而获得更好的个性化推荐。增加信任的方法往往是提供推荐解释,即为什么推荐 这个商品,做到有理有据。也可以通过类似facebook间的好友关系来增加信任度,一般相比于陌生人的推荐,总会选择好友给的推荐。

 

8)实时性。新闻等一些物品具有很强的实时性,一般得在具有有效性的时候进行推荐,必须考虑推荐系统处理物品冷启动的能力。

 

9)健壮性。要能防止被攻击,例如有些商家为了提高自己的排名,注册很多假的帐号,给与自己的商品高分这样类似的情况,要能防止。

 

10)商业目标。 一般推荐系统都是为了更好的盈利。。。。。当然这个比较难测。。。

 

原文: http://blog.csdn.net/wangyuquanliuli/article/details/36684817

相关 [推荐系统 方法 指标] 推荐:

推荐系统的评测方法及指标

- - 我爱机器学习
首先声明,以下内容是看了项亮的《推荐系统实践》后 写的,内容基本出自该书,只是我自己再归纳总结一下而已(以免喷子又喷). 推荐系统中,主要有三种评测推荐效果的实验方法:. 往往是从日志系统中取得用户的行为数据,然后将数据集分成训练数据和测试数据,比如80%的训练数据和20%的测试数据(还可以交叉验证),然后在训练数 据集上训练用户的兴趣模型,在测试集上进行测试.

从先进走向普遍的广告和推荐系统方法之一: 在线学习 | AlgorithmDog

- -
      广告和推荐系统作为机器学习领域的“摇钱树”,一直受到广泛的关注. 在这 5 年,或者说 10 年的维度上,广告和推荐系统发生了改头换面的变化. 传统的方法已经远去,一时先进的新兴的方法广泛走向千家万户. 今天介绍的在线学习,就已经从先进走向了千家万户.       广告和推荐系统的 CTR 预估模型有三种部署形态: 离线预测,在线预测和在线学习,其中在线学习是近几年迅速推广的架构.

Min-Hash和推荐系统

- - xlvector - Recommender System
前几年看Google News Recommendation的那篇Paper,对里面提到的MinHash的算法基本没有注意,因为之前的习惯都是只注意论文的模型那块,至于怎么优化模型一般都只是扫一眼. 不过最近看了大量的Google Paper,发现Google在实现一个算法方面确实有很多独到之处. 其实,Min-Hash是LSH(Locality Sensitive Hash)的一种,我之前对LSH的了解仅仅限于知道它能把两个相似的东西Hash成两个汉明距离接近的2进制数.

推荐系统实战

- - 博客园_首页
推荐算法:基于特征的推荐算法. 推荐算法准确度度量公式:. 其中,R(u)表示对用户推荐的N个物品,T(u)表示用户u在测试集上喜欢的物品集合. 集合相似度度量公式(N维向量的距离度量公式):. 其中,N(u)表示用户u有过正反馈的物品集合. 其中,S(u,k)表示和用户u兴趣最接近的K个用户集合;N(i)表示对物品i有过正反馈的用户集合;w(u,v)表示用户u和用户v的兴趣相似度;r(v,i)表示用户v对物品i的兴趣.

推荐系统杂谈

- - 后端技术杂谈 | 飒然Hang
推荐系统是近些年非常火的技术,不管是电商类软件还是新闻类app,都号称有精准的推荐系统能给你推送你最感兴趣的内容. 现象级的资讯类app“今日头条”就得益于此成为了势头非常猛的一款产品. 本文就针对推荐系统讲述一些相关概念和实践经验. 首先需要明确的就是推荐系统的目标,一般来说不外乎以下几个:. 用户满意性:首当其冲的,推荐系统主要就是为了满足用户的需求,因此准确率是评判一个推荐系统好坏的最关键指标.

个性化推荐系统综述

- Tony - 所有文章 - UCD大社区
上个月写过一篇产品推荐的文章,详情请见《我所了解的产品推荐》,内容很泛,多为工作心得. 本周读了几篇相关的论文,收获颇多,分享点干货. 以下内容摘自《个性化推荐系统的研究进展》,该文发表于2009年1月的《自然科学进展》专题评述,作者是刘建国、周涛、汪秉宏. 我略去了具体的算法和许多公式,重点看原理、思路和比较.

推荐系统开源工具 – SVDFeature

- Roger - Resys China
SVDFeature是我们(上海交大Apex实验室)在参加KDDCUP 2011期间开发的. 通过这个工具,我们和港科大(HKUST)的联合小组InnerPeace在KDDCUP 2011中获得Track 1第三名,并创造单模型最好成绩. 在此分享给大家,并希望和大家有更多的交流. (1)基于feature的可扩展性 —— SVDFeature实现了我们的基础模型feature-based matrix factorization.

Reculike : 开源论文推荐系统

- votis - Resys China
今天这篇博文主要总结一下reculike的系统架构. 两周前我们宣布发布了reculike的alpha版. 本着分享的原则,今天在这儿介绍一下我们的各个模块的设计方法. 我们这个项目一开始叫paperlens,这是因为我们想学习业界的前辈movielens,开发一个源代码和数据都开源的系统. 关于数据的开源,我想当用户数达到一定程度后,每个月会dump一次我们所有的数据库(密码等隐私信息除外),放到网络上供大家下载.

推荐系统那些事儿1

- - 冰火岛
知识库:用户知识库,Item知识库,用户评分数据(显性和隐性)等.不同的业务背景不一样,譬如电商,社交网络,视频,app应用等. 协同过滤引擎:根据用户评分数据集,通过collaborative filtering方法,计算用户喜欢的top N item. 数据格式: userid, itemid,score.

下一代个性化推荐系统

- - 技术改变世界 创新驱动中国 - 《程序员》官网
本文结合技术及社会需求发展的大背景,讲述了当前推荐系统的价值及所面临的挑战,并指出了下一代个性化推荐系统的设计思路及需要注意的问题. 作为个性化推荐系统核心的协同过滤(Collabora-tive Filtering)算法,是Goldberg等人在1992年的一篇学术论文中最早提出的. 他们在这篇文章中提出一种方法,在一个新闻组中,根据 用户下载的新闻计算他们之间在口味上的相似程度,并利用这种相似程度为他们进一步推荐相关的新闻.