CTR 模型之 Deep & Cross (DCN) 与 xDeepFM 解读

论文精读-DeepFM 目前的CTR预估模型,实质上都是在“利用模型”进行特征工程上狠下功夫。传统的LR,简单易解释,但特征之间信息的挖掘需要大量的人工特征工程来完成。由于深度学习的出现,利用神经网络本身对于隐含特征关系的挖掘能力,成为了一个可行的方式。DNN本身主要是针对于高阶的隐含特征,而像FNN(利用FM做预训练实现embedding,再通过DNN进行训练,有时间会写写对该模型的认识)这样的模型则是考虑了高阶特征,... 阅读详情

CTR 系列文章:

  1. 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码)
  2. CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解
  3. CTR深度学习模型之 DeepFM 模型解读
  4. 【CTR模型】TensorFlow2.0 的 DeepFM 实现与实战(附代码+数据)
  5. CTR 模型之 Deep & Cross (DCN) 与 xDeepFM 解读
  6. 【CTR模型】TensorFlow2.0 的 DCN(Deep & Cross Network) 实现与实战(附代码+数据)
  7. 【CTR模型】TensorFlow2.0 的 xDeepFM 实现与实战(附代码+数据)

本篇文章讲解 CTR 经典模型 Deep & Cross (DCN) 与 xDeepFM,之所以把这两个模型放一起讲是因为它们有很近的“血缘关系”。理解了 DCN 的思想,再去理解 xDeepFM 就不觉得困难了。

以下文章对这两个模型的讲解很到位:

首先了解揭秘 Deep & Cross : 如何自动构造高阶交叉特征

推荐系统遇上深度学习(二十二)–DeepFM升级版XDeepFM模型强势来袭!

xDeepFM:名副其实的 ”Deep” Factorization Machine

因此,本文主要是对上述文章内容的梳理。

Deep & Cross (DCN)

首先来看看网络结构:

在这里插入图片描述

首先来看看网络的输入部分。元素特征需要做如下处理:

  1. 对sparse特征进行embedding,对于multi-hot的sparse特征,embedding之后再做一个简单的average pooling;

  2. 对dense特征归一化,然后和embedding特征拼接,作为随后Cross层与Deep层的共同输入:
    x 0 = [ x e m b e d , 1 T , x e m b e d , 2 T , . . . x e m b e d , k T , x d e n s e T ] T x_0 = [x^T_{embed, 1},x^T_{embed, 2},...x^T_{embed, k},x^T_{dense}]^T x0​=[xembed,1T​,xembed,2T​,...xembed,kT​,xdenseT​]T

接下来看看 Cross 部分。

上图中模型的左半部分是包含了许多层的 Cross network,目标是以显式、可控、高效的方式自动构建有限高阶交叉特征。其中第 l + 1 l + 1 l+1 层的计算过程为:

在这里插入图片描述

x l + 1 = f ( x l , w l , b l ) + x l = x 0 x l T w l + b l + x l x_{l+1} = f(x_l, w_l, b_l)+x_l =x_0x^T_lw_l + b_l + x_l xl+1​=f(xl​,wl​,bl​)+xl​=x0​xlT​wl​+bl​+xl​
其中, x l + 1 , x l , x 0 x_{l+1}, x_l, x_0 xl+1​,xl​,x0​ 是 d 维向量。计算过程有两个特点:

  1. 输出神经元个数与输入网络的 x 0 x_0 x0​ 维度相同;
  2. 每一层的 f f f 都是在拟合 x l + 1 − x l x_{l+1} - x_l xl+1​−xl​ 的残差,这样可以减缓梯度消失问题,使得网络更深。

为什么这么设计呢?先看一些计算的例子:

假设 Cross 网络有两层, x 0 = [ x 0 , 1 x 0 , 2 ] T x_0 = [x_{0, 1} x_{0, 2}]^T x0​=[x0,1​x0,2​]T,为方便讨论令 b i = 0 b_i = 0 bi​=0,则有:
x 1 = x 0 x 0 T w 0 + x 0 = [ x 0 , 1 x 0 , 2 ] [ x 0 , 1 , x 0 , 2 ] [ w 0 , 1 w 0 , 2 ] + [ x 0 , 1 x 0 , 2 ] = [ w 0 , 1 x 0 , 1 2 + w 0 , 2 x 0 , 1 x 0 , 2 + x 0 , 1 w 0 , 1 x 0 , 2 x 0 , 1 + w 0 , 2 x 0 , 2 2 + x 0 , 2 ] \begin{aligned} \boldsymbol{x}_{1} &=\boldsymbol{x}_{0} \boldsymbol{x}_{0}^{T} \boldsymbol{w}_{0}+\boldsymbol{x}_{0}=\left[\begin{array}{c} x_{0,1} \\ x_{0,2} \end{array}\right]\left[x_{0,1}, x_{0,2}\right]\left[\begin{array}{c} w_{0,1} \\ w_{0,2} \end{array}\right]+\left[\begin{array}{c} x_{0,1} \\ x_{0,2} \end{array}\right]=\left[\begin{array}{c} w_{0,1} x_{0,1}^{2}+w_{0,2} x_{0,1} x_{0,2}+x_{0,1} \\ w_{0,1} x_{0,2} x_{0,1}+w_{0,2} x_{0,2}^{2}+x_{0,2} \end{array}\right] \\ \end{aligned} x1​​=x0​x0T​w0​+x0​=[x0,1​x0,2​​][x0,1​,x0,2​][w0,1​w0,2​​]+[x0,1​x0,2​​]=[w0,1​x0,12​+w0,2​x0,1​x0,2​+x0,1​w0,1​x0,2​x0,1​+w0,2​x0,22​+x0,2​​]​
进而有:
x 2 = x 0 x 1 T w 1 + x 1 = [ w 1 , 1 x 0 , 1 x 1 , 1 + w 1 , 2 x 0 , 1 x 1 , 2 + x 1 , 1 w 1 , 1 x 0.2 x 1 , 1 + w 1 , 2 x 0 , 2 x 1 , 2 + x 1 , 2 ] = [ w 0 , 1 w 1 , 1 z 0 , 1 3 + ( w 0 , 2 w 1 , 1 + w 0 , 1 w 1 , 2 ) x 0 , 1 2 x 0 , 2 + w 0 , 2 w 1 , 2 x 0 , 1 x 0 , 2 2 + ( w 0 , 1 + w 1 , 1 ) x 0 , 1 2 + ( w ⁡ 0 , 2 + w 1 , 2 ) x 0 , 1 z 0 , 2 + x 0 , 1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ] \begin{aligned} x_{2}=& x_{0} x_{1}^{T} w_{1}+x_{1} \\ =&\left[\begin{array}{c} w_{1,1} x_{0,1} x_{1,1}+w_{1,2} x_{0,1} x_{1,2}+x_{1,1} \\ w_{1,1} x_{0.2} x_{1,1}+w_{1,2} x_{0,2} x_{1,2}+x_{1,2} \\ \end{array}\right] \\ =& \left[\begin{array}{c} {w_{0,1} w_{1,1} z_{0,1}^{3}+\left(w_{0,2} w_{1,1}+w_{0,1} w_{1,2}\right) x_{0,1}^{2} x_{0,2}+w_{0,2} w_{1,2} x_{0,1} x_{0,2}^{2}+\left(w_{0,1}+w_{1,1}\right) x_{0,1}^{2}+\left(\operatorname{w}_{0,2}+w_{1,2}\right) x_{0,1} z_{0,2}+x_{0,1}} \\ \cdot \cdot \cdot \cdot \cdot \cdot \cdot \end{array}\right] \end{aligned} x2​===​x0​x1T​w1​+x1​[w1,1​x0,1​x1,1​+w1,2​x0,1​x1,2​+x1,1​w1,1​x0.2​x1,1​+w1,2​x0,2​x1,2​+x1,2​​][w0,1​w1,1​z0,13​+(w0,2​w1,1​+w0,1​w1,2​)x0,12​x0,2​+w0,2​w1,2​x0,1​x0,22​+(w0,1​+w1,1​)x0,12​+(w0,2​+w1,2​)x0,1​z0,2​+x0,1​⋅⋅⋅⋅⋅⋅⋅​]​
可以看到 x 1 x_1 x1​ 包含了从一阶到二阶所有的可能交叉组合,而 x 2 x_2 x2​ 包含了从一阶到三阶的所有可能交叉组合,并且有下面的特点:

  1. 有限高阶:交叉的阶数由层数决定,深度 L c L_c Lc​ 具最高有 L c + 1 L_c + 1 Lc​+1 阶的交叉特征;
  2. 参数线性增长:模型参数数量与输入维度成线性增长关系: 2 × d × L c 2\times d \times L_c 2×d×Lc​;
  3. 参数共享:并不是每个交叉组合都具有独立的权重参数,而是共享了 2 × d × L c 2\times d \times L_c 2×d×Lc​ 个权重参数。参数共享机制使得模型具有更强的泛化性和鲁棒性。

这里对第三点加以解释:如果每个交叉特征有独立的参数,那么当训练样本中某个交叉特征 x i x j x_i x_j xi​xj​ 没有出现,那么此交叉特征的权重参数就是 0 。而参数共享的情况下,权重几乎不可能是 0,并且对于一些噪声数据也可以由大部分正常样本来纠正参数的学习。

要注意的是,输入的 x 0 x_0 x0​ 是在 embedding 之后得到的,后续的交叉也是对 embedding 后的数值进行交叉。直接将 sparse 特征输入网络进行交叉才是最合理的做法,但是这么做的话参数过多,所以先进行一次 embedding 操作,这实际上也是一种 trade-off。

其他的 DNN 部分和输出的部分都比较好理解,这里就不多做叙述了。

xDeepFM

我第一次看到 xDeepFM 以为是 DeepFM 的改进版本,后来才发现他更像是在 DCN 的基础上改进的。

在正式讲解之前,先了解下什么是 bit-wise 什么是vector-wise:

假设隐向量的维度为3维,如果两个特征(对应的向量分别为(a1,b1,c1)和(a2,b2,c2)的话)在进行交互时,交互的形式类似于f(w1 * a1 * a2,w2 * b1 * b2 ,w3 * c1 * c2)的话,此时我们认为特征交互是发生在元素级(bit-wise)上。如果特征交互形式类似于 f(w * (a1 * a2 ,b1 * b2,c1 * c2))的话,那么我们认为特征交互是发生在特征向量级(vector-wise)。

对于包括 DCN 在内的许多模型在构造交叉特征时,都是以 bit-wise 的方式进行特征组合,而FM是以向量为最细粒度学习相关性,即vector-wise。xDeepFM的动机,正是将 FM 的 vector-wise 思想引入Cross部分。

下图是 xDeepFM 的整体结构:

在这里插入图片描述

模型的输入部分与 DCN 类似,本节重点讲解 CIN 部分,如下图所示:

在这里插入图片描述

CIN 的输入来自 embedding 层,假设有 m 个 field,每个 field 的 embedding 维度为 D ,则输入可以表示为矩阵 X 0 ∈ R m ∗ D X^0 \in \mathbb R^{m * D} X0∈Rm∗D。

CIN 内部有 k 层,每一层都会输出一个矩阵 X k ∈ R H k ∗ D X^k \in \mathbb R^{H_k * D} Xk∈RHk​∗D ,k 表示第 k 层的输出, H k H_k Hk​ 表示第 k 层有 H k H_k Hk​ 个维度为 D 的向量。要得到 X k X^{k} Xk ,需要接收两个矩阵作为输入,一个是 X k − 1 X^{k-1} Xk−1 ,另一个是 X 0 X^0 X0 ,具体的计算公式如下:
X h , ∗ k = ∑ i = 1 H k − 1 ∑ j = 1 m W i j k , h ( X i , ∗ k − 1 ∘ X j , ∗ 0 ) ∈ R 1 ∗ D ,  where  1 ≤ h ≤ H k \boldsymbol{X}_{h, *}^{k}=\sum_{i=1}^{H_{k-1}} \sum_{j=1}^{m} \boldsymbol{W}_{i j}^{k, h}\left(\boldsymbol{X}_{i, *}^{k-1} \circ \boldsymbol{X}_{j, *}^{0}\right) \in \mathbb{R}^{1 * D}, \quad \text { where } 1 \leq h \leq H_{k} Xh,∗k​=i=1∑Hk−1​​j=1∑m​Wijk,h​(Xi,∗k−1​∘Xj,∗0​)∈R1∗D, where 1≤h≤Hk​
其中 W k , h ∈ R H k − 1 ∗ m W^{k, h} \in \mathbb R^{H_{k-1} * m} Wk,h∈RHk−1​∗m,表示要得到第 k 层第 h 个向量所需要的权重矩阵, H k − 1 H_{k-1} Hk−1​ 表示第 k − 1 k-1 k−1 层的输出矩阵 X k − 1 X^{k-1} Xk−1 由 H k − 1 H_{k-1} Hk−1​ 个维度为 D 的向量组成。 ∘ \circ ∘ 表示Hadamard乘积,即逐元素乘,例如:
< a 1 , b 1 , c 1 > ∘ < a 2 , b 2 , c 2 > = < a 1 b 1 , a 2 b 2 , a 3 b 3 > <a_1, b_1, c_1> \circ <a_2, b_2, c_2> = <a_1b_1, a_2b_2, a_3b_3> <a1​,b1​,c1​>∘<a2​,b2​,c2​>=<a1​b1​,a2​b2​,a3​b3​>
式子中 X i , ∗ k − 1 ∘ X j , ∗ 0 \boldsymbol{X}_{i, *}^{k-1} \circ \boldsymbol{X}_{j, *}^{0} Xi,∗k−1​∘Xj,∗0​ 是表示取出 X k − 1 X^{k-1} Xk−1 的第 i i i 个向量与输入层 X 0 X^{0} X0 中第 j j j 个向量进行 Hadamard 乘积运算。整个公式的计算过程可以用下图表示:

在这里插入图片描述

上面的公式的计算结果只得到了第 h 个向量 X h , ∗ k \boldsymbol{X}_{h, *}^{k} Xh,∗k​ ,实际上我们会使用 H k H_k Hk​ 个不同的权重矩阵 W k , h W^{k,h} Wk,h 来获得不同的向量,最后这些向量拼接成输出 X k ∈ R H k ∗ D X^{k} \in \mathbb R^{H_k * D} Xk∈RHk​∗D 。

需要注意的是,在第 l l l 层实际上只包含了第 l + 1 l+1 l+1 阶的交叉特征,为了得到不同阶的输出,需要在每一层得到计算结果后通过 sum pooling 进行输出。至于一阶特征,则单独由模型的结构图最左侧的 Linear 模块进行加权求和。最右侧的 DNN 模块比较好理解,就不做解释了。

从计算过程就可以看出此模型的复杂度比较高,需要的参数也比较多,因此训练的时候可能出现过拟合现象,为此可以配合 Droupout 或者其他防止过拟合的方法使用。

计算广告CTR预估系列(十一)--谷歌DCN模型理论与实践 计算广告CTR预估系列(十一)–谷歌DCN模型理论与实践 计算广告CTR预估系列(十一)–谷歌DCN模型理论与实践 一、介绍 二、相关工作 三、DCN特点 四、DCN 4.1 Embedding and Stacking Layer 4.2 Cross Network 4.3 Deep Network 4.4 Combination Layer 五、泛化FM 六、实验 七、代码实战 ... 阅读详情

相关推荐

FM系列算法解读(FM+FFM+DeepFM)

https://blog.youkuaiyun.com/jiangjiang_jian/article/details/80631180

数据喵的博客 7万+

CTR预估之Wide&Deep系列模型:DeepFM/DCN(WWW‘2021)

Wide&Deep,即同时加入低阶特征组合交互的线性模型-Wide、高阶特征交叉的深度模型(Deep),Wide部分模型提供模型的记忆能力,而Deep部分提供模型的泛化能力。这是Wide&Deep系列模型很重要的一个点。

sgyuanshi的博客 1349

玉米群体遗传分析实战:如何用IQtree和VCF文件快速构建系统发育树(附避坑指南)

本文详细介绍了如何利用IQtree和VCF文件进行玉米群体遗传分析,并快速构建可靠的系统发育树。文章重点解析了从VCF格式转换到PHYLIP格式的实用技巧,强调了使用ASC模型校正SNP数据偏差的重要性,并提供了完整的参数设置、常见报错解决方案及结果评估指南,帮助研究者高效完成分析并规避常见陷阱。

leaf8的博客 607

推荐系统XDeepFM模型--DeepFM和DCN升级版

xDeepFM模型目标:引言:xDeepFM模型介绍:2.1 Compressed Interaction Network(CIN)xDeepFM复杂度分析Experiment产出:Conclusion参考资料: 目标: 学习模型xDeepFM模型,包含我个人的一些理解。深入理解模型。结合卷积神经网络CNN理解模型原理。昨晚想了一晚上才想通,都失眠了。 微软亚洲研究院2018年提出xDeepFM模型,可以理解为对DeepFM和DCN升级版。 相对于DeepFM,升级为自动构建高阶交叉特征 相对于DCN,从

4338

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景

大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 2467

电商平台大数据分析指标

一、五大关键数据分析指标 1.1活跃用户量 活跃用户量是一个基本的指标,有 DAU(日活跃用户)、WAU(周活跃用户)和 MAU(月活跃用户)三个层次; 1.2转化 转化是一个非常重要的指标,电商运营需要关注主路径、次路径甚至精细到每一个品类 / SKU 的转化率; 1.3留存 留存要从不同的时间周期上研究,包括次日留存率、3 日、7 日、30 日留存; 1.4复购 复购则要从 3 个角度去看,复购用户量、复购率和复购金额比; 1.5GMV GMV 是最重要的指标,我们的运营最终是围绕这

默主归沙的博客 4818

Deep & Cross Network (DCN) 与 xDeepFM 解读

文章目录Deep &amp; Cross NetworkxDeepFM Deep &amp; Cross Network 在CTR模型中,FM可以自动组合特征,但也仅限于二阶叉乘。Deep &amp; Cross 主要解决CTR模型中如何自动学习高阶的特征组合。Deep &amp; Cross Network(DCN)自动构造有限高阶的交叉特征,并学习对应权重,告别了繁琐的人工叉乘。 Deep &amp; Cross的网络结构如图所示: 主要包括四个部分,输入部分,Cross network部分,Deep

zhong_ddbb的博客 1969

winpcap无法安装提示新版本已经安装解决办法

问题显示如下该问题会导致ensp里的云识别不到网卡可能是因为之前安装了npcap,而且安装时勾选了第四个选项导致无法安装,需要完全卸载npcap解决办法:办法一:在控制面板的程序与卸载里面卸载npcap和winPcap,然后再安装winPcap,如果搜不到往下看办法二:在C:\Windows\SysWOW64目录下搜索wpcap.dll和packet.dll并重命名为wpcap.dll.old和packet.dll.old办法三:如果搜不到这两个文件需要安装win10Pcap才能找到这两个文件下载地址:Wi

qq_73202377的博客 3万+

CTR预估模型(FM/DeepFM/AFM/DCN/DIN)

DeepFM DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 论文精读

私人天地 3573

【学习总结】飞跨电容三电平boost拓扑发波分析与matlab仿真

正常工作时,飞跨电容的电压大约控制在输出电压的一半,降低了开关器件的耐受电压。

晞子的技术札记 1万+

零售-公司间关联交易退货STO的实现方式

零售-公司间关联交易采购 STO-退货 集团公司下经常会出现一家公司和另外一家公司的公司间的关联交易,如跨公司销售、总分公司之间采购,分公司之间的采购等业务;通常公司间采购会采取STO的模式来实现(根据业务模式可以将库存转储统一做成STO的模式,公司间STO、同公司工厂间、同工厂库存地点间 的STO SAP都是支持的); 公司间STO 正向A向B采购都很熟悉,公司间退货STO的其实也是比较普遍的业务现象,很多实施着也将其做成反向的STO(B向A采购),而不是退货STO(A向B,item 选择return的标

weixin_45518759的博客 2831

deep&cross network(DCN)算法 xdeepfm是DCN的进阶

r r

u013385018的专栏 1349

OTN传送网实战指南:从光层到电层的完整架构解析(附配置示例)

本文深入解析OTN传送网从光层到电层的完整架构,涵盖关键组件、技术实现及配置示例。通过高速公路与光传送网的类比,详细介绍了光层超宽传输管道构建、电层业务调度核心引擎以及控制平面智能运维实战。附有典型组网方案与故障排查指南,助力网络工程师高效部署与维护OTN传送网。

tomato的博客 683

【CTR模型】TensorFlow2.0 的 DCN(Deep & Cross Network) 实现与实战(附代码+数据)

本篇文章讲解 DeepFM 的 tensorflow2.0 实现,并使用 Criteo 数据集的子集加以实践。如果在看本文时有所困惑,可以看看DeepFM的相关理论:CTR 模型之 Deep &amp; Cross (DCN) 与 xDeepFM 解读。 本文使用的数据下载地址于代码获取地址在文末获取。 首先了解一下 Criteo数据集,它由有39个特征,1个label列,其中以I开头的为数值型特征,以C开头的为类别特征: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pTS

VariableX的博客 2537

ENS160传感器原理图设计,已量产(空气质量传感器)

ENS160 是一款集成式数字空气质量传感器,核心优势源于 “MEMS 传感元件 + 内置微处理器” 的架构。

不脱发的程序猿 569

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

免费开源在线问卷工具指南:快速上手 LimeSurvey 与 Formbricks

**awesome-open-source-systems** 是一个精选免费开源软件(FOSS)清单项目,其中的 **Survey 分类**收录了两款强大的免费开源在线问卷工具:**LimeSurvey** 与 **Formbricks**。本指南帮你快速理解两款工具的差异与适用场景,轻松完成从选型到自托管部署的准备。 ## 📑 目录 - [如何在清单中找到问卷工具](#1-如何在awes

gitblog_00463的博客 218

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【推荐系统】DeepFM

背景 对于一个基于CTR预估的推荐系统,最重要的是学习到用户点击行为背后隐含的特征组合。在不同的推荐场景中,低阶组合特征或者高阶组合特征可能都会对最终的CTR产生影响。 之前介绍的因子分解机(Factorization Machines, FM)通过对于每一维特征的隐变量内积来提取特征组合。最终的结果也非常好。但是,虽然理论上来讲FM可以对高阶特征组合进行建模,但实际上因为计算复杂度的原因一般...

littlemichelle 555

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Paper Note】xDeepFM详解

更新时间:2018/04/27 前言 这篇博文是阅读xDeepFM论文之后整理所得,论文地址为:https://arxiv.org/abs/1803.05170,以下理解都是个人想法,有疏漏请指出。论文翻译及模型详解已整理到GitHub上:https://github.com/roguesir Embedding方式 首先,论文介绍了模型中Embedding的方式,对于大规模离...

roguesir的博客 1万+

【推荐系统】DCN和Wide&Deep

论文链接 Deep &amp; Cross Network for Ad Click Predictions` Wide &amp; Deep Learning for Recommender Systems 用神经网络的视角看FM:嵌入后再进行内积 我们观察FM公式的矩阵内积形式: 发现W*x部分就是将离散系数特征通过矩阵乘法降维成一个低维稠密向量。这个过程对神经网络来说就叫做嵌入(embed...

hcm_0079的博客 2924

DCN

Deep&amp;amp;Cross Network模型我们下面将简称DCN模型: 一个DCN模型从嵌入和堆积层开始,接着是一个交叉网络和一个与之平行的深度网络,之后是最后的组合层,它结合了两个网络的输出。完整的网络模型如图:   嵌入和堆叠层 我们考虑具有离散和连续特征的输入数据。在网络规模推荐系统中,如CTR预测,输入主要是分类特征,如“country=usa”。这些特征通常是编码...

zhangbaoanhadoop的博客 1万+

CTR预估算法之FM, FFM, DeepFM及实践

目录 目录 CTR预估综述 Factorization Machines(FM) 算法原理 代码实现 Field-aware Factorization Machines(FFM) 算法原理 代码实现 Deep FM 算法原理 代码实现 参考文献 CTR预估综述 点击率(Click through rate)是点击特定链接的用户与查看页面,电子邮...

JohnSon 8万+

【CTR预估】 xDeepFM模型

xDeepFM 模型看作者邮箱应该中科大、北邮、微软合作发表的,发表在kdd2018 。 看这个模型的原因是因为最近在写Deep Cross Network的时候感觉总是怪怪的,因为DCN对同一个特征的embedding内部都做了特征的交叉,这个和我们正常直观的特征交叉会有明显的出入,虽然DCN模型在实践中确实会好于正常的wide&amp;deep,说明显式的特征交叉是有意义的,但是有没有办法不对...

快来学习鸭~~~ 2366

真正的高阶特征交叉:xDeepFM与DCN-V2

文 | 水哥源 | 知乎Saying1. xDeepFM和DCN-V2是真正的高阶交叉,和前面讲的High Order Factorization Machine(HOFM)又有着千丝万缕...

夕小瑶科技说 1782

推荐模型-上下文感知-2017:Deep&Cross(DCN)【替换Wide&Deep的Wide部分;Wide还需要人工特征工程,而Cross可以进行特征的自动交叉,避免了基于业务理解的人工特征组合】

Wide&Deep模型原理很简单,但是最主要的是要掌握Wide&Deep这种线性和非线性,处理高维稀疏向量和embedding稠密向量的方式,能够使得模型同时具有泛化能力和记忆能力。模型的结构也非常简洁,从下往上依次为:Embedding和Stacking层、Cross网络层与Deep网络层并列、输出合并层,得到最终的预测结果。Deep&Cross模型是2017年由斯坦福大学和谷歌在ADKDD会议上联合提出的,该模型是对Wide&Deep模型的一种改进。...........................

u013250861的博客 790

一文看懂推荐系统:排序12:xDeepFM模型,并不是对DeepFM的改进,而是对DCN的改进哦

xDeepFM模型,并不是对DeepFM的改进,而是对DCN的改进哦,但是复杂度过于高了,不玩

weixin_46838716的博客 1725

推荐系统遇上深度学习(二十二):DeepFM升级版XDeepFM模型强势来袭!

今天我们要学习的模型是xDeepFM模型,论文地址为:https://arxiv.org/abs/1803.05170。文中包含我个人的一些理解,如有不对的地方,欢迎大家指正!废话不多说,我们进入正题! 1、引言 对于预测性的系统来说,特征工程起到了至关重要的作用。特征工程中,挖掘交叉特征是至关重要的。交叉特征指的是两个或多个原始特征之间的交叉组合。例如,在新闻推荐场景中,一个三阶交叉特征为A...

hellozhxy的博客 3184
上一篇: 【剑指offer 07】用迭代和递归两种方法重构二叉树(python实现)
下一篇: 【CTR模型】TensorFlow2.0 的 DCN(Deep & Cross Network) 实现与实战(附代码+数据)
VariableX
博客等级 码龄7年 142粉丝 62原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值