推荐系统的发展历程
传统推荐系统
演进历程
协同过滤CF
Collaborative Filtering, CF
Using Collaborative Filtering to Weave an Information Tapestry
COMMUN ACM, 1992.
David Goldberg, David Nichols, Brian M.Oki, and Douglas Terry
优点:可解释性强
缺点:推荐头部商品效应明显,泛化能力弱,不好处理稀疏
矩阵分解MF
Matrix Factorizaition, MF
Netflix Update: Try This at Home
优点:可以处理稀疏,泛化能力强,扩展能力强
缺点:可解释性差;只考虑了用户行为特征,很难融入更多特征;模型效果依赖k的选择,而k的选择依赖经验
逻辑回归模型CF
Logistic Regression,LR
提出论文:
“Notice sur la loi que la population suit dans son accroissement”.
优点:
1.可解释性强。 sigmoid函数很好的解释了二分类的问题。同时,在训练过程中的不同特征的权重,也代表了特征的重要性。形式简单,训练速度快。
2.用SGD来优化逻辑回归,其训练开销小,模型简单,易于实现。
缺点:
1.表达能力有限。 不能进行特征交叉,特征筛选等工作,有信息损失。
2.只在处理二分类问题上优势明显。
PLOY2模型
Degree-2 Polynomial Margin
优点:特征两两相交,可以进行特征交叉
缺点:特征向量极稀疏;训练复杂度由n到n方,模型训练时会出现难以收敛的现象
因子分解机模型
优点:降低复杂度为nk,每个隐向量不仅包含自己特征,还有潜在与其它特征之间的关系。
Field-aware Neural Factorization Machine for Click-Through Rate Prediction
GBDT+LR
优点:对原始特征通过GDBT进行了特征组合,产生的模型要小的多,因此计算上和实现上也并不困难。
深度学习推荐系统
演进历程
DeepCrossing
经典Embedding Layer + MultiLayer Perceptron
微软2016
缺点:没有做特殊结构处理,比如特征之间的交叉能力弱,每个神经元基于加法的加权和
Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features
PNN
在embedding和MLP之间加入product Layer来做特征交叉
优点:可以直接得到不同特征之间的交叉信息,得到更精确预测
PNN:Product-based Neural Networks for User Response Prediction
Wide&Deep
谷歌2016
Wide:浅层神经网络(如单层逻辑回归)
Deep:多层神经网络
优点:
1:Wide可以直接的反映特征对结果的影响(显示反馈);快速学习
2:Deep具有更强的拟合能力,可以挖掘更多不同的组合,挖掘高阶的信息
缺点:存在人工特征工程
Wide & Deep Learning for Recommender Systems
DeepFM
华为&哈工大
用FM替换Wide&Deep中的WIde部分的LR
优点:使模型具有更强的自动化特征组合能力,摒弃手动特征工作
DeepFM: A Factorization-Machine based Neural Network for CTR Prediction