2014-11-24 144 views
3

新推荐系统必须具备什么样的推荐质量才能具有竞争力?现代推荐引擎有多好?

通过“推荐质量”我的意思是以下。比方说,推荐系统提供了用户X项目。之后我问他,他或她真的喜欢多少人(可能会购买),结果表明他喜欢他们中的Y.建议质量为Y/X(最佳可能值为1,这意味着用户喜欢所有推荐的项目)。

什么质量的建议做

  1. 平均
  2. 最好

推荐系统拥有约?

更新1:Here(第64页)作者写道,2007年Netflix奖最高的2个算法分别实现了0.8914和0.8990的RMSE。

RMSE的定义可以在第63页找到,但我没有明白它的含义。

+0

不像你认为的二进制,netflix竞争中的预测分数是1,2,3,4,5(netfix中使用的五星评级)。那么使用RMSE作为评估指标是有意义的。 – greeness 2014-11-24 14:38:40

+0

@greeness有没有办法以可访问(非数学)的方式来解释这些指标?这是什么意思,如果算法的RMSE为0?这是什么意思,如果RMSE为1? – 2014-11-24 14:51:05

+1

RMSE = 0意味着每个预测分数都是黄金的精确匹配。假设您有三部电影,其得分分别为r1 = 2,r2 = 3,r3 = 5。如果你的预测正好是p1 = 2,p2 = 3,p3 = 5('r'为黄金评级,'p'为预测),你得到的RMSE评分为0.然而,如果你的预测是p1 = 1,p2 = 4,p3 = 4,则得到总平方误差1^2 + 1^2 + 1^2 = 3,RMSE = sqrt(3/3)= 1。所以如果平均而言,每个评级都偏离黄金级1,你得到1的RMSE误差。 – greeness 2014-11-24 14:57:28

回答

2

你实际上在问一个很有意思的问题。学术界对于a)甚至意味着什么是“良好”的建议,以及b)用于预测准确度的指标以及其他评估措施,仍存在热烈的争论。

你问:

不平均,最好的推荐系统有什么质量推荐的约?

答案是 - 它取决于很多不同的事情。简而言之,推荐系统通常没有真正的“平均”或“最佳”,但您可以找到特定推荐系统的基准 - 例如电影推荐系统。

为了帮助给你多一点背景:

均方根误差作为预测精度的测量。即给定一套物品(面包,牛奶,咖啡,橙汁),系统能够如何预测我对这些物品的评分,或者它能够预测我将如何购买这些物品。

当您有一组用户对一组项目的预测评分时,您可以使用RMSE,并且您也对这些项目有实际评分。您通常会在真实数据集的“离线”实验中使用RMSE。在这个过程中,你会“隐藏”一些真实的评级,看看系统是否可以预测隐藏的评级。 RMSE的“错误”部分是预测评级与实际评级之间的差异。然后每个错误先被平方,然后这个用户的项目集合中这些错误的平均值取平均值部分,然后取平方根(名称的根部分)。由于RMSE首先对误差进行平方,与其他准确度度量(如平均绝对误差(MAE))相比,它会不成比例地惩罚较大的误差。

作出一个很好的建议,而不仅仅是做出准确的预测。这就是为什么没有标准/平均数字。有一系列不同的指标可用于准确性,然后准确性只是衡量推荐系统效率的一小部分,而其他部分都有多个指标可供使用!这也取决于你推荐的物品。推荐某人与某人约会,与推荐在线购买什么食物几乎没有什么相同之处。我已经看到0.8+ RMSE的电影推荐者得分和0.2+ RMSE推荐工作的得分。

我建议你阅读下面的文件,如果你想获得更好的(没有数学)欣赏到评估推荐系统的复杂性:

Herlocker,Konstan,Terveen,Diedl - “评估协同过滤推荐系统” (2004) - 是一篇很好的论文,开始欣赏可用于评估RS性能的不同方法。

另一个好纸麦克尼,里德尔和Konstan - “精度不总是好的:如何准确度量有伤害推荐系统”(2006年)

1

对于一个好的,快速,彻底定制的推荐引擎,我可能会建议http://www.sajari.com。它提供了根据地区,流行度,数据相似性,新近程度和更多因素推荐来自给定数据集的建议结果的能力 - 从本质上定制您自己的推荐引擎。一个好的推荐系统至少需要这些东西具有竞争力,海事组织,最重要的是它不是一个黑匣子,你可以控制输出。