机器学习和推荐系统
推荐系统简介
一、什么是推荐系统
- 推荐系统是系统过载所采用的措施,面对海量的数据信息,从中快速推荐出符合用户特点的物品。解决一些人的“选择恐惧症”;面向没有明确需求的人
- 解决如何从大量信息中找到自己感兴趣的信息
- 解决如何让自己生产的信息脱颖而出,受到大众喜爱
二、推荐系统的目的
- 让用户更快地获取到自己需要的内容
- 让内容更快更好地推送到喜欢它的用户手中
- 让网站(平台)更有效地保留用户资源
三、推荐系统的应用
推荐系统在不同领域的应用非常广泛,涵盖了个性化音乐、证券理财、旅游、广告、邮件、位置服务、阅读、社交网络、电影视频、电子商务等多个领域。通过利用用户的个性化偏好和行为数据,推荐系统能够为用户提供更符合其需求和兴趣的信息和产品,帮助用户快速找到自己感兴趣的内容,同时也能够帮助信息生产者提高信息的曝光和受欢迎度,实现精准推荐和个性化服务的目的。
四、推荐系统的数据分析对象
- 要推荐物品或内容的元数据,例如关键字,分类标签,基因描述等;
- 系统用户的基本信息,例如性别,年龄,兴趣标签等;
用户的行为数据,可以转化为对物品或者信息的偏好,根据应用本身的不同可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。这些用户的偏好信息可以分为两类:
- 显式的用户反馈:这类是用户在网站上自然浏览或者使用网站以外,显式的提供反馈信息,例如用户对物品的评分,或者对物品的评论。
- 隐式的用户反馈:这类是用户在使用网站是产生的数据,隐式的反应了用户对物品的喜好,例如用户购买了某物品,用户查看了某物品的信息等等。
五、推荐系统的分类
根据实时性分类
- 离线推荐:系统在预先计算和准备好推荐结果后,将其提供给用户
- 实时推荐:系统能够在用户请求时即时生成推荐结果
根据推荐是否个性化分类
- 基于统计的推荐:系统利用大量用户行为数据进行分析和统计,以生成通用的推荐结果
- 个性化推荐:根据用户的个人偏好和历史行为生成定制化的推荐结果
根据推荐规则分类
- 基于相似度的推荐:依赖于物品或用户之间的相似性度量来生成推荐
- 基于知识的推荐:利用领域专家的知识或领域内的规则来进行推荐
- 基于模型的推荐:利用机器学习模型或其他数学模型来预测用户的偏好并生成推荐结果
根据数据源的推荐
- 基于人口统计学的推荐:根据用户的人口统计信息(如年龄、性别、地理位置等)来进行推荐
- 基于内容的推荐:依赖于物品或用户的内容属性(如电影的类型、书籍的主题等)来进行推荐
- 基于协同过滤的推荐:基于用户与物品之间的交互信息(如用户的评分、购买记录等)来进行推荐
六、推荐算法分类(按照数据源)
基于人口统计学的推荐
- 依赖于用户的人口统计信息,例如年龄、性别、地理位置等来进行推荐。这种推荐方法并不考虑用户的具体行为或兴趣,而是根据用户的基本特征来推荐物品
基于内容的推荐(Content based,CB)
- 根据物品或用户的内容属性来进行推荐。比如,对于电影推荐,系统会分析电影的类型、演员、导演等内容属性,然后根据用户过去喜欢的电影类型等信息,推荐与之相似的电影。
基于协同过滤的推荐(Collaborative Filtering,CF)
基于近邻的协同过滤
基于用户(User-CF)
- 通过计算用户之间的相似度来进行推荐,从相似用户喜欢的物品中推荐给目标用户
基于物品(Item-CF)
- 通过计算物品之间的相似度,从用户喜欢的物品中推荐相似的物品给目标用户
基于模型的协同过滤
- 奇异值分解(SVD)
- 潜在语义分析(LSA)
- 支撑向量机(SVM)
混合推荐
加权混合
- 用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果
切换混合
- 切换的混合方式,就是允许在不同的情况(数据量,系统运行状况,用户和物品的数目等)下选择最为合适的推荐机制计算推荐
分区混合
- 采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户
分层混合
- 采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐
七、推荐系统评测
离线实验
- 通过体制系统获得用户行为数据,并按照一定格式生成一个标准的数据集
- 将数据集按照一定的规则分成训练集和测试集
- 在训练集上训练用户兴趣模型,在测试集上进行预测
- 通过事先定义的离线指标评测算法在测试集上的预测结果
用户调查
- 用户调查需要有一些真实用户,让他们在需要测试的推荐系统上完成一些任务;我们需要记录他们的行为,并让他们回答一些问题;最后进行分析
在线实验
- AB测
八、评测指标
预测准确度
评分预测
- 很多网站都有让用户给物品打分的功能,如果知道用户对物品的历史评分,就可 以从中学习一个兴趣模型,从而预测用户对新物品的评分
- 评分预测的准确度一般用均方根误差(RMSE)或平均绝对误差(MAE)计算
Top-N推荐
- 网站提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做 Top-N推
- Top-N推荐的预测准确率一般用精确率(precision)和召回率(recall)来度
- 用户满意度
- 覆盖率
- 多样性
- 惊喜度
- 信任度
- 实时性
- 健壮性
- 商业目标