1 指标
对于效果评测的话就必须要有指标,没有指标也就不知道这套推荐系统是好是坏,数据有无价值,指标,顾名思义,就是指定的标准。词典里的解释是“衡量目标的单位或方法”。指标就是为了描述一些对象的状态而制定出来的标准,在日常生产生活中有着非常广泛的应用。
比如体检时的化验项目,如眼睛近视度数、身高、体重、心跳、血压、血糖浓度、血小板浓度……以及尿酸浓度、各种转氨酶浓度等专业的指标。小小一张化验单据,多则百余项,少的只有一二十项,已经把人的身体状况描述得即简洁又具体,这就是指标的力量。
推荐系统的转化率的话就是你的推送的总物品数除以客户点击数,或者是点击之后的购买数,这个看运营商的规则进行制定,
在经过一段时间的统计后,可以发现转化率很可能是一个定值或者是围绕某值的正态分布。那么再进行广告投放时,就能够根据预期的推送数来做对应的点击数的预判,进而估算出收入大小,那么广告定价或者投放策略调整也都有了参考。
2 预测方案
2.1 模型离线实验
首先需要知道的是,机器学习想要能够解决业务中的问题,简单可以分为两个阶段:离线和线上(离线指的是模型未部署到生产环境之前,线上是指模型部署到生产环境之后)。在离线阶段,首先需要先训练一个模型,然后对训练好的模型进行离线评估来了解下模型的性能情况。
– 通过体制系统获得用户行为数据,并按照一定格式生成一个标准的数据集
– 将数据集按照一定的规则分成训练集和测试集
– 在训练集上训练用户兴趣模型,在测试集上进行预测
– 通过事先定义的离线指标评测算法在测试集上的预测结果
离线评估无法消除模型过拟合的影响;离线评估无法还原线上真实环境(离线评估往往不会考虑线上环境的延迟,数据丢失等);离线评估可能无法计算一些商业指标(留存,停留,收益等),但是离线模式是数据挖掘最好的方式.
2.1.1 模型过拟合
引用下知乎回答:
所以过拟合有两种原因:训练集和测试集特征分布不一致或者模型太过复杂(记住了每道题)而样本量不足
2.2 A/B测试
进行ab测试需要对用户进行分桶,将用户分为base组(老模型)和treat组(新模型)。分桶过程中,要注意样本的独立性和采样方式的无偏性,确保每个用户在一个桶中。
AB测试在很多互联网产品中都很常用,甚至有很多老牌的软件企业也从这种方式中汲取经验。
AB测试是一种评价体系的核心思想。大致的工作流程如下,当不知道一种产品的A方案好还是B方案好时,或者两种设计完全不同的产品A和B的市场反应如何时,会考虑找两组用户来进行测试。
2.3 用户调研
评分预测
– 很多网站都有让用户给物品打分的功能,如果知道用户对物品的历史评分,就可以从中学习一个兴趣模型,从而预测用户对新物品的评分
– 评分预测的准确度一般用均方根误差(RMSE)或平均绝对误差(MAE)计算
2.3.1 标准差
我们以一年级一班所有40个学生为例,那么3门考试的情况下全班就有120个分数参与统计,也就是n=120。把每个学生每门课的成绩减去全班的3个学科总的平均分80分,这样得到120个差值,再把这些差值分别平方(主要是为了去掉负数,因为在分数差距里面,不管是比这个平均值多,还是比这个平均值少,都被视为偏差),将这些平方的结果再加和,之后除以参与统计的学科数量120,最后开平方,这个数字只可能是一个大于等于零的数字。用汉字描述起来很啰嗦,但是一旦变成一个标准差的指标以后,由于是约定俗成的,所以只需要“标准差”这3个字就能表示了。
这个数字表示的是什么含义?从这个数字得到的过程其实不难看出来。
举个例子:
如果所有的人的所有课程成绩都是和平均分一样,那么算出来的标准差就是0,因为每一个
肯定都是0;反之,如果所有的人的课程成绩与平均分的差距都很大,好的很好,差的很差,那么结果就是这个值会很大。如果一个班级成绩标准差比另一个班级成绩的标准差小,说明学生之间的考试成绩水平差不多,标准差大则说明学生之间的考试成绩水平相差比较大。
3 准确率、精确率和召回率