常用推荐算法实现(包括召回和排序)

目前工业界常用的召回排序模型主要有:

召回模型

(1)基于内容的召回

使用item之间的相似性来推荐与用户喜欢的item相似的item。

(2)基于协同过滤的召回

协同过滤主要可以分为基于用户的协同过滤、 基于物品的协同过滤、基于模型的协同过滤(如矩阵分解als、svd、svd++等等)。

(3)基于关联规则召回

基于关联规则召回通常有频繁模式挖掘,如Apriori、Fpgrowth等模型

(4)基于深度学习模型的召回

基于深度学习模型的召回也称之为embedding向量召回(每个user和item在一个时刻只用一个embedding向量去表示)的一些经典方法,其主要思想为:将user和item通过DNN映射到同一个低维度向量空间中,然后通过高效的检索方法去做召回。常见的模型有:NCF模型、Youtube DNN召回、 双塔模型召回、MIND模型等等。

(5)基于图模型召回

基于图模型召回有二部图挖掘,如simrank;Graph Embedding模型,如DeepWalk、node2vec等模型。

(6)基于用户画像的召回

基于用户画像的召回主要根据用户画像如品牌偏好、颜色偏好、价格偏好等偏好信息召回。

(7)基于热度召回

 排序模型

(1)基于传统的机器学习模型

基于传统的机器学习模型如LR、SVM等模型。

(2)基于树模型

基于树模型有gbdt、RandomForest、xgboost等。

(3)基于交叉特征模型

基于交叉特征模型有fm、ffm、lr+gbdt等

(4)基于深度学习模型的排序

基于深度学习模型的排序有widedeep、dcn、deepfm等。

实现

目前包含召回和排序各阶段,各种算法的实现,均可运行;由于工作闲余时间写的,有点乱,后续有时间好好整理,深度学习相关的模型改成TF2.0

https://github.com/littlemesie/recommend-learningicon-default.png?t=LA23https://github.com/littlemesie/recommend-learning

 tensorflow2 实现:

https://github.com/littlemesie/recommend-tf2.0icon-default.png?t=LA23https://github.com/littlemesie/recommend-tf2.0

你可能感兴趣的:(推荐算法,推荐算法,机器学习,人工智能)