开发者学堂课程【高校精品课-北京大学 -推荐系统 :Lec6 推荐系统评测】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/122/detail/15732
Lec6 推荐系统评测
内容介绍:
一、评测视角
二、实验方法
一、评测视角
1、针对同一问题,不同推荐算法可能会生成不同的推荐列表,例如示例,当推荐内容时得到的是蓝色项目节点,当采用项目协同过滤,得到的是黄色的项目节点,不同方法得到的推荐结果不一样。
2、这些推荐结果是否合理?哪个更好?
需要设计一套推荐方法。
3、从不同参与方的角度,需构建不同的评测方法和评价指标,用户的角度、商家或平台的角度、算法研究员的角度等。
4、用户
好的推荐系统应该能降低其信息获取的交互成本,解决信息超载问题,应该优先从“长尾”区域选择项目进行推荐,推荐用户可能真正喜欢的项目,不仅仅推荐用户头部热门的项目,用户熟知的项目。
5、商家或平台
好的推荐系统应能增加“用户点击率”、“用户转化率”、“平台活跃度”等,能够为商家或平台带来收益或利润。
6、算法研究员
好的推荐系统应该能够准确预测用户对项目的偏好程度,并且在某些指标上表现得比现有的系统更好。
二、实验方法
再投入使用之前要对它进行实验验证。
1、在线实验
通过大量真实用户进行实验,采用 CTR、销售增长率等指标进行评估。
(1)A/B测试( A/B Tests) :
一种典型的在线实验方法,本质是分离式组间实验,也叫对照实验,关键在于对用户进行分组。将具有相同特征的用户按照一定的比例均匀分配到各实验组,以避免出现数据偏差。
(2)优缺点:
保证所有算法所处环境的一致性: 实验结果客观、准确,成本高、 风险大,容易导致用户流失。一旦算法获得系统的推荐,效果较差导致用户的体验差,进而会导致用户的流失,给平台商家造成巨大损失。
2、用户调查
通过少量试用用户进行实验,采用用户满意度等指标进行评估。
(1)基本思想:
不再找大量用户,而是通过寻找少量的真实用户或领域专家,对系统进行试用,观测并记录用户的行为以及他们对系统满意度的反馈(问卷调查),分析试用用户的行为和反馈来了解被测系统的性能。
(2)优缺点:
不会因体验较差而导致真实用户流失,能够了解真实用户对系统的评价,得出对系统较为全面合理的评价,虽然能在一定程度下降低成本,但是仍然需要花费时间成本,对真是用户测试费用。时间周期相对较长,需要邀请用户、用户试用、用户反馈、反馈分析。
3、离线实验
基于历史数据进行实验,采用准确率、召回率等指标进行评估。
(1)假设:
收集到的用户历史行为与系统部署后的用户行为相似。
(2)基本思想:
通过用户的历史行为数据来模拟用户与系统的交互行为,进而对算法或者系统进行测试。
通常会将收到历史数据集一分为二,训练集用来对系统进行训练及学习模型参数,测试集主要对算法进行性能的测试和评估,如果模型中有需要调优,通常会将训练集再进行细分,验证集主要作用进行超长调优。
(3)优点:
不需要真实用户的参与,成本低、速度快,过滤大量不合适算法,为成本高的用户调查和在线实验提供较小的算法候选集。可以看出在实例中三种实验方法会配合使用。