Wide&Deep和DeepFM

《Wide & Deep Learning for Recommender Systems》:Google,2016年提出,应用商店做排序;

《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction》:华为,2017年提出,应用商店做排序;

 

很好的博客

LR: 优势是速度快,便于加特征,可解释;

FM: 二阶特征交叉;

Deep: 高阶特征交叉;

 

Wide&Deep:

wide侧:用特征工程做的交叉特征,仍然起作用;主要负责记忆功能,记住样本中出现过的特征交叉;

deep侧:有泛化功能,学习特征的embedding,泛化到那些未曾出现过的特征交叉。

Wide&Deep和DeepFM

x是wide侧特征,Wide&Deep和DeepFM是wide侧的低阶交叉特征,a(l)是deep侧输出结果;

记忆:倾向于给用户推他已经点击过的东西;

泛化:倾向于给用户推的东西更多样性;

Wide&Deep和DeepFM

谷歌应用商店:#开头的是数字;User Installed App是多个App(Multi-hot),Impression App是当前要预测的曝光App,这两者的交叉特征送到wide侧;

wide部分用带L1正则化的FTRL优化,deep部分用AdaGrad优化,两个部分联合训练。

 

DeepFM:

Wide&Deep和DeepFM

红线是权重为1;FM层第一个元素"+"是所有1特征的一阶线性加权和,后面的"X"是所有1特征的二阶交叉加权和(用向量点乘实现,实际是矩阵分解);

Wide&Deep和DeepFM

细节:

1)两种网络,**函数Relu效果好于tanh。
2)DeepFM每个隐层的unit在200到400之间效果最佳,相比wide&deep的unit数量要少一些。
3)两种网络,3层网络效果最佳。
4)在总的神经单元数量固定的情况下,constant结构效果最佳(constant表示每个隐层的unit数量相同);而wide&deep采用的是塔式结构,越往上unit数量越少。
5)embedding维度:DeepFM的embedding维度为10,wide&deep的是32维,两个都不大。

实践中AUC涨幅:Wide&Deep比LR高2.7个百分点,DeepFM比Wide&Deep高0.6个百分点。