深度学习(十二)wide&deep model

推荐系统在电商等平台使用广泛,这里讨论wide&deep推荐模型,初始是由google推出的,主要用于app的推荐。

  • 概念理解

Wide & Deep模型,旨在使得训练得到的模型能够同时获得记忆(memorization)和泛化(generalization)能力:

记忆(memorization)即从历史数据中发现item或者特征之间的相关性。

泛化(generalization)即相关性的传递,发现在历史数据中很少或者没有出现的新的特征组合。

具体到模型定义角度,wide是指广义线性模型(Wide Linear Model)deep是指深度神经网络(Deep Netural Network)

模型结构图如下:

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

Wide & Deep包括两部分:线性模型 + DNN部分。结合上面两者的优点,平衡memorization和generalization。

  • 模型训练

训练方法是用mini-batch stochastic optimization。

Wide部分是用FTRL(Follow-the-regularized-leader) + L1正则化学习。

Deep部分是用AdaGrad来学习

  • Embedding维度大小

在Deep模型中需要将稀疏矩阵进行embedding,Wide&Deep的作者指出,从经验上来讲Embedding层的维度大小可以用公式来确定:

n是原始维度上特征不同取值的个数;k是一个常数,通常小于10.

  • 代码实践

(未完待续)

 

 

 

 

原文地址:https://www.cnblogs.com/lightsun/p/9512390.html