面试题:请聊聊你所了解的推荐系统算法
文 | 七月在线
编 | 小七
解析:
推荐系统算法如果根据推荐的依据进行划分,有如下三大类算法:
一、Content-based recommenders: 推荐和用户曾经喜欢的商品相似的商品。主要是基于商品属性信息和用户画像信息的对比。核心问题是如何刻画商品属性和用户画像以及效用的度量。方法包括:
1.1 Heuristic-based method: 对于特征维度的构建,例如基于关键字提取的方法,使用TF-IDF等指标提取关键字作为特征。对于效用的度量,例如使用启发式cosine相似性指标,衡量商品特征和用户画像的相似性,似性越高,效用越大。
1.2 Machine learning-based mehod:对于特征维度的构建,使用机器学习算法来构建用户和商品的特征维度。例如建模商品属于某个类别的概率,得到商品的刻画属性。对于效用的度量,直接使用机器学习算法拟合效用函数。
二、Collaborative recommenders: 推荐和用户有相似品味和偏好的用户喜欢过的商品。主要是基于用户和商品历史交互行为信息,包括显示的和隐式的。协同过滤方法进一步细分为:
2.1 Memory-based CF: 基于内存的协同过滤方法。直接对User-Item矩阵进行研究。通过启发式的方法来进行推荐。核心要素包括相似性度量和推荐策略。相似性度量包括Pearson或Cosine等;而最简单的推荐方法是基于大多数的推荐策略。
User-based CF: 推荐给特定用户列表中还没有发生过行为、而在相似用户列表中产生过行为的高频商品。
Item-based CF: 推荐给特定用户列表中还没有发生过行为、并且和已经发生过行为的商品相似的商品。
2.2 Model-based CF: 基于模型的协同过滤方法。主要是运用机器学习的思想来进行推荐。主要包括:
基于流形学习的矩阵降维/分解算法: SVD、FunkSVD、BiasSVD、SVD++、NMF等。
基于表示学习的深度学习算法:MLP、CNN、AutoEncoder、RNN等。
基于图/网络模型的算法:MDP-based CF、Bayesian Belief nets CF、CTR(协同主题回归,将概率矩阵分解和主题模型结合应用于推荐系统)等。
其它:包括基于聚类的CF、稀疏因子分析CF、隐语义分析CF等等。
2.3 Hybrid CF: 结合多种方式的CF算法。如Content-based CF、Content-boosted CF或者结合Memory-based和Model-based CF混合方法。
三、Hybrid approaches: 混合方法。综合集成上述两种方法。
当前推荐算法主要是基于内容(CB)、协同过滤(CF)、混合算法。基于内容的推荐依靠用户profile和item的描述做推荐。CF基于过去的的表现和行为推荐。由于种种原因,收集过去的行为比收集用户画像要容易,但CF又有他的局限性,当打分(rating)很稀疏时,预测精度会下降很厉害,同时,新产品的冷启动也是CF的问题。因此,近年来,混合方法应用比较广。
今日干货:【推荐系统工程师大礼包】
扫描下方二维码并回复“推荐”即可获取 扫描上方二维码,关注并回复【推荐】马上获取
评论