一 稠密连续类型特征的处理

在点击率预估问题中,可以尝试的几种方法

1.归一化后直接拼接到embedding向量侧dnn部分,不参与fm部分交叉

  • 归一化的方式可以包括:直接对原始特征做归一化;通过bn层来做归一化。
  • 因为FM里要求不同field之间有相同的embedding dimension, 所以数值型特征这么加的话是不参与FM的
  • 归一化总是有好处的。未归一化的数据会导致nn反向传播过程中grads的均值和方差过大,不利于网络的学习和收敛。

2.离散化后作为id feature 类别特征, embedding后与其他sparse feature的embedding 一起参与fm的交叉

离散化有两个好处:一是引入非线性。当label与该dense feature不是线性关系时,一个w * dense feature是不能很好刻划模型的,所有的dense feature共用一个w表达能力是比较差的。但是离散化之后就变成了对不同的离散化值学习不同的系数,这样就能很好的提升非线性能力;二是可以过滤一些异常值。异常值会跟其它值分到一个桶里,对模型的影响就会很少。

3.对每个原始稠密特征X维护一个词嵌入向量embedding vector V,然后把原始稠密特征和权重向量相乘 X*V 得到最终的特征向量.

相当于一个稠密特征映射成一个特征向量,之后和类别映射的词嵌入矩阵进行拼接参与fm的交叉。此时仍然可以发现,这样相当于原始稠密特征也可以和类别特征进行交叉特征提取

2和3的区别在于2中根据dense value的取值会分配到不同的embedding vector,而3中的不同的dense value只有一个embedding vector.

一般来说,2应该是最好的。3的自由度有点低,所有的dense feature共用一个embedding, 只是通过feature本身的数值去区分生效。

从上面几种方法可以发现,稠密特征要和词嵌入后的类别特征做交叉需要在同一个维度空间,也就是要把一维的稠密特征转化成和词嵌入维度相同的特征空间中,同时上面方法中的词嵌入矩阵相当于权重矩阵都可以进行优化学习。

二 多值类别特征

一般单值类别特征加入到CTR预估模型的方法是先对单值类别特征进行one-hot,然后和embedding 矩阵相乘转换成多维稠密特征,如下图所示:

在现实实际问题中,往往还会出现多值类别特征,话题特征,也就是一个用户感兴趣的话题可以有多个,并且不同的用户感兴趣的话题个数不一,这些特征的形式都一般是如下结构(拿用户感兴趣的话题特征来说):

在CTR预估模型中,对这种多值类别特征的常用处理方法总结归纳如下:

非加权法

最常规的也最简单的是先对所有‘话题’集合进行one hot编码,然后按照图 1 方式对多值类别特征中的每一项进行稠密特征的转换,最后对转换后的稠密特征向量进行拼接,然后按项求均值或最大值或最小值等,整个过程可以用如图表示:

可以看出,这样对多值类别特征进行处理之后,可以把每个多值类别特征转换在同一维度空间中,这样输入到神经网络中不用为了保持输入维度一致而进行padding,使输入变稀疏,也方便和其他特征做交叉特征。

加权法

如果对多值类型特征直接求均值似乎不是很符合常理,毕竟用户对每个感兴趣话题的喜爱程度不一样,这就有了权重的引入,而不是简单粗暴的求均值了,具体引入权重的做法如图:

参考:

  1. 稠密特征加入CTR预估模型有哪些方法? - 知乎
  2. 多值类别特征加入CTR预估模型的方法 - 知乎

[深度学习]CTR模型如何加入稠密连续型|多值类别特征相关推荐

  1. 深度学习CTR模型最全演化图谱 [王喆观点]

    毕业于清华大学计算机系的王喆学长回顾了近3年来的所有主流深度学习CTR (click through rate) 模型,并梳理推荐系统.计算广告领域在深度学习方面的前沿进展.内容来源:https:// ...

  2. 【CTR预估】CTR模型如何加入稠密连续型和序列型特征?

    " CTR预估任务中除了广泛使用的稀疏离散型特征外,还会用到稠密连续型以及一些序列类型的特征,本文为大家简要梳理几种特征的处理方式-" 稠密连续类型特征的处理 在点击率预估问题中, ...

  3. 谷歌、阿里们的杀手锏:三大领域,十大深度学习CTR模型演化图谱

    作者 | 王喆 来源 | 转载自知乎专栏王喆的机器学习笔记 今天我们一起回顾一下近3年来的所有主流深度学习CTR模型,也是我工作之余的知识总结,希望能帮大家梳理推荐系统.计算广告领域在深度学习方面的前 ...

  4. 谷歌、阿里们的杀手锏:3大领域,10大深度学习CTR模型演化图谱(附论文)

    来源:知乎 作者:王喆 本文约4000字,建议阅读8分钟. 本文为你介绍近3年来的所有主流深度学习CTR模型. 今天我们一起回顾一下近3年来的所有主流深度学习CTR模型,也是我工作之余的知识总结,希望 ...

  5. 主流深度学习CTR模型

    随着微软的Deep Crossing,Google的Wide&Deep,以及FNN,PNN等一大批优秀的深度学习CTR预估模型在2016年被提出,计算广告和推荐系统领域全面进入了深度学习时代, ...

  6. 深度学习CTR模型粗略记录

    深度学习CTR模型粗略记录 RoadMap FM:Factorization Machines DNN:Embedding+MLP WND:Wide & Deep Learning for R ...

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

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

  8. 深度学习CTR预估模型凭什么成为互联网增长的关键?

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

  9. 深度学习推荐模型-NFM

    深度学习推荐模型-NFM 本文参考链接,仅供个人学习: https://github.com/datawhalechina/team-learning-rs/tree/master/DeepRecom ...

最新文章

  1. 利用mysql建立随机森林_随机森林算法实例 - osc_4imme0wh的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. Free 4 months Serial License Key Of Outpost Security Suite Pro 8.1
  3. JNI中参数的传递与操作
  4. json 取值判断_【收藏级】.NETCore3.1中的Json互操作解读
  5. 从零开始学Pytorch(三)之多层感知机的实现
  6. matlab 病态方程组,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序
  7. 近邻模块︱apple.Turicreate中相似判定Nearest Neighbors(四)
  8. 绕过广告拦截插件的解决方案
  9. Unity3D游戏开发,适配阿拉伯地区文本显示
  10. bootstrap EF_Bootstrap优秀模板INSPINIA.2.9.2
  11. 【U8】用友U8一张A4纸打印一张凭证设置
  12. 递归求平均数|理解|讲解| c语言
  13. 一个线上运营着3000+人的游戏,因为我不小心一个DROP DATABASE,全没了。 怎么办??跟我HOLD住!!!...
  14. 微信企业支付 服务器根证书,微信支付服务器证书根ca证书有什么用
  15. 小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理
  16. 不定积分知识结构图_高等数学各章知识结构
  17. android闹钟倒计时_如何在Android上使用闹钟,计时器和秒表
  18. 第二章 ArcGIS数据和地理数据库
  19. TIPTOP ERP 如何客制单据别自动编码的应用
  20. node.js实现文件和数据的压缩与解压缩

热门文章

  1. RabbitMQ入门-队列
  2. IOC--IOC+AOP--热插拔的系统架构实现演化
  3. A problem while linking c++ to python
  4. httpHandlers
  5. ubuntu下安装mysql 杂记
  6. 计算机变革时代:虚拟化和云计算
  7. 参考:微软08财年产品路线图
  8. MySQL 字段约束 null, not null, default, auto_increment
  9. mysql5.5.8编译安装_MySQL5.5.8源代码编译安装
  10. 虚拟机拷贝数据到服务器,虚拟机文件拷到u盘上