前言
CTR预测任务中, 高阶特征和低阶特征的学习都非常的重要。 推荐模型我们也学习了很多,基本上是从最简单的线性模型(LR), 到考虑低阶特征交叉的FM, 到考虑高度交叉的神经网络,再到两者都考虑的W&D组合模型。 其实这些模型又存在着自己的问题,也是后面模型不断需要进行改进的原理,主要有下面几点:
简单的线性模型虽然简单,同样这样是它的不足,就是限制了模型的表达能力,随着数据的大且复杂,这种模型并不能充分挖掘数据中的隐含信息,且忽略了特征间的交互,如果想交互,需要复杂的特征工程。
FM模型考虑了特征的二阶交叉,但是这种交叉仅停留在了二阶层次,虽然说能够进行高阶,但是计算量和复杂性一下子随着阶数的增加一下子就上来了。所以二阶是最常见的情况,会忽略高阶特征交叉的信息
DNN,适合天然的高阶交叉信息的学习,但是低阶的交叉会忽略掉,并且不能够实时的进行更新参数,而且记忆能力较弱。
W&D模型进行了一个伟大的尝试,把简单的LR模型和DNN模型进行了组合, 使得模型既能够学习高阶组合特征,又能够学习低阶的特征模式,但是W&D的wide部分是用了LR模型, 这一块依然是需要一些经验性的特征工程的,且Wide部分和Deep部分需要两种不同的输入模式, 这个在具体实际应用中需要很强的业务经验。
所以相应的算法也就应运而生,关于FNN、DeepFM前面都已经讲解过了,今天讲一下NFM,希望大家千万不要混淆了,hhh。
一、NFM模型的原理和论文细节
NFM(Neural Factorization Machines)是2017年由新加坡国立大学的何向南教授等人在SIGIR会议上提出的一个模型。 在介绍DeepFM的时候, 作者就首先分析了一下FM存在的问题,没法考虑高阶特征交互的问题, 这个在模拟复杂内在结构和规律性的真实数据时,FM的能力会受到限制,所以DeepFM的作者才想到了用FM和DNN网络进行一种并联的方式, 两者接收同样的输入, 但是各自学习不同的特征(一个负责低阶交互,一个负责高阶交互), 最后再把学习到的结果合并得到最终的输出,并通过实验也证明了这种策略的有效性。
虽然FM已经是公认的是稀疏数据中进行预测最有效的方法之一,但是真实的数据往往是非线性的。FM虽然能够比较好的处理稀疏数据, 也能学习稀疏数据间的二阶交互, 但说白了,这个还是个线性模型, 且交互仅仅限于二阶交互。
所以,作者这里的想法是利用神经网络的非线性和强表达能力来改进一下FM模型,得到一个增强版的FM模型,所以还是 老套路就是将这两个模型进行组合一下。毕竟FM和DNN在稀疏数据的优势非常明显且正好又互补, 且W&