阅读场景:业余闲暇
推荐指数:★★★★☆
一本把推荐领域中各类模型全面且系统地梳理清楚,既能把推荐的各种工程问题描述明白又能紧跟业界前沿。不错的入门书籍,深入浅出、大道至简。作者能用简单易懂的语言描述各种推荐模型,并能类比优劣,可见作者本身已完全吃透了这些模型并具有自己独特的见解。阅读本书需要有深度学习基础知识即可
传统推荐模型的发展主要经历了四个阶段:
- 协同过滤CF算法阶段:只需用户物品共现矩阵就可以构建推荐系统,根据相似度取值对象可分为itemCF和userCF两类,优势是简单易实现。CF的问题是泛化能力弱,无法应对稀疏矩阵,而矩阵分解作为协同过滤的进化版,克服了CF的缺点。
- 逻辑回归LR阶段:综合利用用户、物品、上下文等多种不同的特征,假设用户是否点击广告服从伯努利分布,将推荐问题转化为点击率预估(CTR)问题,预测正样本概率对物品进行排序。其数学形式是各个特征的加权和经过sigmoid函数,得到用户点击物品的概率。LR的优势是可解释性强、易于并行化、模型简单、训练开销小。其局限性在于表达能力不强,需要大量具有业务背景知识的人工特征筛选与交叉。
- 因子分解机FM阶段:为每个特征学习一个隐向量,在特征交叉时,使用两个特征隐向量的内积作为交叉特征的权重。虽然FM相比POLY2的完全交叉+单一权重记忆能力略弱,但解决了特征交叉过程中交叉特征对应的数据过于稀疏无法充分学习权重的问题。FFM引入特征域进一步增强了模型的表达能力,做特征交叉时,每个特征选择与对方域对应的隐向量的内积作为交叉特征的权重,但FFM的计算复杂度也由kn上升到kn*n。
- 组合模型阶段:这一阶段主要是为了进一步提高特征交叉的维度,同时融合多个模型的优点。GBDT+LR是组合模型的代表方案,GBDT自动进行特征筛选和组合得到新的离散特征向量输入LR模型。GBDT+LR的组合方式开启了特征工程模型化的趋势,真正实现端到端训练。
深度学习阶段的推荐模型总结起来,有七个演变方向:
- 改变神经网络的复杂程度:增加深度神经网络的层数和结构复杂度。
- 丰富特征交叉方式:改变特征向量的交叉方式,如NeuralCF,PNN(Product-based Neural Network)。
- 组合模型:组合两种不同特点、优势互补的网络,主要是指Wide&Deep及其后续各种改进模型如Deep&Cross、DeepFM等。
- FM模型的深度学习演化:对FM模型的各种改进,包括NFM(Neural Factorization Machine)使用神经网络提升FM二阶交叉部分的特征交叉能力、FNN(Factorization-machine supported Neural Network)利用FM的结果进行网络初始化、AFM(Attention neural Factorization Machine)在FM中引入注意力机制。
- 引入注意力机制:主要包括上述的AFM和DIN(Deep Interest Network, 深度兴趣网络)模型
- 融合序列模型:使用序列模型模拟用户行为或用户兴趣的演化趋势,如DIEN(Deep Interest Evolution Network,深度兴趣进化网络)
- 结合强化学习:主要是为了模型的在线学习和实时更新,包括DRN(Deep Reinforcement Learning Network, 深度强化学习网络)