吹拉弹唱


  • Home
  • Archive
  • Categories
  • Tags
  • Books
  •  

© 2022 Kleon

Theme Typography by Makito

Proudly published with Hexo

机器学习系统 4-4 - 召回

Posted at 2021-05-02Updated at 2021-05-10 机器学习  机器学习 推荐系统 

多种策略混合,快而全

# 策略

召回阶段需要从海量的标的物中选取,通常使用不同的召回策略满足内容的多样性,新颖性等要求。

# 基于规则的召回

比如热门内容等。

# 基于人口统计信息

比如按人群特征推荐不同内容。

# 基于内容的召回

也叫做标签召回,这类召回的核心是基于item自身的属性,表达为tag,cate,也可以用来表达用户ID,用户类型,更可以通过交叉验证的方式,对内容提取向量,将内容表达为连续向量的方式进行召回。

核心思想是推荐操作过的物品相似的物品,或者推荐相似用户喜欢的物品。优点是不需要其他用户的数据,捕获用户的特定兴趣。缺点是item特征工程需要手工设计,并且用户兴趣过窄。通常可用于冷启动。

# 协同过滤

协同过滤依赖大量用户的行为,核心思想是推荐操作过物品的相似物品(ItemCF),或者推荐相似用户喜欢的物品(UserCF),以及基于模型(Model-Based)。和基于内容的召回的区别是,基于内容的召回的相似性基于物品和用户自身的属性,协同过滤基于用户和物品的行为矩阵。

  • 关联算法,Apriori, FP Tree, PrefixSpan
  • 聚类算法,KMeans,BIRCH,DBSCAN,谱聚类
  • 分类算法,Logistic Regression,朴素贝叶斯
  • 回归算法,Linear Regression,DT,SVM
  • 矩阵分解,SVD
  • 神经网络
  • 图模型
  • 隐语义模型

# 向量召回

通过Embedding计算相似度,分为深度学习u2i,内容语义i2i,图表征i2i。

  • 内容语义i2i通常基于文本,经典算法包括Word2Vec,FastText,Bert。
  • 图表征i2i基于行为序列,经典算法包括Deep Walk,EGES,Node2Vec,GCN,GrapSAGE。
  • 深度学习u2i常用算法包括DSSM双塔,YouTube,Airbnb。

# 工程

# 查表

离线将i2i或u2i关系计算并存到数据源,在线服务从数据源读取。数据源是数据库,比如MySQL,PostgreSQL,Redis,HBase等。

对于新商品或新用户需要有兜底方案,比如热门商品。

# 向量召回

离线或在线计算item embedding和user embedding间距离最近的embedding,通常不直接计算相似度,而是通过向量召回引擎如faiss28。

局部敏感哈希。


  • [1] 基于协同的推荐算法
  • [2] 推荐系统之LFM算法详解
  • [3] 矩阵分解(MF,SVD)和协同过滤(CF)
  • [4] 矩阵分解 - 维基百科
  • [5] 推荐系统面试题之机器学习(一)树模型
  • [6] 决策树的进化史 - 知乎
  • [7] 1.10. Decision Trees — scikit-learn 0.24.2 documentation
  • [8] 机器学习实战教程(二):决策树基础篇之让我们从相亲说起
  • [9] 决策树常见的面试点整理
  • [10] l2的最优回归_机器学习(七):数据预处理–特征选择-L1、L2正则化
  • [11] 机器学习中正则化项L1和L2的直观理解
  • [12] 降低过拟合风险的方法
  • [13] 决策树的剪枝:REP/PEP/CCP算法
  • [14] AI 知识库
  • [15] 树算法对比:RF、GBDT、XGBoost
  • [16] RF、GBDT、XGBoost常见面试题整理
  • [17] GBDT理解难点------拟合负梯度
  • [18] 从零开始学推荐系统一:基于邻域的算法
  • [19] 深入理解推荐系统:召回
  • [20] 基于内容的推荐算法
  • [21] work2vec的实战应用
  • [22] word2vec是如何工作的?
  • [23] models.doc2vec – Doc2vec paragraph embeddings — gensim
  • [24] 协同过滤推荐算法
  • [25] 协同过滤推荐算法总结
  • [26] 嵌套 (Embedding):协同过滤的目的
  • [27] 谈谈推荐场景中召回模型的演化过程
  • [28] facebookresearch/faiss: A library for efficient similarity search and clustering of dense vectors.

Share 

 Previous post: 机器学习系统 4-5 - 排序 Next post: 算法基础 - 动态规划法 

© 2022 Kleon

Theme Typography by Makito

Proudly published with Hexo