论文阅读:(NFM)Neural Factorization Machines for Sparse Predictive Analytics

摘要

在很多预测任务中要对特征进行one-hot编码,使得最终的特征向量高度稀疏,因此需要进行特征交互。
FM模型只能表达特征之间两两组合之间的关系,无法建模两个特征之间深层次的关系或者说多个特征之间的交互关系。
因此学者们通过Deep Network来建模更高阶的特征之间的关系。然而Wide&deep和deepcross因为其深度结构而难以训练。
因此 FM和深度网络DNN的结合也就成为了CTR预估问题中主流的方法。有关FM和DNN的结合有两种主流的方法,并行结构和串行结构。两种结构的理解以及实现如下表所示:
在这里插入图片描述
从理论上讲,NFM比FM更有表现力,因为FM可以被看作是没有隐藏层的NFM的一个特例。两个回归任务的实证结果表明,只有一个隐含层时,NFM显著优于FM,改善幅度为7.3%。

关键词:Factorization Machines, Neural Networks, Deep Learning, Sparse
Data, Regression, Recommendation
论文开源代码https://github.com/hexiangnan/neural_factorization_machine

一、Introduction

最近几年,Embedding-based方法开始成为主流,通过把高维稀疏的输入embed到低维度的稠密的隐向量空间中,模型可以学习到训练集中没有出现过的特征组合。

Embedding-based大致可以分为两类:

  1. factorization machine-based linear models
  2. neural network-based non-linear models

而这两者都有其缺陷:

  1. FM还是属于线性模型,它的表达能力受限,而且它只能对二阶组合特征进行建模。
  2. 虽然多层神经网络已经被证明可以有效的学习高阶特征组合。但是DNN的缺点也很明显:网络优化或者说网络学习比较困难。

关于DNN,多说两句:

业内大部分DNN的架构都是:把特征的嵌入向量简单拼接起来,输入到神经网络中学习。这样简单的拼接嵌入向量,因为缺失了很多组合特征的信息(carry too little information about feature interactions in low level)效果并不好,那么只能寄希望于后面的MLP可以弥补不足。

但是为了提高NN的学习能力就需要增加网络层数,复杂的网络结构会收到诸如梯度消失/爆炸、过拟合、degradation(简单说就是:随着网络层数的增加,训练准确率不升反降,非常反常)等问题的困扰,网络的学习或者优化会非常困难。

如下图所示,如果使用FM预训练初始化嵌入层,Wide&Deep和DeepCross性能都提升了,甚至超过了FM。Wide&Deep的degradation问题也解决了,因为训练集的性能得到了提升。但是两者依旧都有过拟合的问题。实验说明DNN的训练学习真的存在困难。
在这里插入图片描述
FM摒弃了直接把嵌入向量拼接输入到神经网络的做法,在嵌入层之后增加了Bi-Interaction操作来对二阶组合特征进行建模。这使得low level的输入表达的信息更加的丰富,极大的提高了后面隐藏层学习高阶非线性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值