Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >多值类别特征加入CTR预估模型的方法

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

原创
作者头像
DeePR
修改于 2020-01-17 07:37:40
修改于 2020-01-17 07:37:40
1.7K0
举报

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

▲ 图1.  单值类别特征处理方法
▲ 图1. 单值类别特征处理方法

上一篇文章稠密特征加入CTR预估模型的方法中又总结了稠密特征加入到CTR预估模型中的方法。而在现实实际问题中,往往还会出现多值类别特征,比如我接触到的2019腾讯广告算法大赛中用户的行为兴趣特征就是多值类别特征,也就是一个用户可以有多个类别的兴趣,比如打篮球,乒乓球和跳舞等,并且不同用户的兴趣个数不一样。还有2019知乎看山杯比赛中的用户感兴趣的话题特征,也就是一个用户感兴趣的话题可以有多个,并且不同的用户感兴趣的话题个数不一,这些特征的形式都一般是如下结构(拿用户感兴趣的话题特征来说):

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

▌非加权法

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

▲ 图2. 常见多值类别特征处理方法
▲ 图2. 常见多值类别特征处理方法

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

▌加权法

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

▲ 图3. 多值类别特征加权处理方法
▲ 图3. 多值类别特征加权处理方法

那么权重是怎样得来的,总结以下:

通过数据挖掘得到多值特征中每个值的权重

例如用户感兴趣话题这个多值类型特征的权重可以这样获得:用户在相关话题问题下回答问题的个数或相关话题回答点赞的次数,也就是回答相关话题问题的个数越多,表明越对该话题越感兴趣,权重越大;点赞相关话题回答的次数越多,表明越对该话题越感兴趣,权重越大。

通过神经网络自动学习多值特征中每个值的权重

1.借鉴论文FiBiNET[1]中把SE模块用在学习不同embedding vector权重的思想。主要过程如图 4 :

▲ 图4. 利用SENet加权思想
▲ 图4. 利用SENet加权思想

先对得到的多维稠密特征横向求均值,这部分在SE[2]模块中称作squeeze,也就是压缩的意思,然后再用两个全连接层进行全连接操作,这部分在SE模块中称作excitation,也就是激励提取的意思,最终的输出也就是学习得到的多值类别特征中每个值对应的权重。由于是针对多值类别特征的处理,因此这里在编程实现的时候需要按照max length 进行padding之后,再进行one hot编码等后续操作。

2.借鉴论文AutoInt[3]中学习transformer[4]注意力机制的思想来学习得到embedding vector e_m 在Value空间上的权重信息。具体操作如图 5 所示,M是多值类别特征值的个数:

▲ 图5. 利用transformer attention思想
▲ 图5. 利用transformer attention思想

先通过矩阵乘法线性变换将每个e_m 投射到多个子空间中,分别是Query,Key和Value三个空间,计算公式分别如下:

然后计算当前e_m 与多值类别特征中其他embedding vector e_k 的相似度,即通过如下向量内积公式得到:

然后利用softmax对计算得到的相似度进行归一化,公式为:

该归一化后的值即为学习得到的每个e_m 在Value空间的权重,因此加权求和不是对e_m 加权,而是对映射到Value空间的特征进行加权求和,用公式表示如下:

总的来说,通过神经网络学习得到权重相比较通过数据挖掘得到权重来说计算复杂,计算量大,因此在选择时需要权衡一下。

除了多值类别特征,还有行为序列特征,他们的处理方法也有相似之处,可以互相借鉴学习,后面有时间介绍一些简单的行为序列特征的处理方法,感兴趣的可以关注一下公众号,精彩下期见~

▌参考文献

[1][FiBiNET] Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction (RecSys 2019)

[2][SENet] Squeeze-and-Excitation Networks (CVPR 2018)

[3][AutoInt] AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks (2018 arxiv)

[4][Transformer] Attention is all you need

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CTR预估系列炼丹入门手册
本文发表在RecSys 2019,主要通过动态学习不同特征的特征重要性权重,解决CTR预估中对不同场景下不同特征的权重(ReWeight)重定义问题,同时,双线性的使用解决稀疏数据在特征交叉建模时的有效性问题。
炼丹笔记
2021/05/14
5800
CTR预估系列炼丹入门手册
CTR预估中怎么使用Transfromers
这里推荐一篇实用的文章:https://cloud.tencent.com/developer/article/2465556?shareByChannel=link
算法一只狗
2024/11/27
810
CTR预估中怎么使用Transfromers
深度CTR预估模型的演化之路2019最新进展
导读:本文主要介绍深度CTR经典预估模型的演化之路以及在2019工业界的最新进展。
AI科技大本营
2019/11/12
9650
深度CTR预估模型的演化之路2019最新进展
CTR预估之深度学习模型DeepFM
趁今天618剁手节,老shi决定带大家去剁手,哦不,是认识广告CTR预估中非常有名的深度学习模型DeepFM。话不多说,马上进入正题~
用户7569543
2020/07/17
1.1K0
算法大佬看了流泪,为什么这么好的CTR预估总结之前没分享(上篇)
在广告、推荐系统CTR预估问题上,早期的完全规则方法被过渡到以LR为代表的机器学习方法,为了充分发挥组合特征的价值,在相当长一段时间里,业界热衷于使用LR+人工特征工程。但人工组合特征成本高昂 ,在不同任务上也难以复用。2010年FM因子分解方法的出现解决了人工组合特征的困境,2014年Facebook提出的GBDT+LR也给出了一种利用树模型特点构建组合特征的思路。不过随着深度学习的崛起,2015年以后,借助非线性自动组合特征能力的深度模型,开始成为业内的主流。从经典DNN到结合浅层的Wide&Deep,用于CTR预估的深度模型在近些年间百花盛开,各种交叉特征建模方法层出不穷,Attention机制也从其他研究领域引入,帮助更好的适应业务,提升模型的解释性。在这进化路线之下,核心问题离不开解决数据高维稀疏难题,自动化组合特征,模型可解释。我们梳理了近些年CTR预估问题中有代表性的模型研究/应用成果,并对部分经典模型的实现原理进行详细剖析,落成文字作为学习过程的记录。
炼丹笔记
2021/05/14
5.3K0
算法大佬看了流泪,为什么这么好的CTR预估总结之前没分享(上篇)
算法大佬看了流泪,为什么这么好的CTR预估总结之前没分享(下篇)
在广告、推荐系统CTR预估问题上,早期的完全规则方法被过渡到以LR为代表的机器学习方法,为了充分发挥组合特征的价值,在相当长一段时间里,业界热衷于使用LR+人工特征工程。但人工组合特征成本高昂 ,在不同任务上也难以复用。2010年FM因子分解方法的出现解决了人工组合特征的困境,2014年Facebook提出的GBDT+LR也给出了一种利用树模型特点构建组合特征的思路。不过随着深度学习的崛起,2015年以后,借助非线性自动组合特征能力的深度模型,开始成为业内的主流。从经典DNN到结合浅层的Wide&Deep,用于CTR预估的深度模型在近些年间百花盛开,各种交叉特征建模方法层出不穷,Attention机制也从其他研究领域引入,帮助更好的适应业务,提升模型的解释性。在这进化路线之下,核心问题离不开解决数据高维稀疏难题,自动化组合特征,模型可解释。我们梳理了近些年CTR预估问题中有代表性的模型研究/应用成果,并对部分经典模型的实现原理进行详细剖析,落成文字作为学习过程的记录。
炼丹笔记
2021/05/14
2.1K0
算法大佬看了流泪,为什么这么好的CTR预估总结之前没分享(下篇)
稠密特征加入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预估网络模型中呢?
DeePR
2020/01/06
1.3K0
稠密特征加入CTR预估模型的方法
序列特征的处理方法之一:基于注意力机制方法
之前两篇讲过稠密特征和多值类别特征加入CTR预估模型的常用处理方法,这篇介绍一下针对序列特征采用的最基本的注意力机制方法。
DeePR
2020/01/16
1.2K0
序列特征的处理方法之一:基于注意力机制方法
RS Meet DL(64)-通过自注意力机制来自动学习特征组合
本文要介绍的论文题目是《AutoInt: Automatic Feature Interaction Learning via Self-A entive Neural Networks》 论文下载地址为:t.cn/AipG8aXz
石晓文
2019/09/17
6720
RS Meet DL(64)-通过自注意力机制来自动学习特征组合
CTR预估中实现高效笛卡尔积特征交叉的方法
今天给大家介绍一篇WSDM2022阿里妈妈在CTR预估方面的工作,这篇工作重点探讨了什么样的特征交叉才是最有效的,并提出了一种代价较小的近似笛卡尔积的特征交叉模型。
圆圆的算法笔记
2022/12/19
1.3K0
CTR预估中实现高效笛卡尔积特征交叉的方法
CTR预估模型有怎样的发展规律
在深度学习还没有引入到点击率(Click-Through Rate,CTR)预估之前,CTR预估的模型大概经历了三个阶段:逻辑回归(Logistic Regression,LR),因子分解机(Factorization Machine,FM)、梯度提升树(Gradient Boosting Decision Tree,GBDT)。
DeePR
2020/01/06
8330
CTR预估模型有怎样的发展规律
使用上下文信息优化CTR预估中的特征嵌入
今天给大家分享一篇来自微博的点击率预估论文,借鉴NLP领域的ELMO和Bert的思想,提出了一种使用上下文信息来优化特征嵌入的CTR预估框架,一起来看一下。
张小磊
2021/09/02
1.2K0
使用上下文信息优化CTR预估中的特征嵌入
推荐系统炼丹笔记3:排序篇,一本家谱
第3期,排序篇 本文介绍在排序阶段交叉模块的思考和基于LR+GBDT、FM等开始的排序模型的演变,后续将继续梳理成相关系列。本文小编大部分内容摘自炼丹笔记之前的汇总.....实在是太懒了。
炼丹笔记
2021/12/02
6980
推荐系统炼丹笔记3:排序篇,一本家谱
跨域CTR预估,带你一飞冲天!
MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction(CIKM20)
炼丹笔记
2021/05/14
1.5K0
跨域CTR预估,带你一飞冲天!
CTR 预估模型的进化之路
本文介绍了CTR预估中LR、GBDT、FTRL、DeepFM等算法,以及它们在不同场景下的应用和优缺点。
TonyZhou
2017/07/06
4.7K6
CTR 预估模型的进化之路
主流CTR预估模型的演化及对比
学习和预测用户的反馈对于个性化推荐、信息检索和在线广告等领域都有着极其重要的作用。在这些领域,用户的反馈行为包括点击、收藏、购买等。本文以点击率(CTR)预估为例,介绍常用的CTR预估模型,试图找出它们之间的关联和演化规律。
数说君
2019/07/17
1.1K0
主流CTR预估模型的演化及对比
RS Meet DL(59)-FM家族的新朋友FAT-DeepFFM
今天给大家介绍的文章标题是:《FAT-DeepFFM: Field Attentive Deep Field-aware Factorization Machine》 文章下载地址是:https://arxiv.org/abs/1905.06336
石晓文
2019/08/06
1.5K0
RS Meet DL(59)-FM家族的新朋友FAT-DeepFFM
CTR点击率预估之经典模型回顾
CTR(Click-through rate, 点击率)预估在工业级推荐系统、广告系统中是非常重要的一个环节, 其预估效果会直接影响推荐系统的性能. CTR预估常伴有训练数据量大、特征高度稀疏、推断性能要求高等特点, 使得算法的设计多围绕这些特点来进行. 本文旨在梳理经典CTR预估模型的演化历程, 分为如下几个小节:
SIGAI学习与实践平台
2019/05/23
3.3K0
CTR 预估候选集选择方案
最近一段日子,怎么在一个大的新闻候选集合(假设有10w条新闻)选出用来做 CTR 预估的小集合(假设是100条新闻)困扰我们已久,昨夜我夜观星象,突来灵感,遂有此文。
codingforfun
2018/08/24
5940
CTR 预估候选集选择方案
图文解读:推荐算法架构——精排!
导语 | 精排是整个推荐算法中比较重要的一个模块,目前基本都是基于模型来实现,主要涉及样本、特征、模型三部分。本文将对其进行详细阐述,希望为更多的开发者提供经验和帮助。 一、整体架构 精排是整个推荐算法中比较重要的一个模块,目前基本都是基于模型来实现,涉及样本、特征、模型三部分。 二、样本 样本是模型的粮食,以CTR任务为例,一般用曝光点击作为正样本,曝光未点击作为负样本。样本方面主要问题有: 正负样本不均衡:比如CTR任务,如果点击率是5%,则正负样本1: 20,负样本远远多于正样本,导致样本不均衡
腾讯云开发者
2022/03/16
2.2K0
推荐阅读
相关推荐
CTR预估系列炼丹入门手册
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档