推荐系统简介
今日介绍推荐系统,主要内容包括推荐系统的作用,分类,结果评估方式,
以及推荐系统现存的挑战。阅读完本文,你将对推荐系统有一个总体的了解。
推荐算法的作用
- 帮助用户找到想要的商品,挖掘长尾
- 降低信息过载,过滤掉对用户的低价值信息
- 提高站点的点击率和转化率
- 加深对用户的了解,为用户提供定制化服务
推荐算法的分类
-
基于流行度的推荐算法
主要是对热点信息或商品进行推荐。
优点:可以解决针对新用户的冷启动问题
缺点:无法对用户个性化推荐 -
基于内容的推荐算法
主要和NLP(自然语言处理相关),其核心思想是:根据推荐物品或内容的元数 据,发现物品或者内容相关性,然后基于以往用户的喜好,推荐相似物品给用 户。
应用场景:一些咨询类的应用上,针对文章、电影、音乐等。
优点:无冷启动问题,基于物体本身推荐,不存在过度推荐热门问题。
缺点:推荐的项目(item)可能重复,例如新闻推荐。 -
基于关联规则的推荐算法
常见于电子商务中,购买了一些物品的用户更倾向于 购买另一物品,例如买了手机后可能还会购买手机壳,钢化膜等。
优点:转化率较高
缺点:存在冷启动和稀疏性问题,存在热门项目被过度推荐问题。 -
基于协同过滤的推荐算法
一般应用于有用户评分的系统之中。其基于“物以类聚,人以群分”的假设, 即喜欢相同物品的用户可能有相同的兴趣。协同过滤被视为利用集体智慧 的典范,不需要对项目做特殊处理,而是通过用户奖励物品与物品之间的 联系。协同过滤又可以分为两类。
(1) 基于用户
根据所有用户对物品或信息偏好(评分),发现与当前用户偏好相似 的“邻居”用户群,采用KNN(K近邻)算法,基于这K个邻居的历史偏好, 为当前用户进行推荐。
(2) 基于物品
与基于用户的协同过滤算法类似,基于物品的协同过滤根据所有用户 对物品或者信息的偏好,发现物品之间的相似性,然后根据用户的 历史偏好信息,将类似的物品推荐给用户。
优点:准确率和覆盖率较高,比基于用户的推荐用用更为广泛。拓展性和算法性能更好。
缺点:无法个性化推荐总体而言,协同过滤算法的优缺点如下:
优点:
<1> 不需要对物品或用户严格建模,并且是领域无关的。
<2> 计算出来的推荐结果是开放的,可共用他人经验,可以很好的支持用户发现潜在的兴趣偏好。
缺点:
<1> 基于历史数据推荐,对新用户和物品存在冷启动问题。
<2> 推荐效果依赖于历史偏好的数量和准确性。
<3> 用户历史偏好一般用稀疏矩阵存储,可能存在少部分人的错误偏好对推荐准确度产生很大影响。 -
基于模型的推荐算法
主要包括:LR、SVM、FM、FFM、W&D、DeepFM等。 基于模型的推荐算法常使用机器学习算法对目标用户建立推荐模型, 然后对用户偏好进行预测推荐以及对推荐结果进行打分排序等。
优点:训练完成后,推荐过程比较快且准确
缺点:训练过程比较长
适用场景:实时性比较高的业务,如新闻,广告 -
混合推荐算法
大型成熟网站的推荐系统都是基于各种推荐算法的优缺点 与适用场景进行组合来完成“混合算法”推荐。 例如,不同策略的算法加权;不同场景和阶段使用不同的算法。
推荐结果评估方式
推荐结果评估对于线上和线下有所不同,线下常使用AUC,ROC等评估指标,
而线上要经过A/B测试,评价指标也转变为对CTR(点击率),CVR(转化率),
停留时间的关注。
推荐系统现存的挑战
(1) 冷启动问题
主要是解决针对新用户、新商品、新系统如何进行预测和推荐的问题。
(2) 缺失值问题
缺失值问题也称为稀疏矩阵问题,现实生活中的交互数据大多是稀疏的,
稀疏数据如果处理不恰当会使得模型存在较大偏差。
缺失值问题也有一些常用的处理方法:
<1> 在矩阵分解中引入正则项来阻止不必要的偏差
<2> 使用一些缺失值填充方法,如零填充或均值填充
<3> 对于混合模型,可使用用户或物品本身特性填充交互信息
(3) 模糊反馈问题
例如用户打分很少误打,但页面点击有较大概率误点,模糊反馈使模型易出现偏差。
(4) 模型评估问题
主要是模型线上和线下有不同评价指标导致。
(5) 结果稳定性问题
同一问题,不同数据集和数据处理方式,不同模型,不同评估指标,
都会有不同的结果表现,导致难以评估谁更好。
(6) 实时推荐
实时推荐要求低计算复杂度,并且推荐系统需要实现增量更新和实时推荐。
(7)引入情景信息
要求根据用户偏好变化和当时所处情景进行推荐,典型的情景感知推荐系统是CARS。
参考文章
https://zhuanlan.zhihu.com/p/114747869