“好的推荐系统不仅仅能够准确预测用户的行为,而且能够扩展用户的视野,帮助用户 发现那些他们可能会感兴趣,但却不那么容易发现的东西。同时,推荐系统还要能够帮助商家将 那些被埋没在长尾中的好商品介绍给可能会对它们感兴趣的用户。”项亮在其《推荐系统实践》一书中如是说。
然而,明白一个好的推荐系统长什么样子还远远不够,有一套能与之对应的测评方法和指标才是关键!于是,小编在借鉴项亮论述的基础上,特此整理了相关的测评方法及测评指标,以供大家学习和借鉴。
三种推荐系统实验方法
1、离线实验(offline experiment)
实施步骤:
(1)将从日志系统收集来的用户行为数据,生成为一个标准的数据集;
(2)按照一定的规则,将数据集分成训练集和测试集两个部分;
(3)在训练集上训练用户兴趣模型,在测试集上进行测试;
(4)利用定义好的离线指标评测算法,在测试集上进行结果预测。
优点:所有实验在数据集(从系统日志中提取而来)上完成,对实际系统和用户参与依赖度低,方便快捷;
缺点:对商业上关注的指标获取能力弱;
2、用户调查(user study)
用户调查,是一种通过分析被调查用户(真实的用户),在被测推荐系统上完成任务时的行为和回答问题的情况,来了解测试系统性能的一种实验方法。它旨在为上线测试提供准备工作,以防范上线测试所潜在的降低用户满意度的问题。
优点:在离线测试解决不了的“用户主观感受相关指标”的获取上,有着优越的性能;风险易控。
缺点:实验成本高,难组织大规模测试;双盲实验设计困难,影响测评结果。
3、在线实验(online experiment)
这里的在线实验方法,偏指AB测试方法。
实施步骤:
(1)通过一定规则将用户随机分组;
(2)对不同组的用户采用不同算法;
(3)统计不同组用户的不同评测指标,以比较不同的算法。
优点:公平获得不同算法实际在线的性能指标,包括商业上关注的指标。
缺点:试验周期较长;设计AB测试系统的工程量大,且流量切分设计一般必不可少。
十个推荐系统测评指标
1、 用户满意度
“用户满意度”测评指标,适用的实验方法为用户调查法与在线测试法。
用户调查法设计要点:将用户对被测推荐系统的满意程度分为多个层次,并照顾到用户各方面感受,为用户给出准确答案创造环境。
在线测试法设计要点:根据不同情境,区别“购买率”“用户反馈按钮统计”“用点击率”“停留时间”“转化率”等统计指标的设计,以度量用户满意度。
2、 预测准确度
预测准确度,是一个最重要、也存在时间最长的,度量推荐系统或者推荐算法预测用户行为能力的,在线测试指标,并严格遵循离线测试实验的实施方法。
根据研究方向不同,预测准确度可细分为“ 评分预测 ”“ TopN推荐 ”两类实现方式,且后者更符合实际应用需求。
3、 覆盖率
覆盖率,一种衡量推荐结果多大程度覆盖全部商品的度量指标,对于长尾发掘具有重要的意义。
常用度量方法有三种:
(1)计算所有被推荐商品占商品总数的比重
(2)信息熵
(3)基尼系数
4、 多样性
多样性,即推荐算法在兼顾用户长期稳定兴趣的同时,覆盖某一刻用户不同兴趣的能力,描述了推荐列表中物品两两之间的不相似性。
一个好的推荐系统,要求能同时兼顾多样性的要求,以及用户的主要兴趣。比如,爱看文艺片的我,你也识别我个别时候想看鬼故事的冲动。
5、 新颖性
新颖性,推荐用户没听说过的物品的能力。
在网站中实现新颖性的最简单办法是,把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。
6、 惊喜度
惊喜度,新颖推荐得到用户好评的测评指标。它基于新颖性,却高于新颖性。
惊喜度,通过定义推荐结果和用户历史偏好的相似度,及其用户对推荐结果的满意度得以实现。
7、 信任度
信任度,基于信任关系而使相同推荐结果获得不同反应的测评指标。比如,好友推荐比广告推荐更值得信赖。
度量系统的信任度,只能通过问卷调查的方式得以实现;提高系统的信任度,则可以通过增加推荐系统的透明度,以及利用用户社交网络中的好友信息构建推荐得以实现。
8、 实时性
时效性,度量在规定时间内将时效性强的物品及时推荐给用户的评测指标。
9、 健壮性
健壮性,度量推荐系统抗攻击能力的评测指标。
10、 商业目标
商业目标,度量推荐系统服务商业盈利目标的能力的评测指标。