papers地址:https://arxiv.org/pdf/1708.05027.pdf

  借用论文开头,目前很多的算法任务都是需要使用category feature,而一般对于category feature处理的方式是经过one hot编码,然后我们有些情况下,category feature 对应取值较多时,如:ID等,one hot 编码后,数据会变得非常的稀疏,不仅给算法带来空间上的复杂度,算法收敛也存在一定的挑战。

  为了能解决one hot 编码带来的数据稀疏性的问题,我们往往能想到的是不是通过其他的编码Embeding方式。恰好深度学习的爆发,我们可以通过深度学习构架神经网络对category feature进行embeding。为了介绍该篇论文,主要围绕该篇论文进行介绍一下。论文主要分为四个部分:

第一部分:介绍背景

第二部分:介绍Factorization Machines和DNN

第三部分:介绍NFM网络结构及其原理(本文的重点)

第四部分:实验部分

最后谈谈个人的理解和想法。

1、介绍背景

如上面所述,背景部分主要内容说的现阶段的问题和痛点:

(1)category feature在传统机器学习中处理的方法——one hot编码,而这种编码方式会带来数据的维度暴增和数据的稀疏性。这个会给传统机器学习带来空间复杂度和算法收敛较为困难。

(2)FM的二阶交叉项仅仅是两两之间的交叉特征,对于三阶或者高阶的特征并不能很好的表达。

2、介绍Factorization Machines和DNN

(1)Factorization Machines 因式分解机

  因式分解机是在LR的基础之上,增加一个二阶交叉特征。其表达式如下所示:

          

  其中,vi和vj是通过矩阵分解的方式得到。

(2)DNN

  DNN实际上就会一个全连接的深度神经网络,该网络的特点主要是具有一定的层数,层与层之间是全连接的。

3、NFM网络及其原理

(1)NFM的原理和表达式:

               

  从表达我们可以看出,其基本形式与FM是一致的,区别在于最后一项,NFM使用的是一个f(x)来表示,实际上该f(x)是一个统称,他表示的一个网络的输出。该网络如下所示:

                

  从f(x)的网络结构我们同样可以看出,其主要解决的问题就是二阶交叉项的问题。其结构是:

  1)第一层是输入层/,即输入category feature

  2)第二层Embeding,对category feature进行编码

  3)第三层是二阶交叉项层,该层论文中主要是通过网络得到二阶交叉特征,计算方式:(a+b)^2-a*b 得到二阶交叉项

  4)DNN层,该层是通过DNN提取高阶特征

以上就是NFM的基本原理和网络结构。

4、实验部分

  实验部分主要用了两个数据集,分别如下:

  

  实验结构如下所示:

    

5、感悟

从该论文内容来看,基本上还是围绕着怎么解决(1)category feature 编码的问题和(2)获取高阶特征,通过神经网络来优化FM,提出了一个NFM的网络结构。论文主要创新点是:

1、Embeding

2、将二阶交叉特征通过DNN提取高阶特征

DeepCTR专题:Neural Factorization Machines 论文学习和实现及感悟的更多相关文章

  1. DeepCTR专题:DeepFM论文学习和实现及感悟

    论文地址:https://arxiv.org/pdf/1703.04247.pdf CTR预估我们知道在比较多的应用场景下都有使用.如:搜索排序.推荐系统等都有广泛的应用.并且CTR具有极其重要的 地 ...

  2. Factorization Machines 学习笔记(三)回归和分类

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  3. Factorization Machines 学习笔记(四)学习算法

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法.它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  4. Factorization Machines 学习笔记(二)模型方程

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  5. Faster RCNN论文学习

    Faster R-CNN在Fast R-CNN的基础上的改进就是不再使用选择性搜索方法来提取框,效率慢,而是使用RPN网络来取代选择性搜索方法,不仅提高了速度,精确度也更高了 Faster R-CNN ...

  6. 论文学习笔记 - 高光谱 和 LiDAR 融合分类合集

    A³CLNN: Spatial, Spectral and Multiscale Attention ConvLSTM Neural Network for Multisource Remote Se ...

  7. 分解机(Factorization Machines)推荐算法原理

    对于分解机(Factorization Machines,FM)推荐算法原理,本来想自己单独写一篇的.但是看到peghoty写的FM不光简单易懂,而且排版也非常好,因此转载过来,自己就不再单独写FM了 ...

  8. 【论文学习】Is the deconvolution layer the same as a convolutional layer

    结合上升采样upsample和卷积操作.Sub-piexl convolution. Efficient Sub-pixel-convolutional-layers. LR network,即低分辨 ...

  9. 《Explaining and harnessing adversarial examples》 论文学习报告

    <Explaining and harnessing adversarial examples> 论文学习报告 组员:裴建新   赖妍菱    周子玉 2020-03-27 1 背景 Sz ...

随机推荐

  1. Jenkins部署的时候报错

    拿了一个最简单的,好不容易maven开始跑了 最终给我报错了 [INFO] -------------------------------------------------------------- ...

  2. 【React】学习之道

    一.工欲善其事必先利其器 - 准备工作 安装vscode:https://code.visualstudio.com/ 安装node.js:https://nodejs.org/en/ 安装gitba ...

  3. 修改Ubuntu锁屏快捷键

    修改为Win + L. 避免与Phpstorm中的代码格式化冲突.

  4. win2008 401 - 未授权: 由于凭据无效,访问被拒绝。解决方法

    iiis中一个小配置的问题,“身份验证”里面“启用匿名身份验证”,编辑匿名身份验证凭据,选中下面的“应用程序池标识”  就可以了

  5. 构建可扩展的微博架构(qcon beijing 2010演讲)#高并发经验值#

    构建可扩展的微博架构(qcon beijing 2010演讲) http://timyang.net/architecture/microblog-design-qcon-beijing/ 互联网架构 ...

  6. 8.1 GOF 设计模式:关于设计模式

    关于设计模式…Design Pattern  追求永恒的美1.1 “模式”一词的起源 “每个模式描述了: 一个在我们周围反复出现的问题, 然后是针对这个问题的解决方案. 这样,其他人可以无数次地反复 ...

  7. js点击加载更多可以增加几条数据的显示

      <div class="list"> <div class="one"> <div class="img" ...

  8. spring cloud(四)熔断器Hystrix

    熔断器 雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应.服务雪崩效应是一种因“服务提供者”的不可用导致“服务 ...

  9. OO第二单元多线程电梯总结分析

    一.概述 这一部分的作业考察的关注点与上一次的作业有所不同,上一次的考察重点主要集中在输入输出的判定以及多态的考察上面,而这一次是让我们进行多线程程序的调度与开发.这次开发过程中最大的感受就是自己之前 ...

  10. jsp转发与重定向的区别

    1.转发的实现其实很简单,使用request的getRequestDispatch()方法得到RequestDispatch对象,然后在括号里放转发的地址,然后用这个对象调用forward()方法,里 ...