推荐系统评测
一个网站3各参与方,用户、网站、内容提供方,好的推荐系统目标就在增加用户与网站互动,提高网站收入(这是公司最关注的),所以在推荐系统中需要综合考虑三方的利益。
在进行推荐时要注重用户体验并且也要考虑相关商家的利益,最终能使得网站收入提升。
在推荐系统早期,预测准确度是推荐系统的重要指标,这个指标的好处就是比较容易通过离线计算来得到,这样方便对不同推荐算法的研究。
准确预测并不代表好的推荐,比如用户已经打算买某个item ,无论系统是否给他推荐,他都准备买,对于用户来说他觉得推荐不够新颖,对于服务提供商来说没有增加潜在消费者中的销量,从实际效果来说这是一个比较失败的推荐。为了全面评测三方利益,从不同角度提出了很多评价指标。
推荐系统中实验方法
1. 离线实验
离线实验步骤比较简单,通过日志数据获取用户的行为数据,并按照一定格式来生成数据集;将数据集按照一定规则切分成训练集与测试集;在训练集上训练模型,在测试集上进行验证,通过指定的评价指标进行算法效果的评估。
这个方法的主要缺点就是:无法获取商业上关注的指标,如点击率,PV,VU,转化率等。但是优点也是非常明显的:不需要实际系统中控制权、不需要真实线上用户的参与、速度快可以进行大量算法的测试工作。
2. 用户调查
如果需要准确评价一个算法需要上线测试,但是如果对算法不是很有把握的时候,上线测试有比较大的风险,所以上线前一般做一次用户调查测试。该方法最大优点就是获得用户主观感受的指标,相对在线测试风险低,缺点就是需要大量用户,而且用户选择等都有时很难模拟真实用户网站状态。
3. 在线实验
网站进行A/B test,该方法通过一定规则把用户随机分成几组,并对不同组用户采用不同的算法,通过统计不同组用户各种评价指标来比较不同的算法。该方法的优势就是可以公平获得不同算法实际线上的性能指标,包括商业上关注的指标。缺点就是周期比较长,必须长期实验才能得到可靠结果,该方法只会测试在离线实验和用户调查中表现优秀的算法。此外在实际系统中,大型网站的A/B 测试是个复杂系统工程。大型网站通常是前端与后端,中间经过了很多层,这些层由不同团队控制,而且可能都进行A/B 测试,所以需要搞清楚差异究竟是前端页面改进还是后端算法改进造成了,这其中就涉及到流量管控等问题。
评价指标
1. 用户满意度
用户满意度是推荐系统最重要指标。用户满意度在在线系统主要通过用户行为数据统计得来的,如果用户购买了推荐的商品就表示一定程度的满意,此外还有网站选择打分或者赞作为用户是否满意的途径。
2. 预测准确度
这个指标是非常多论文中用到的指标,一般使用均方误差RMSE和平均绝对误差MAE计算。
TopN推荐 的预测准确率通过准确率与召回率进行度量,TopN推荐更符合实际应用需求,预测用户是否会看某个电影应该比预测用户看了电影打多少分重要。
3. 覆盖率
覆盖率描述推荐系统中长尾发掘能力。最简单定义就是推荐系统能够推荐出来的item 占总的item的比例。信息论和经济学中有两个指标定义覆盖率,第一个就是熵第二个就是基尼系数。社会学中有一个著名的马太效应,即所谓强者更强,弱者更弱,如首页排行榜的商品就有马太效应,这也是为什么当年聚划算进行人工挑选商品时,商家行贿小二的原因,只要上了聚划算首页流量和销量将是巨大的。
4. 多样性
因为用户是一个多维的兴趣,推荐时需要能够覆盖用户不同兴趣领域。以前类似淘宝进行推荐就是一旦你买过某个商品,后面一直给你推那个商品非常相似的商品,这其实就是没有充分考虑到用户多样的兴趣维度。
5. 新颖性
新颖性推荐指的给用户推荐他们以前没有听过的物品
6. 其他指标
惊喜度、信任度、实时性、健壮性
用户行为数据
分为两类:显性反馈、隐性反馈
显性反馈只点赞、打分等,隐性反馈最有代表的就是页面浏览行为。
在互联网数据分布中最大的特点就是长尾效应,如淘宝中 商品点击看A又看B 小于10次pair 很多,协同过滤覆盖商品有限,大体只有10%,剩下90% 则需要通过模型预测共点击。
看了又看商品描述是相似商品,看了又买描述是搭配商品。