1、推荐系统的目的
推荐系统是解决信息过载的问题,是信息过载所采用的措施,面对海量的数据信息,从中快速推荐出符合用户特点的物品。解决一些人的“选择恐惧症”;面向没有明确需求的人。 解决如何从大量信息中找到自己感兴趣的信息。 解决如何让自己生产的信息脱颖而出,受到大众的喜爱。
1、让用户更快更好的获取到自己需要的内容
2、让内容更快更好的推送到喜欢它的用户手中
3、让网站(平台)更有效的保留用户资源
2、推荐系统的基本思想
1、利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。
2、利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。
3、利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。
知你所想,精准推送 利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。
物以类聚 利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。
人以群分 利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。
3、推荐系统的分类
4、推荐算法的分类
基于人口统计学的推荐
基于内容的推荐
基于协同过滤的推荐
混合推荐
1、基于人口统计学的推荐
2、基于内容的推荐
3、基于协同过滤的推荐
协同过滤(Collaborative Filtering,CF)
基于近邻的协同过滤
基于用户(User-CF) 基于物品(Item-CF)
基于模型的协同过滤
奇异值分解(SVD) 潜在语义分析(LSA) 支撑向量机(SVM)
4、混合推荐
实际网站的推荐系统往往都不是单纯只采用了某一种推荐的机制和策略,往往是将多个方法混合在一起,从而达到更好的推荐效果。比较流行的组合方法有:
加权混合
用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。
切换混合
切换的混合方式,就是允许在不同的情况(数据量,系统运行状况,用户和物品的数目等)下,选择最为合适的推荐机制计算推荐。
分区混合
采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户。
分层混合
采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐。
5、推荐系统实验方法
离线实验
通过体制系统获得用户行为数据,并按照一定格式生成一个标准的数据集
将数据集按照一定的规则分成训练集和测试集
在训练集上训练用户兴趣模型,在测试集上进行预测
通过事先定义的离线指标评测算法在测试集上的预测结果
用户调查
用户调查需要有一些真实用户,让他们在需要测试的推荐系统上完成一些任务;我们需要记录他们的行为,并让他们回答一些问题;最后进行分析
在线实验
AB测试
6、推荐系统评测指标
预测准确度 用户满意度 覆盖率 多样性 惊喜度 信任度 实时性 健壮性 商业目标
评分预测
很多网站都有让用户给物品打分的功能,如果知道用户对物品的历史评分,就可以从中学习一个兴趣模型,从而预测用户对新物品的评分。
评分预测的准确度一般用均方根误差(RMSE)或平均绝对误差(MAE)计算
Top-N推荐
网站提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做 Top-N推荐。
Top-N推荐的预测准确率一般用精确率(precision)和召回率(recall)来度量。
准确率、精确率和召回率
相关(Relevant),正类 | 无关(NonRelevant),负类 | |
被检索到 (Retrieved) | TP 选出的样本中,想要得到的数据是多少 | FP 选出的样本中,不想要得到的数据是多少 |
未被检索到 (Not Retrieved) | FN 未选出的样本中,想要得到的数据是多少 | TN 未选出的样本中,不想要得到的数据是多少 |
准确率(accuracy)
—— 正确分类的 item 数与总数之比
A = (TP+(TP+FP)) / (TP+FP+FN+TN)
精确率(precision)
——所有被检索到的 item 中,"应该被检索到"的 item 占的比例
P = TP / (TP+FP)
召回率(recall)
——所有检索到的 item 占所有"应该检索到的item"的比例
R = TP / (TP + FN)