DeepCTR专题:DeepFM论文学习和实现及感悟
论文地址:https://arxiv.org/pdf/1703.04247.pdf
CTR预估我们知道在比较多的应用场景下都有使用。如:搜索排序、推荐系统等都有广泛的应用。并且CTR具有极其重要的 地位,特别相对广告推荐领域来说更加如此,竞价广告需要通过ctr给出相应的价格,并由此获得广告曝光的机会。而ctr的大小决定了出价的高低,直接会影响到该广告是否能得到曝光机会。这里涉及到计算广告相关的知识,暂时就不展开讲了。这里主要介绍一下DeepFM该算法的基本原理和网络框架。
论文总体来看还是相对比较容易的,主要分为三个部分:
第一部分:算法的主要背景
第二部分:DeepFM的基本网络框架和原理
第三部分:实验(papers必须有的部分)
下面分别从我个人理解的角度来说说每个部分吧:
1、DeepFM算法的背景
(1)首先我们同样要回顾一下FM算法的基本原理,FM主要是在LR的基础上增加了二阶交叉项的概念,从而可以获得一些轿车特征。但是算法每个特征两两交叉的话,算法复杂度是O(n平方),
所以,为了优化FM算法,将矩阵分解应用其中。
FM的缺点是:
1)仅仅两两之间的交叉特征
2)只能获得二阶交叉的特征,对于高阶特征并没有涉及
(2)从16年wide-deep算法中,或多或少的作者受到了一些启发,于是想到可以对FM算法利用深度学习进行优化,预计就提出了DeepFM算法。
2、DeepFM算法的基本原理(个人觉得还是比较简单的)
(1)总体网络结构
网络结构中,主要包含Deep部分和FM部分,网络结构类似Wide-Deep结构。
(2)算法的原理
首先网络最终输出是:
其中,FM部分如下所示:
Deep部分如下所示:
网络就是这么简单,就是讲这两部分的输出进行求和并输出。
3、实验。实验部分可以学习别人调节参数的经验。
(1)Dropout设置:
从作者的实验来看,dropout设置为0.9效果最佳
(2)隐藏层数设定
从上图来看,作者实验数据表明,隐层数量=3效果最佳
(3)隐藏层神经元个数
神经元个数的变化: constant (200-200-200), increasing (100-200-300),decreasing (300-200-100), and diamond (150-300-150)
DeepCTR专题:DeepFM论文学习和实现及感悟的更多相关文章
- DeepCTR专题:Neural Factorization Machines 论文学习和实现及感悟
papers地址:https://arxiv.org/pdf/1708.05027.pdf 借用论文开头,目前很多的算法任务都是需要使用category feature,而一般对于category f ...
- Objective-C专题,是学习iOS开发的前奏(转)
第一个OC的类 来源:http://www.cnblogs.com/mjios/archive/2013/04/06/3002814.html 本文目录 一.语法简介 二.用Xcode创建第一个OC的 ...
- Faster RCNN论文学习
Faster R-CNN在Fast R-CNN的基础上的改进就是不再使用选择性搜索方法来提取框,效率慢,而是使用RPN网络来取代选择性搜索方法,不仅提高了速度,精确度也更高了 Faster R-CNN ...
- 《Explaining and harnessing adversarial examples》 论文学习报告
<Explaining and harnessing adversarial examples> 论文学习报告 组员:裴建新 赖妍菱 周子玉 2020-03-27 1 背景 Sz ...
- 论文学习笔记 - 高光谱 和 LiDAR 融合分类合集
A³CLNN: Spatial, Spectral and Multiscale Attention ConvLSTM Neural Network for Multisource Remote Se ...
- Apache Calcite 论文学习笔记
特别声明:本文来源于掘金,"预留"发表的[Apache Calcite 论文学习笔记](https://juejin.im/post/5d2ed6a96fb9a07eea32a6f ...
- GoogleNet:inceptionV3论文学习
Rethinking the Inception Architecture for Computer Vision 论文地址:https://arxiv.org/abs/1512.00567 Abst ...
- IEEE Trans 2008 Gradient Pursuits论文学习
之前所学习的论文中求解稀疏解的时候一般采用的都是最小二乘方法进行计算,为了降低计算复杂度和减少内存,这篇论文梯度追踪,属于贪婪算法中一种.主要为三种:梯度(gradient).共轭梯度(conjuga ...
- Raft论文学习笔记
先附上论文链接 https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf 最近在自学MIT的6.824分布式课程,找到两个比较好的githu ...
随机推荐
- 4.3 thymeleaf模板引擎的使用
参考说明:以下笔记参考来自尚硅谷springboot教学中的笔记! thymeleaf官网docs: https://www.thymeleaf.org/documentation.html 模板引擎 ...
- MATLAB 符号变量表达式 + 方程求解
源代码见文末 部分源代码: % 符号变量 两种表达方式 a=sym('a'); class(a); syms b; b; % 符号常量 c=sym('); c; % 符号表达式 三种表达方式 f1=' ...
- Nginx启动,证书报错SSL_CTX_use_PrivateKey_file.....
报错nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/ssl/myxxxxgame201904.key") failed ...
- classList用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 处女座与复读机 DP
题目链接:https://ac.nowcoder.com/acm/contest/327/G 题意:给你两个字符串序列,让你根据第二个序列判断是不是 复读机,复读机会有以下特征 1. 将任 ...
- 《BUG创造队》第二次团队作业:团队项目选题报告
项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验六 团队作业2:团队项目选题 团队名称 BUG创造队 作业学习目标 可行性自评总结,并且采用NABCD方法进行项目初步分 ...
- 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。
解决方案:项目>属性>应用程序>目标框架>安装其他框架. 此处我下载了2.1的x64的框架并安装. 安装后,重新打开vs即可点击切换新框架.
- Linux上文件恢复工具
文件恢复工具extundelete官网:http://extundelete.sourceforge.net/ 使用方法,在页面里找到download,下载源码安装包:extundelete-0.2. ...
- SpringBoot是什么,可以做什么?
SpringBoot简析 1.SpringBoot是什么? 在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring.SpringMvc框架等,Spring的核心内容在于控制反转( ...
- 深度学习硬件:CPU、GPU、FPGA、ASIC
人工智能包括三个要素:算法,计算和数据.人工智能算法目前最主流的是深度学习.计算所对应的硬件平台有:CPU.GPU.FPGA.ASIC.由于移动互联网的到来,用户每天产生大量的数据被入口应用收集:搜索 ...