模型 | 基本原理 | 具体细节 | 优缺点 |
AutoRec 单隐层神经网络 | 将协同过滤中的共线矩阵的每一列(商品的初始向量),通过单隐层神经网络,完成商品向量的自编码,即商品向量的embedding (但是并没有实现降维度) 再利用自编码的结果得到用户对于物品的预估评分,进而进行推荐排序 | | 优点: - 单隐层网络(一共三层网络)结构简单,使得模型有一定的泛化能力。可实现快速训练和部署
缺点: |
Deep Crosssing | 利用“Embedding 层 + 多FC层 + 输出层” 的经典深度学习框架, 预完成特征的自动深度交叉 | 应用场景 | 搜索广告推荐场景。用户在搜索引擎中输入搜索词后,引擎除了返回相关结果, 还会返回和搜索词相关的广告。deep crossing 目标是增加用户对搜索广告的点击率 | 预测目标 | 用户是否会点击搜索广告 | 特征 | 类别型特征 (用embedding层来实现稀疏特征稠密化) 数值型特征 需要进一步处理的特征(广告计划,点击样例等) | 模型结构 | Embedding 层:使得稀疏的类别型特征稠密化 (数值型特征不需要经过Embedding层) Stacking 层:把不同的Embedding特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量 Multiple Residual Units 层(多层残差网络):实现特征自动交叉组合,multiple residual units 有几层,就能实现几阶特征的交叉 Scoring 层:输出层,为了拟合优化目标 (sigmoid) | | 优点: 缺点: |
NeuralCF | 将传统的矩阵分解中用户向量和物体向量的点积操作,换成由神经网络代替的互操作 | step 1 求解用户embedding和商品embedding | 分解共现矩阵,得到用户Embedding和物品Embedding | step 2 预测用户u对商品i的评分 (求解用户u和商品i的相似度) | 矩阵分解 | 将用户u的embedding和物品i的embedding进行内积,得到相似度,即用户u对物品i的评分 | NeuralCF | 用多层神经网络+输出层,得到用户u和商品i的相似度 | | 优点: - 表达能力加强版的矩阵分解模型,让用户向量和物品向量有更充分的交叉,且引入更多非线性特征
缺点: - 只使用了用户和物品的id特征,没有引入用户和商品的交互特征。特征维度不够丰富
|
Wide&Deep | 利用Wide部分加强模型的“记忆能力”,利用Deep部分加强模型的“泛化能力” | wide(记忆能力) | 规则推荐,用规则类信息直接影响推荐结果 , 如果点击过A,就推荐B ex: 学习并利用历史数据中feature的共现频率 比如label是:是否安装pandora 数据分析发现:feature1取值:已安装netflix, feture2取值:对pandora印象深刻, 和label 取值 已经安装pandora的共现频率很高 结论: 只要发现用户安装netflix且对pandora有好感,那么用户最终安装pandora的概率很大,可以直接将用户的label定为:安装pandora。feature1和feature2的权重很大。实现类对这组合特征的直接记忆 这列组合特征就不需要进入神经网络,被多层处理,不断和其他特征交叉 | deep(泛化能力) | 泛化能力:深度发掘数据的潜在模式,发掘稀疏甚至从未出现过的稀有特征和最终label的相关性 目的:使得特征维度特别稀疏的用户,也能得到较稳定平滑的推荐概率 | 模型 | Deep: 输入的是全量特征,特征经过层层FC Wide:已安装应用和曝光应用两类特征,通过交叉积变换完成特征组合。再将组合特征和Deep部分的输出一同参与最后的目标拟合。完成和deep 部分的融合。 Ps: 只有user_installed_app = netflix and impression_app = pandora, 其交叉积才会是1,否则为0 直接到逻辑回归层。简单模型善于记忆用户行为特征中的信息。并根据此类信息直接影响推荐结果 | | 优点: 缺点: |
Deep&Cross | 用Cross网络替代Wide&Deep模型中的Wide部分 | 优点: 缺点: |
FNN | 利用FM的参数来初始化深度神经网络的Embedding层参数 | 优点: 缺点: |
DeepFM | 在Wide&Deep模型的基础上,用FM替代原来的xian | 优点: 缺点: |
DIN | 在传统深度学习推荐模型的基础上引入注意力机制,并利用用户行为历史物品和目标广告物品的相关性计算注意力得分 | 优点: 缺点: |
DIEN | 优点: 缺点: |