🗒️推荐算法总结
type
status
date
slug
summary
tags
category
icon
password
总结内容主要参考王喆的《深度推荐系统》这本书
模型演化图
传统模型
演化图
模型总结
模型名称 | 基本原理 | 特点 | 局限性 |
协同过滤 | 根据用户的历史行为生成用户-物品共现矩阵,利用用户相似性和物品相似性进行推荐 | 原理简单、直接,应用广泛 | 泛化能力差,处理稀疏矩阵的能力差,推荐结果的头部效应比较明显 |
矩阵分解 | 将协同过滤算法中的共现矩阵分解为用户矩阵和物品矩阵,利用用户隐向量和物品隐向量的内积进行排序推荐 | 相较于协同过滤,泛化能力有所加强,对稀疏矩阵的处理有所加强 | 除了用户历史行为数据,很难利用其它用户、物品及上下文特征 |
逻辑回归 | 将推荐问题转化为类似CTR评估的二分类问题,将用户、物品、上下文特征转换为特征向量,输入逻辑回归模型得到CTR,在按照预估CTR进行排序推荐 | 能融合多种类型的不同特征 | 模型不具备特征组合能力,表达能力差 |
FM(因子分解机) | 在逻辑回归的基础上,在模型中加入二阶特征交叉部分,为每一维特征训练得到相应特征隐向量,通过隐向量间的内积运算得到交叉特征的权重 | 相比逻辑回归,具备了二阶特征交叉能力,模型的表达能力增强 | 由于组合爆炸问题的限制,模型不易扩展到三阶特征交叉阶段 |
FFM | 在FM模型的基础上,加入“特征域”的概念,是每个特征在与不同域的特征交叉时采用不同的隐向量 | 相比FM,进一步加强了特征交叉的能力 | 模型的训练开销达到了O(n^2)的量级,训练开销较大 |
GBDT+LR | 利用GBDT进行“自动化”的特征组合,将原始特征向量转换为离散型特征向量,并输入逻辑回归模型,进行最终的CTR预估 | 特征工程模型化,使模型具有更高阶特征组合能力 | GBDT无法进行完全并行的训练,更新所需的训练时长较长 |
深度模型
演化图
模型总结
模型名称 | 基本原理 | 特点 | 局限性 |
AutoRec | 基于自编码器,对用户或者物品进行编码,你用自编码器的泛化能力进行推荐 | 单隐层神经网络结构简单,可快速训练和部署 | 表达能力较差 |
Deep Crossing | 利用“Embedding层+多隐层+输出层”的经典深度学习框架,预完成特征的自动深度交叉 | 经典深度学习框架 | 利用全连接隐层进行特征交叉,针对性不强 |
NeuralCF | 将传统的矩阵分解中的用户向量和物品向量的点积操作,换成由神经网络代替的互操作 | 表达能力加强版的矩阵分解模型 | 只使用了用户和物品的id特征,没有加入更多的其他特征 |
PNN | 针对不同特征域之间的交叉操作,定义“内积”“外积”等多种积操作 | 在经典深度学习框架模型上,提高对特征交叉能力 | “外积”操作进行了近似化,一定程度上影响了其表达能力 |
Wide&Deep | 利用Wide部分加强模型的“记忆能力”,利用Deep部分加强模型的“泛化能力” | 开创了组合模型的构造方法,对深度学习推荐模型的后续发展产生重大影响 | Wide部分需要人工进行特征组合的筛选 |
Deep&Cross | 用Cross网络替代Wide&Deep模型中的Wide部分 | 解决了Wide&Deep模型人工组合特征的问题 | Cross网络的复杂度较高 |
参考文章
- 王喆《深度推荐系统》
Loading...