20180809-0816论文阅读笔记 Neural Factorization Machines for Sparse Predictive Analytics by National Unniversity of Singapore
ABSTRACT
FM只有线性方法处理的二阶(second-order)特征,对于现实世界中非线性的、复杂结构的数据并不够用。
Wide&Deep 和 DeepCross的deep 结构又难以训练。
NFM则无缝衔接了FM的二阶特征相互作用和神经网络的高阶特征的非线性。
1.INTRODUCTION
说他们引入了 Bilinear Interaction (Bi-Interaction) pooling ,但没描述大概是个什么,只引入了概念,留待后面解释。
使用两个公共benchmark: context-aware prediction and personalized tag recommendation 验证效果。
2.MODELLING FEATURE INTERACTIONS
先介绍了FM和FM的短板
然后介绍了DNN的发展,但是还很少被用在信息检索和数据挖掘领域,由于IR和DM任务涉及的数据都过于稀疏。而DNN对于稀疏数据的学习能力和高效训练方法都有待研究。
另外简单将嵌入的向量连接起来,携带的低层次特征相互作用太少了,想解决这个问题,就要用DNN的深度去弥补,但是太深有带来了梯度爆炸、消失,过拟合,退化等问题。作者实验证明,WideDeep有退化问题,WideCross有过拟合问题。
受FNN启发,作者探索了使用FM学到的嵌入特征初始化DNNs,即一个预训练步骤。之后运用到W&D和W&C,还是存在问题。
进而提出自己的Bi-interaction operation。
3.NEURAL FACTORIZATION MACHINES
Embedding layer:设定一个隐特征数k,之后将稀疏的输入向量的每一维对应一个k维新向量,意义为:这个特征对应的各个隐特征的取值。
之后将特征值和特征对应隐向量pointwise相乘,得到这个特征对应的各个隐特征在特征取值下的对应的值。
Bi-Interaction Layer:并非简单地将各个特征的新向量相加,得到整体的新的隐特征向量。而是将每个特征与其他特征对应的隐向量取值相乘再相加,得到的就是二阶相互作用对应的新隐向量的和了。


上式可以简化到线性时间完成,即用:

那么怎么从下面的式子得到上面的式子的呢?
我们不妨用$u_i$代替$x_iv_i$,$u_iu_j$代替$u_i\odot u_j$那么,
$上式=u_1u_2+u_1u_3+...+u_1u_n+u_2u_3+...+u_2u_n+...+u_{n-1}u_n$
$下式=0.5[(u_1+u_2+...+u_n)^2-(u_1^2+u_2^2+...+u_n^2)]=上式$
得证。
NFM相对Wide&Deep,在Deep部件中加入了,Bi-interaction Layer,将cross interaction部分在deep中完成了,而WD中这部分是在Wide部分手动完成的。
NFM可以被运用到各种问题中去。
BN加在Bi-interaction层的输出和每层连续的隐层的输入
Dropout加在每个隐层之后
4.EXPERIMENTS
不懂就问:
-degradation 退化问题是啥
-FNN? FM-supported Neural Network :W. Zhang, T. Du, and J. Wang. Deep learning over multi-eld categorical data. In ECIR, 2016
-covariance shift:It means that the distribution of each layer’s inputs changes during training, as the parameters of the previous layers change

浙公网安备 33010602011771号