推荐系统的实验方法、评测指标
1.推荐系统的实验方法
1.1 离线实验 offline experiment
即收集用户行为数据集,并分为训练集和测试集,在训练集上训练用户兴趣模型,在测试集上进行预测——通过事先定义的离线指标评测算法在测试集上的预测结果。
offline experiment的缺点是无法获得很多商业上关注的指标,比如点击率、转化率等。罗列其优缺点如下:
1.2 用户调查
即调查问卷。注意提供用户对于同一个事要在不同的维度的评价。
在线AB测试
即分成不同的组进行对照试验。
总结
- 一般要通过离线实验证明很多离线指标优于现有算法;
- 调查问卷证明用户满意度不低于现有算法(准确度高不一定满意度高);
- 通过在线的AB测试确定其商业指标优于现有算法;
2. 评测指标
评测指标主要有预测准确度(评分预测、topN推荐)、覆盖率、多样性、新颖性、惊喜度、用户满意度、信任度、实时性、健壮性、商业目标等。有些可以定量计算,有些则只能定性描述。
2.1 预测准确度
是最重要的推荐推荐系统离线评测指标。
评分预测即通过用户以往对于各种商品的评分,来获得用户的兴趣模型,然后==预测用户看到一个没有评过分的物品时会给多少分。评分预测准确度通过均方根误差RMSE和平均绝对误差MAE计算。公式如下:
$RMSE=\sqrt{ \frac{ \sum_{r,i\in T}(r_{ui}-\hat{r}_{ui}) }{|T|} } $
$ MAE=\frac{ \sum_{u,i \in T}|r_{u,i}-\hat{r}_{u,i}| }{|T|} $
$r_{ui} $
是用户u对商品i的实际评分,$\hat{r}_{ui} $
这是推荐算法的预测评分。
topN推荐即网站推荐给用户的推荐列表,一般通过 准确率precision/召回率recall 度量。公式如下:
-
$ Recall=\frac{ \sum_{u \in U}|R(u)\cap T(u)| }{ \sum_{u \in U}|T(U)| } $
-
$ Recall=\frac{ \sum_{u \in U}|R(u)\cap T(u)| }{ \sum_{u \in U}|R(u)| } $
其中 R(u)是根据用户在训练集上的行为给出的推荐列表, T(u) 是根据用户在测试集上的行为给出的推荐列表。
2.2覆盖率 coverage
coverage是推荐系统推荐出来的物品占总物品的比例。计算公式如下三种:
-
$ Coverage=\frac{|\cap_{u \in U} R(u)| }{|I|} $
-
信息熵(其中p(i)是物品i流行度除以所有物品流行度之和):
$ H=- \sum_{i=1}^n p(i)logp(i)$
-
基尼系数(Gini Index),其中
$i_j$
是按照物品流行度p从小到大排列顺序的物品中第j个物品:
$ G=\frac{1}{n-1} \sum_{j-1}^n(2j-n-1)p(i_j) $
-- 写latex好麻烦啊,等待实际用到时在详更这些评测指标,查阅见《推荐系统实践》项亮