主线3.1DeepFM模型论文阅读:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

2023-11-06

一、摘要

对于一个基于CTR预估的推荐系统,最重要的是学习到用户点击行为背后隐含的特征组合。在不同的推荐场景中,低阶组合特征或者高阶组合特征可能都会对最终的CTR产生影响。但是现存的方法总是忽视了高阶或低阶组合特征的联系,或者要求专门的特征工程,因此作者建立了DeepFM模型,将FM与DNN结合起来(这点跟wide&deep的结合有异曲同工之妙,后面会讲到)。

二、模型演变和各模型间的对比

1、CTR的任务要求

1、CTR的数据特点:
1、输入中包含类别型和连续型数据。类别型数据需要one-hot,连续型数据可以先离散化再one-hot,也可以直接保留原值
2、维度非常高且数据非常稀疏
3、引入FFM后特征按照Field分组

2、CTR的预估重点:
CTR预估重点在于学习组合特征。
其中,组合特征包括二阶、三阶甚至更高阶的,阶数越高越复杂,越不容易学习。Google的论文研究得出结论:高阶和低阶的组合特征都非常重要,同时学习到这两种组合特征的性能要比只考虑其中一种的性能要好。

那么关键问题转化成:如何高效的提取这些组合特征。
一种办法就是引入领域知识人工进行特征工程。这样做的弊端是高阶组合特征非常难提取,会耗费极大的人力。而且,有些组合特征是隐藏在数据中的,即使是专家也不一定能提取出来,比如著名的“尿布与啤酒”问题。

2、DeepFM模型的引入

为了解决上文提到的提取组合特征的问题,该论文作者借鉴了Google的wide & deep的做法提出了DeepFM模型。

DeepFM模型本质是
1、将Wide & Deep 部分的wide部分由 人工特征工程+LR 转换为FM模型,避开了人工特征工程;
2、FM模型与deep part共享feature embedding。

Q1、为什么要用FM代替线性部分(wide)呢?
因为线性模型有个致命的缺点:无法提取高阶的组合特征。
FM通过隐向量latent vector做内积来表示组合特征,从理论上解决了低阶和高阶组合特征提取的问题。但是实际应用中受限于计算复杂度,一般也就只考虑到2阶交叉特征。

3、各模型间的对比

1、随着DNN在图像、语音、NLP等领域取得突破,人们意识到DNN在特征表示上的天然优势。相继提出了使用CNN或RNN来做CTR预估的模型。
但是,CNN模型的缺点是:偏向于学习相邻特征的组合特征。
RNN模型的缺点是:比较适用于有序列(时序)关系的数据。

2、FNN (Factorization-machine supported Neural Network) 的提出,应该算是一次非常不错的尝试:先使用预先训练好的FM,得到隐向量,然后作为DNN的输入来训练模型。缺点在于:受限于FM预训练的效果。

3、PNN (Product-based Neural Network),PNN为了捕获高阶组合特征,在embedding layer和first hidden layer之间增加了一个product layer。根据product layer使用内积、外积、混合分别衍生出IPNN, OPNN, PNN*三种类型。

无论是FNN还是PNN,他们都有一个绕不过去的缺点:**对于低阶的组合特征,学习到的比较少。**而前面我们说过,低阶特征对于CTR也是非常重要的。

4、为了同时学习低阶和高阶组合特征,Google提出了Wide&Deep模型。它混合了一个线性模型(Wide part)和Deep模型(Deep part)。这两部分模型需要不同的输入,而Wide part部分的输入,依旧依赖人工特征工程。

4、DeepFM优势

3中的这些模型普遍都存在两个问题:
偏向于提取低阶或者高阶的组合特征。不能同时提取这两种类型的特征。
需要专业的领域知识来做特征工程。

DeepFM在Wide&Deep的基础上进行改进,成功解决了这两个问题,并做了一些改进,其优势如下:
1.不需要预训练FM得到隐向量
2.不需要人工特征工程
3.能同时学习低阶和高阶的组合特征
4.FM模块和Deep模块共享Feature Embedding部分,可以更快的训练,以及更精确的训练学习

三、DeepFM模型介绍

deepFM原论文可点击这里下载
在这里插入图片描述
如上图所示整体结构为FM Component + Deep Component。
FM提取低阶组合特征,Deep提取高阶组合特征。但是和Wide&Deep不同的是,DeepFM是端到端的训练,不需要人工特征工程。
另外FM和Deep部分共享feature embedding。FM和Deep共享输入和feature embedding不但使得训练更快,而且使得训练更加准确。相比之下,Wide&Deep中,input vector非常大,里面包含了大量的人工设计的pairwise组合特征,增加了他的计算复杂度。

1、FM部分

在这里插入图片描述
FM部分的输出由两部分组成:一个Addition Unit,多个内积单元。
在这里插入图片描述
Addition Unit 反映的是1阶的特征。内积单元反映的是2阶的组合特征对于预测结果的影响。

FM部分的特点:
FM模块实现了对于1阶和2阶组合特征的建模;
没有使用预训练;
没有人工特征工程;
embedding矩阵的大小是:特征数量 * 嵌入维度。 然后用一个index表示选择了哪个特征。

FM需要训练的两部分:
input_vector和Addition Unit相连的全连接层,也就是1阶的Embedding矩阵。
Sparse Feature到Dense Embedding的Embedding矩阵,中间也是全连接的,要训练的是中间的权重矩阵,这个权重矩阵也就是隐向量V。

2、Deep部分

在这里插入图片描述
Deep Component是用来学习高阶组合特征的。网络里面黑色的线是全连接层,参数需要神经网络去学习。

由于CTR或推荐系统的数据one-hot之后特别稀疏,如果直接放入到DNN中,参数非常多,我们没有这么多的数据去训练这样一个网络。所以增加了一个Embedding层,用于降低纬度。

Embedding层,两个特点:
尽管输入的长度不同,但是映射后长度都是相同的.embedding_size(k)
embedding层的参数其实是全连接的Weights,是通过神经网络自己学习到的。

代码实现部分可以参考这篇文章
https://www.jianshu.com/p/6f1c2643d31b
FM部分的一些细节介绍和模型比较可参考这篇文章
https://blog.csdn.net/Dby_freedom/article/details/85263694

参考:
https://blog.csdn.net/qq_35564813/article/details/86022277
https://blog.csdn.net/Dby_freedom/article/details/85263694
https://www.jianshu.com/p/6f1c2643d31b

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

主线3.1DeepFM模型论文阅读:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 的相关文章

随机推荐

  • 数据挖掘工程师主要做什么?

    转自 微点阅读 https www weidianyuedu com content 5317504350632 html 数据挖掘工程师负责科技数据挖掘算法模型的构建 应用 评测 报告 下面是第一范文网小编为您精心整理的数据挖掘工程师的基
  • SIMPLIS仿真软件1-SIMPLIS介绍

    SIMPLIS仿真软件1 SIMPLIS介绍 导读 SIMPLIS是什么 SIMPLIS的三种分析模式 SIMPLIS的三个关键概念 1 SIMPLIS是时域仿真 2 SIMPLIS的模型都是PWL模型 3 SIMPLIS的特有的POP的作
  • hausman检验_互助问答第302期:关于内生性检验的问题

    http weixin qq com r PTkwKHjEvSXCrTxL92wv 二维码自动识别 关于内生性检验的问题老师 您好 关于内生变量的检验常常相互矛盾 请问应当以哪种检验结果为准呢 1 首先进行豪斯曼检验结果如下 结论拒绝所有解
  • 怎样才能从Java初级程序员成长为一名合格的架构师?

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师 或者说一名合格的架构师应该有怎样的技术知识体系 这不仅仅是一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题 下面 我来详细回答这些问题 希望这篇文章
  • 基于Python和mysql开发的智慧校园答题考试系统(源码+数据库+程序配置说明书+程序使用说明书)

    一 项目简介 本项目是一套基于Python和mysql开发的智慧校园答题考试系统 主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者 包含 项目源码 项目文档 数据库脚本等 该项目附带全部源码可作为毕设使用 项目
  • 搭建自己的searx搜索引擎

    Searx是一个隐私尊重的免费元搜索引擎 它具有以下功能特性 自我托管 默认不使用 Cookie 不跟踪 不分析用户 不收集用户数据 不与第三方共享用户数据 提供安全的加密连接 HTTPS SSL 等 如果您更在意隐私而不是效率 这会是一个
  • PPTP L2TP IPsec

    点对点隧道协议 PPTP PPTP是一个第2层的协议 将PPP数据桢封装在IP数据报内通过IP网络 如Internet传送 PPTP还可用于专用局域网络之间的连接 RFC草案 点对点隧道协议 对PPTP协议进行了说明和介绍 该草案由PPTP
  • springboot+cache缓存下(原理篇)

    原理 1 自动配置类 CacheAutoConfiguration 在idea中使用快捷键ctrl shift n 查找出CacheAutoConfiguration类 看到import中有导入CacheConfigurationImpor
  • S7-1200 PLC的数据类型

    S7 1200 PLC的数据类型 除了基本数据类型之外 还支持一些复杂的数据类型 包括结构数据类型Struct PLC数据类型UDT 数组Array 系统数据类型SDT 硬件数据类型DB ANY 参数数据类型Variant String和C
  • C++11静态断言static_assert

    C 11静态断言static assert 一 运行时断言 二 静态断言的需求 三 静态断言 四 单参数版本的静态断言 一 运行时断言 断言 assertion 是一种编程中常用的手段 在通常情况下 断言就是将一个返回值总是需要为真的判别式
  • vue3 组合式api中 ref 和$parent 的使用

    ref 的使用 vue3中 在 组件中添加一个 component ref xxx 就可以在父组件中得到 子组件的 dom 对象 以及 虚拟的 dom 对象 有了虚拟 dom 我们就可以在父组件中控制子组件的显示了 ref 的使用方法 vu
  • vue中的富文本框的使用(vue-quill-editor)

    一 安装 vue quill editor npm install vue quill editor 二 在main js中引入 import VueQuillEditor from vue quill editor import quil
  • Android Widget:DrawerLayout配合Toolbar的使用及常见问题

    前言 最近在仿写网易云音乐安卓端界面 记录下所遇到的问题及解决方案 DrawerLayout的基础使用 DrawerLayout经常配合NavigationView及Toolbar使用 编写侧滑栏 1 首先添加支持 implementati
  • MapReduce处理csv

    MapReduce处理csv csv是由逗号 来分割的文件 在编写Mapper类的时候需要以 分割成一个个的数据 查看一下csv数据 以上是为了测试做的数据 要处理的结果就是经过mapreduce再原封不动的出来 因为是测试 所以内容不做任
  • 搭建虚拟专网络服务器

    搭建虚拟专网络服务器 准备环境 一台windows server2008R2 服务器 没有安装ad域服务的 IP地址为 192 168 4 92 一台物理机windows 10 家庭版 1 首先安装 网络策略和访问服务 第二步 勾选上远程访
  • 为什么普通人赚钱这么难?普通人的赚钱之路在哪里

    前几天听一个老家的朋友说 辛辛苦苦一整年 发现并没有赚到什么钱 付出与收入不成正比 首先要知道勤奋 努力并不一定就能够赚到钱 像送外卖的 工地上班的 厂里上班的哪个不勤奋 但他们即使非常努力工作一个月 扣除基本开支 也存不了多少钱 那普通人
  • GNS3-GREvpn

    GREvpn 发一下这些日忙的东西 实验拓扑 以R2为界限的左半边运行ospf 各个链路已经ping通 用R7模拟PC1 PC1和R2的f0 0来回链路没问题 右半边同左半边做相应的配置也成功ping通 在R2和R3之间建立vpn隧道 网段
  • 利用Matlab绘制图像中的某一行或者某一列的灰度曲线

    filename C Users Administrator Desktop 透视变换 包含裂缝的整个图片 123 jpg imgData imread filename imshow imgData 该函数可以用来显示已经读入的数据 A
  • 解决AD中pcb原件移动提示绿色报错问题

    有可能以下三个原因之一所导致的 1 不符合DRC规则 比如原件之间距离过近 就是报错 2 右下角ROOM没有删除 右键清楚就可以啦 3 如果以上两个确证都是正常的 还是报错的话 终极解决方案 step1 在pcb界面下 点击design n
  • 主线3.1DeepFM模型论文阅读:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

    文章目录 一 摘要 二 模型演变和各模型间的对比 1 CTR的任务要求 2 DeepFM模型的引入 3 各模型间的对比 4 DeepFM优势 三 DeepFM模型介绍 1 FM部分 2 Deep部分 一 摘要 对于一个基于CTR预估的推荐系