推荐系统评测
一个完整的推荐系统包括三个参与方:
用户
网站(平台,负责搭载推荐系统)
内容提供方
在评测一个推荐系统时,需要考虑上述三方的利益,一个好的推荐系统是能够令三方共赢的系统。
推荐系统实验方法
离线实验
1.通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集;
2.将数据集按照一定的规则分为训练集合测试集;
3.在训练集上训练用户兴趣模型,在测试集上进行预测;
4.通过事先定义的离线指标评测算法在测试集上的预测结果;
用户调查
用户调查需要有一些真实用户,让他们在需要测试的推荐系统上完成一些任务,我们需要记录他们的行为,并让他们回答一些问题,最后进行分析;
在线测试
AB测试
推荐系统评测指标
评测指标用于评测推荐系统的性能,有些可以定量计算,如预测准确度、覆盖率、多样性、实时性;有些只能定性描述,如用户满意度、新颖性、惊喜度、信任度、健壮性和商业目标。
下面着重讲解一下预测准确度评测
预测准确度是度量一个推荐系统或其中推荐算法预测用户行为的能力。 是推荐系统最重要的离线评测指标。大致可从“评分预测”和“Top-N推荐”两个方面进行评测。
评分预测:
很多网站都有让用户给物品打分的功能,如果知道用户对物品的历史评分,就可以从中学习一个兴趣模型,从而预测用户对新物品的评分
评分预测的准确度一般用均方根误差(RMSE)或平均绝对误差(MAE)计算
TOP-N推荐
网站提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做TOP-N推荐
TOP-N推荐的预测准确率一般用精确率(precision)和召回率(recall)来度量
准确率、精确率和召回率
假如某个班级有男生80人,女生20人,共计100人,目标是找出所有女生。现在某人挑出50个人,其中20人是女生,另外还错误的把30个男生也当做女生挑选出来了。那么怎样评估他的工作?
将挑选结果用矩阵示意表来表示:定义TP,FN,FP,TN四种分类情况
通常以关注的类为正类,其他为负类,按照分类器在测试集上预测的正确与否,会有四种情况出现,他们的总数分别记作:
-TP :将正类预测为正类的数目
-FN :将正类预测为负类的数目
-FP :将负类预测为正类的数目
-TN :将负类预测为负类的数目
相关(Relevant),正类 | 无关(NonRelevant),负类 | |
---|---|---|
被检索到 | TP:选出的人中,其中20人是女生 | FP:错误的把30人当女生选出 |
未被检索到 | FN:为选出的人中,0人是女生 | TN:未选出的人中,有50人非女生 |
准确率(accuracy):正确分类的item数与总数之比
A =(TP+TN)/(TP+TN+FP+FN)=(20+50)/100 =0.7
精确率(preciSion):所有被检索的item中,"应该被检索到"的item占的比例
P =TP/(TP+FP)=20/(20+30) =0.4
召回率(recall):所有检索到的item占所有"应该被检索到"的item的比例
R =TP/(TP+FN)=20/(20+0) =1