深度学习推荐模型-Wide&Deep

本文参考链接,仅供个人学习:

https://github.com/datawhalechina/team-learning-rs/tree/master/DeepRecommendationModel

https://blog.csdn.net/qq_xuanshuang/article/details/105730935

相关学习书籍推荐:《深度学习推荐系统》王喆

Wide & Deep介绍

Wide部分主要作用是让模型具备较强的“记忆能力”;Deep部分的主要作用是让模型具有“泛化能力”。

“记忆能力”:模型直接学习并利用历史数据中的物品或者强特征的“共现频率”的能力。一般来说,协同过滤、逻辑回归等简单模型具有较强的“记忆能力”。这类模型结构简单,没有过多的特征交叉,原始数据往往可以直接影响推荐结果,产生类似于”若点击过A则推荐B“这类规则式的推荐,相当于模型直接记住了历史数据的分布特点,并利用这些记忆进行推荐。多层神经网络特征会被多层处理,不断与其他特征交叉,使得模型对原始强特征的记忆反而不如简单模型。

“泛化能力”:模型传递特征的相关性,以及发觉稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。矩阵分解比协同过滤的泛化能力强,因为MF引入了隐向量,使得数据稀少的用户或者物品也能生成隐向量,从而获得由数据支撑的推荐得分,这就是典型的将全局数据传递到稀有物品上,从而提高泛化能力。再如,深度神经网络通过特征次组合,可以发掘数据中潜在的模式,即使非常稀疏的特征向量输入,也能得到较稳定平滑的推荐概率。
 

Wide & Deep Model

Wide&Deep由浅层(或单层)的Wide部分神经网络和深层的Deep部分多层神经网络组成,输出层采用softmax或logistics regression综合Wide和Deep部分的输出。

Memorization:
之前大规模稀疏输入的处理是:通过线性模型 + 特征交叉。所带来的Memorization以及记忆能力非常有效和可解释。但是Generalization(泛化能力)需要更多的人工特征工程。

Generalization:
相比之下,DNN几乎不需要特征工程。通过对低纬度的dense embedding进行组合可以学习到更深层次的隐藏特征。但是,缺点是有点over-generalize(过度泛化)。推荐系统中表现为:会给用户推荐不是那么相关的物品,尤其是user-item矩阵比较稀疏并且是high-rank(高秩矩阵)

两者区别:
Memorization趋向于更加保守,推荐用户之前有过行为的items。相比之下,generalization更加趋向于提高推荐系统的多样性(diversity)。

Wide & Deep:
Wide & Deep包括两部分:线性模型 + DNN部分。结合上面两者的优点,平衡memorization和generalization。
原因:综合memorization和generalizatio的优点,服务于推荐系统。相比于wide-only和deep-only的模型,wide & deep提升显著。

Wide&Deep模型进化-Deep & Cross模型

  • 利用Cross Net代替Wide部分,增加特征交叉力度

猜你喜欢

转载自blog.csdn.net/qq_36816848/article/details/114951337