用户调研
- 优势:能够得到不少体现用户主观感觉的指标,比在线实验风险低,出现错误后很容易弥补。
- 缺点:招募测试用户代价较大;很难组织大规模的测试用户,所以测试结果的统计意义不足。
在线评估
设计一个在线实验,而后根据用户的在线反馈结果来衡量推荐系统的表现。在线评估中,比较重要的两个选择点是——在线实验方式和在线评估指标。算法
ABTest介绍
ABTest就是为了实现同一个目标制定两个方案,让一部分用户使用A方案,另外一部分用户使用B方案,记录下两部分用户的反馈状况,而后根据相应的评估指标确认哪一种方案更好。
互联网行业里,在软件快速上线的过程当中,ABTest是一个帮助咱们快速试错的实验方法。在统计学上,ABTest实际上是假设检验的一种形式。它能帮助开发者了解推荐系统的改动是否有效、可以带来多大的KPI提高。
在推荐系统中,为了对比不一样算法、不一样数据集对最终结果的影响,经过必定的规则将用户随机分红几组,并对不一样组采起不一样的召回或推荐算法,最终经过不一样组用户的各类评估指标来进行对比分析。
一个典型获得ABTest架构图以下所示:
架构
这里须要注意的是,在对用户进行分桶并召回商品以后,须要从新将用户打散并分桶,这样能确保不一样桶之间的用户没有相关性,召回池中的ABTest和排序部分的ABTest没有关联,互不影响。机器学习
在线评估指标
在线评估指标是指在实际的业务场景中去评估推荐系统好坏的指标。常见的在线评估指标包括点击率、转化率、GMV等。性能
离线评估
根据待评估推荐系统在实验数据集上的表现,基于一些离线评估指标来衡量推荐系统的效果。相比于在线评估,离线评估更方便、更经济,一旦数据集选定,只需将待评估的推荐系统在此数据集上运行便可。离线评估最主要的环节有两个:拆分数据集、选择离线评估指标。
数据集拆分
在机器学习中,一般将数据集拆分为训练数据集、验证数据集和测试数据集。它们的功能分别以下。
训练数据集(Train Dataset):用来构建机器学习模型。
验证数据集(Validation Dataset):辅助构建模型,用于在构建过程当中评估模型,为模型提供无偏估计,进而调整模型的超参数。
测试数据集(Test Dataset):评估训练完成的最终模型的性能。
三类数据集在模型训练和评估过程当中的使用顺序如图所示。
数据集拆分的方式有:学习
离线评估指标
离线评估指标用于预估模型上线前在整个推荐系统中能达到的效果。常见的离线评估指标能够分为两大类:
- 准确度指标:评估推荐系统的最基本的指标,衡量的是指标推荐算法在多大程度上可以准确预测用户对推荐商品的偏好程度,能够分为分类准确度指标、预测评分准确度指标、预测评分指标关联。
- 非准确度指标:在推荐系统达到必定的准确度以后,衡量推荐系统丰富度和多样性等的指标。
其中预测分类准确度指标包含:测试
- AUC
- 准确率(Accuracy)
- 精确率(Precision)
- 召回率(Recall)
- F-measure值。
预测评分准确度指标包含:.net
- 平均绝对偏差(MAE)
- 均方偏差(MSE)
- 均方根偏差(RMSE)
预测评分关联指标包含:设计
- 皮尔逊积距相关系统
- 斯皮尔曼等级相关系数
- 肯德尔等级相关系数
预测排序准确度指标包含:blog
非准确度的指标包含:排序
- 多样性
- 新颖性
- 惊喜度
- 覆盖率
- 信任度
- 实时性
- 健壮性
- 商业目标
参考资料
http://www.javashuo.com/article/p-seraxgep-mt.html