# Chap8 推荐系统的评估
# 实验设置
# 实验方式
- 离线实验(数据集回测)
- 用户调查(测试环境)
- 在线评估(生产环境)
# 可靠结论
# 配对结果
对于算法A和B需要进行配对的单用户性能测试,有一个简单的显著性检验,即符号测试
符号测试需要的假设是:1、用户独立,2、算法A优于算法B的次数
我们先在算法A和B下分别为每个用户计算一个得分(如RMSE)
令用户数为,系统A得分优于系统B至少
次的概率为: 当p值低于给定的阈值时,认为两个系统性能具有差异,而非随机性导致的结果
使用配对t检验,考察算法A和B性能得分的平均差异(premise:不同用户在得分上的差异具有可比性)
使用大数据集来获取更准确结果
# 非配对结果
- 用户经常被分配到一个或其他算法上,因此两个算法不会在相同测试用例上进行评估
- 使用曼-惠特尼检验
# 多重检验
- 使用邦弗朗尼校正,假设N+1个算法中最佳算法是基于调优集选择的,为了获得选择的算法确实为最好算法的置信度为
, 那么它必须在评估集中优于其他N个算法且显著性为
# 推荐系统属性
# 用户偏好
# 预测精度
- RMSE,MAE
被推荐 | 未被推荐 | |
---|---|---|
被使用 | 真阳率(tp) | 假阴率(fn) |
未被使用 | 假阳率(fp) | 真阴率(tn) |
AUC: ROC曲线下方的面积
推荐列表变长会提高recall,降低precision,若推荐列表定长,则应该计算top-N准确率
评估不同N值上的性能的CROC曲线
用户可以一直要求系统给出更多的文档,对每个用户计算ROC,然后计算所有用户结果曲线的均值
# 排序指标
是参考排序, 是系统排序,形式化定义如下 物品
、 上,若满足 且 ,则排序 , 具有一致性, 物品
、 上,若满足 且 ,则排序 ,$ >_2$ 具有差异性, 物品
、 上,若满足 且 或 $ i_2 >_2 i_1 $ ,则排序 ,$ >_2$ 具有相容性,
# NDPM
物品集 里所有物品对上的总距离为
定义指标
,分母为归一化因子,最佳值为0,最差值为1
# AP
但NDPM并未考虑差异性出现在参考排序中的位置,为了修正这一点,选择平均正确率指标AP
若物品
具有一致性,则 ,否则为0 若系统排序与参考排序完全一致,AP值为1,最差时为0
# R-score
随着推荐列表中位置的下降而衰减非常迅速的方法来模拟用户仅注意到推荐列表上半部分少量物品的行为
: 位置 上的物品 : 用户 对物品 的评分 - :任务相关的中立评分
:半衰期参数,控制着随排序列表的位置的指数衰减程度
归一化处理:
# 归一化折扣累计收益(NDCG)
适用于推荐列表较长,效用以对数形式衰减(如:搜索法律文件)
# 覆盖率
一个计算物品空间覆盖率的方法是基尼系数
其中,
为物品列表,按照用户选择该物品的概率 来排序,也可简化为推荐次数 当所有物品被等概率选择时,
,若某个物品被经常选择, 一个计算不均等分布的方法是香农熵:
若某个物品总被选择时
,若n个物品被均等选择,则