【摘要】 本文介绍了一种比较新颖的稠密特征加入CTR预估模型的方法并用图示的方法演示了基本稠密特征加入神经网络中过程。

稠密特征一般是相对稀疏特征来说的,我们知道类别特征经过独热编码之后比较稀疏,比如类别 [‘小猫’,‘小狗’,‘小熊’,‘小猴’] 被独热编码后的数据结构为[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],可以看到这种数据很稀疏,但是像桌子的长度这种稠密特征数据一般就是 [3.4,2.6,8.9,6.7] 这种。一般针对类别特征都是通过词嵌入的方法把稀疏特征转化为稠密特征然后再输入到神经网络中,不然直接输入会导致维度爆炸等问题,那么怎样把稠密数据加入到CTR预估网络模型中呢?

常规方法

1. 如图 1 所示,把原始的稠密特征直接和全连接层进行连接不和通过词嵌入转化的类别稠密特征进行交叉:

▲ 图1.  直接送入全连接

右边的类别特征经过词嵌入后每个类别特征都被映射成了一个向量,不同的类别向量之间经过交叉运算得到交叉特征。而左边的原始稠密特征不和类别特征进行交叉,直接和高阶的交叉特征进行拼接作为全连接层的输入。

2. 如图 2 所示,把原始稠密特征离散化,转换为离散特征,然后和原始类别特征都进行词嵌入,之后再进行特征交叉。此时可以发现,这样相当于原始稠密特征参加了特征交叉:

▲ 图2.  离散处理

3. 如图 3 所示,对每个原始稠密特征x维护一个词嵌入向量e,然后把原始稠密特征和权重向量相乘得到最终的特征向量,相当于一个稠密特征映射成一个特征向量,之后和类别映射的词嵌入矩阵进行拼接。此时仍然可以发现,这样相当于原始稠密特征也可以和类别特征进行交叉特征提取:

▲ 图3.  稠密特征与embedding vector相乘

鲜为人知的Key-Value Memory方法

在ICMEW的一篇论文中提出了一种把Key-Value Memory [1] 应用到稠密特征处理上的方法,如图4所示,可以看到这个模型的输入是一个稠密特征q,输出是一个特征向量v,也就是实现了1维到多维的特征空间转换,那么具体看一下是怎样实现的。

图4.  Key-Value Memory模型结构 [1]

向量v的计算是通过对每个embedding vector  vi 进行加权求和得到的,公式表示为 :

其中wi的计算为:

Ki的计算等于

其中要对q进行归一化。我的理解就是把一个稠密特征的值q映射成一个权重分布,再用这个权重分布去和维护的N个embedding vector加权求和,最后得到一个和词嵌入维度相同的向量v。得到向量v之后就和前面的方法一样,可以和类别特征进行特征交叉了。

总结

从上面几种方法可以发现,稠密特征要和词嵌入后的类别特征做交叉需要在同一个维度空间,也就是要把一维的稠密特征转化成和词嵌入维度相同的特征空间中,同时上面方法中的词嵌入矩阵相当于权重矩阵都可以进行优化学习。后续文章会有稠密特征加入CTR模型各个方法的具体实现代码,喜欢就关注一下吧

参考文献

[1] Multi-modal Representation Learning for Short Video Understanding and Recommendation. ICME Workshops 2019: 687-690

作者:wanderist

不为人知的稠密特征加入CTR预估模型的方法相关推荐

  1. 多值类别特征加入CTR预估模型的方法

    [摘要] 本文用图示的方法梳理和介绍了多值类别特征加入到CTR预估模型的一般方法,通俗易懂. 我们都知道一般单值类别特征加入到CTR预估模型的方法是先对单值类别特征进行one-hot,然后和embed ...

  2. 深度CTR预估模型中的特征自动组合机制演化简史

    文 | 杨旭东 源 | 知乎 众所周知,深度学习在计算机视觉.语音识别.自然语言处理等领域最先取得突破并成为主流方法.但是,深度学习为什么是在这些领域而不是其他领域最先成功呢?我想一个原因就是图像.语 ...

  3. 深度CTR预估模型的演化之路2019最新进展

    作者 | 锅逗逗 来源 | 深度传送门(ID: deep_deliver) 导读:本文主要介绍深度CTR经典预估模型的演化之路以及在2019工业界的最新进展. 介绍 在计算广告和推荐系统中,点击率(C ...

  4. SIGIR阿里论文 | 可视化理解深度神经网络CTR预估模型

    小叽导读:尽管业界对于图像处理和自然语言处理领域,在算法可解释性方向上已经取得了一些进展,但对于电商与广告领域,目前还是空白.另一方面,深度学习技术已经开始被大规模应用到广告业务中.广告是很多互联网现 ...

  5. 深度长文 | 从FM推演各深度CTR预估模型(附开源代码)

    作者丨龙心尘 & 寒小阳 研究方向丨机器学习,数据挖掘 题记:多年以后,当资深算法专家们看着无缝对接用户需求的广告收入节节攀升时,他们可能会想起自己之前痛苦推导 FM 与深度学习公式的某个夜晚 ...

  6. 从FM推演各深度学习CTR预估模型

    本文的PDF版本.代码实现和数据可以在我的github取到. 1.引言 点击率(click-through rate, CTR)是互联网公司进行流量分配的核心依据之一.比如互联网广告平台,为了精细化权 ...

  7. 从FM推演各深度CTR预估模型(附代码)

    作者: 龙心尘 && 寒小阳 时间:2018年7月 出处:https://blog.csdn.net/longxinchen_ml/article/details/81031736 h ...

  8. 主流CTR预估模型的演化及对比

    点击上方"AI派",选择"设为星标" 最新分享,第一时间送达! 文章作者:杨旭东 阿里巴巴 算法工程师 内容来源:算法工程师的自我修养@知乎专栏 出品社区:Da ...

  9. 前深度学习时代CTR预估模型的演化之路:从LR到FFM\n

    本文是王喆在 AI 前线 开设的原创技术专栏"深度学习 CTR 预估模型实践"的第二篇文章(以下"深度学习 CTR 预估模型实践"简称"深度 CTR ...

最新文章

  1. 《Android应用开发入门经典(第3版)》——第6.1节创建演示应用
  2. java sleep不能使用_java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常...
  3. linux 安装node出现 libstdc++.so.6: wrong ELF class
  4. buu [AFCTF2018]Morse
  5. 【Asp.Net】一般处理程序(ashx处理程序) 和 aspx页面处理程序
  6. hadoop使用combiner合并操作
  7. 心情随笔——2012121
  8. System Center Operations Manager 简介 [SCOM中文系列之一]
  9. 添加jackson_Jackson,最牛掰的 Java JSON 解析器
  10. idea设置控制台字体大小
  11. python的模块和包
  12. 双拼输入法的学习与使用
  13. 什么是php与html,php和html的关系和区别是什么
  14. Simscape Mutibody Modeling学习--碰撞接触与反应(1)
  15. Window安装RabbitMQ并设置为开机启动
  16. 3-19日 游戏工坊博客
  17. MS104-SH4 与Toppers/JSP(µItron)嵌入式系统构筑
  18. lvgl lv_conf.h文件详解
  19. 几个学习软件测试的网站
  20. unity2d游戏开发系列教程:一、环境安装

热门文章

  1. Git笔记(30) 重写历史
  2. 深度学习笔记(5) 深层神经网络
  3. python嵌入java_python怎样嵌入java
  4. linux上NFS性能参数
  5. HDU 1828:Picture(扫描线+线段树 矩形周长并)
  6. 常见的问题:https://localhost:1158/em 无法打开
  7. 仿淘宝分页按钮效果简单美观易使用的JS分页控件
  8. winform下自绘提示框风格窗体
  9. Ant学习---第一节:Ant安装和简单使用
  10. yii学习笔记--url解析