推荐系统基础
为了解决互联网时代下的信息超载问题,提出分类目录(雅虎)和搜索引擎(谷歌)但随着数据量的增大,分类目录网站只能涵盖少数热门网站,已无法满足用户需求。因此,搜索引擎诞生了。搜索引擎,用户通过输入关键字,查找自己需要的信息索引擎,用户通过输入关键字,查找自己需要的信息
推荐系统,和搜索引擎一样,是一种帮助用户快速发展有用信息的工具。通过分析用户的历史行为,给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。
如何评价一个推荐系统的好坏呢?具体方法过程如下:
1,实验方法: 一个推荐系统要最终上线,需要以下步骤
1,通过离线实验证明它在很多离线指标上优于现有的算法;
2,通过用户调查确定用户满意度不低于现有的算法;
3,通过在线AB测试确定它在我们关心的指标上优于现有的算法;
评价指标:
用户满意度:
用户满意度无法通过离线计算,一般通过
调查问卷
在线系统中,用户满意度通过统计用户行为得到。比如用户如果购买了推荐的商品,就表示他们在一定程度上满意,可以用购买率度量用户满意度。
一般情况,我们可以用用户点击率、停留时间、转化率等指标度量用户的满意度
2,预测评分的准确度:
由于离线的推荐算法有不同的研究方向,准确度指标也不同,根据研究方向,可分为:预测评分准确度和TopN推荐。
平均绝对误差(MAE)
均方根误差(RMSE)
TopN推荐
召回率
准确率
覆盖率
3,覆盖率:
就是说推荐系统推荐出的物品占全部物品的比例对于覆盖率可以通过以下信息商和基尼系数来定义:
信息熵:
基尼系数:
4,健壮性
任何能带来利益的算法系统都会被攻击,最典型的案例就是搜索引擎的作弊与反作弊斗争。健壮性(robust,鲁棒性)衡量了推荐系统抗击作弊的能力。
评测算法的健壮性,主要利用模拟攻击:
给定一个数据集和算法,用算法给数据集中的用户生成推荐列表;
用常用的攻击方法向数据集中注入噪声数据;
利用算法在有噪声的数据集上再次生成推荐列表;
通过比较攻击前后推荐列表的相似度评测算法的健壮性。
提高系统健壮性的方法:
选择健壮性高的算法;
选择代价较高的用户行为,如购买行为比浏览行为代价高;
在使用数据前,进行攻击检测,从而对数据进行清理。
常用推荐系统分类:
1.基于流行度的算法
2.协同过滤算法
3.基于内容的算法
4.基于模型的算法
5.混合算法
一些其他方法
一些干货总结:https://www.jianshu.com/p/3ad6e87f3eec 作者整理的超级好,很用心