1、推荐系统的目的
解决目的:– 信息过载、物品推荐
推荐系统:推荐系统是信息过载所采用的措施,面对海量的数据信息,从中快速推荐出符合用户特点的物品,解决一些人的“选择恐惧症”:面对没有明确需求的人。
– 解决如何从大量信息中找到自己感兴趣的信息
– 解决如何让自己生产的信息脱颖而出,受到大众的喜爱
– 一个好的推荐系统会让三方共赢
了解:
– 电影领域顶尖推荐系统:网飞netflix,曾经举办过百万奖金设计推荐算法
– 电子商务推荐顶尖:亚马逊
– 个性化广告:FaceBook,Google
2、基本思想
– 知你所想,精准推送
– 利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品
– 物以类聚
– 利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品
– 人以群分
– 利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品
3、数据分析,分析哪些数据
显式的用户反馈:-- 评论,评论
隐式的用户反馈:-- 购买,查看,浏览
4、推荐算法的分类
– 根据实时性分类
– 离线推荐 – 实时推荐
– 根据推荐是否个性化分类
– 基于统计的推荐 – 个性化推荐
– 根据推荐原则分类
– 基于相似度的推荐 – 基于知识的推荐 – 基于模型的推荐
– 根据数据源分类
– 基于人口统计学的推荐 – 基于内容的推荐 – 基于协同过滤的推荐
① 基于人口+相似度推荐(人以群分)
② 基于内容+相似度推荐
③ 协同过滤:行为数据,用户和物品相关联数据
5、CF 与 CB 的区别
CF: 协同过滤推荐方法,CF不仅可以通过当前用户评分的物品内容,还可以利用其他用户评分过的物品内容。
CB: 基于内容,主要利用的是用户评价过的物品的内容特征。
– CF 可以解决CB的一些局限
– 物品内容不完全或者难以获得时,依然可以通过其他用户的反馈给出推荐。
– CF基于用户之间对物品的评价质量,避免了CB仅依赖内容可能造成的对物品质量判断的干扰。
– CF推荐不受内容限制,只要其他类似用户给出了对不同物品的兴趣,CF就可以给用户推出内容差异很大的物品(但又某种内在联系)
– CF协同过滤算法分为两类:基于近邻和基于模型。
– CF算法弊端:需要依赖大量的历史数据,否则不准,CF 无法解决冷启动问题。
CF分类
– 基于用户的协同过滤
– 基于物品的协同过滤
6、混合推荐
– 加权混合: 每个推荐算法都对应一个推荐列表,我们再其每个加一个系数进行组合反复实验,从而达到最好的效果。
– 切换混合: 两套系统,有一个切换的模块,不同的情况切换到不同的推荐系统。
– 分区混合: 不同的推荐方式,将不同的结果放到不同的区域显示给用户。
– 分层混合: 所有的推荐方式,串行,一层一层连接,综合各个算法,得到一个准确的推荐列表。
7、什么样的推荐系统最好?
一个推荐算法的好坏在于其误差值
– 评测方法:
– 离线实验:把拿到的数据分为训练数据,和测试数据,用训练数据得出优化的模型,再通过测试集考察预测结果(已经获得的数据)好处方便,坏处过于局限,不一定与线上情况符合,真是可靠程度低
– 用户调查:利用真实用户,再推荐系统上完成一些任务。好处真是可靠,坏处用户调查需要可靠用户(问卷调查)
– 在线实验(AB测试),推荐系统分成两部分,两组用户,不同组用不同算法,统计数据,和指标,数据绝对真实(切换混合)弊端数据不能快速获取,一定周期。
– 先用离线实验,离线指标好的算法抽取出来,再进行用户用户调查,目标获取用户体验不比之前差即可,最后上线AB测试。
8、推荐算法的准确度计算公式
9、机器学习分类
① 无监督学习
– 有监督比无监督效率要高
– 无监督学习:仅提供输入的数据,提炼出特征
例如:无监督学习应用:Google新闻
② 有监督学习
– 有监督学习:就是有输入数据和结果数据,监督学习主要包括分类和回归,当数据是有限的一组值(离散数值)使用分类算法,当数据可以具有范围内的任何数值(连续数值)使用回归算法。
相似度学习是和回归和分类都密切相关的一类监督机器学习,他的目标是使用相似性函数从样本中学习,这个函数可以度量两个对象之间的相似度或关联度。
推荐系统三要素:模型,策略,算法
– 损失函数用来衡量模型预测误差的大小
10、监督学习分类
回归模型使用平方损失函数
11、推荐系统算法
推荐系统中会使用到相似度算法,此相似度如何计算,假设如图,A对象与B对象,在一个三维中,两者的距离便是相似度的差距,越大表名相似度月底,所以相似度的评判可以通过两者之间的距离,或者余弦的夹角来衡量
特征工程
会先对数据进行特征处理,过滤掉一些多余的特征,特征选择
UGC :用户打标签,通过用户的用户行为,产生对应的标签
PGC:专家打标签,通过专门的人员,手动打标签
用户打标签-----简单算法:
TF_IDF:词频-逆文档频率
– 是一种统计方法,用以评估一个字词对于一个文件集,在其他文件中出现次数多。
模型求解算法——ALS