诺亚方舟实验室提出数值特征自动离散框架AutoDis用于CTR预估

本文主要是介绍诺亚方舟实验室提出数值特征自动离散框架AutoDis用于CTR预估,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AutoDis: Automatic Discretization for Embedding Numerical Features in CTR Prediction

Huifeng Guo, Bo Chen, Ruiming Tang, Zhenguo Li, Xiuqiang He

Noah’s Ark Lab

https://arxiv.org/pdf/2012.08986v1.pdf

推荐系统中,学习特征交互在CTR预估中非常重要。很多深层CTR模型遵循embedding 和 特征交互的范式。

大多数模型集中在特征交互模块,设计网络结构来更好的对特征交互进行建模。embedding模块,作为数据和特征交互模块的桥梁,被忽略了。

数值特征进行embedding常用的方法是归一化和离散化。前者在多个特征之间共享一个embedding,后者通过多种离散化方法,将数值特征转换为类别特征。

但是,第一种方法表达能力有限,第二种也是性能有限,因为离散化不能随着CTR模型的最终目标而优化。

为了解决数值特征的表达能力的问题,这篇文章提出一种自动离散化框架,AutoDis,它可以自动将数值特征离散化,并且以端到端的形式跟CTR模型一起优化。

具体而言,作者们为每一个数值域引入一个元embedding集合,可以对跨域的特征之间的关系进行建模,提出一种自动微分离散化和聚合方法,可以捕捉数值特征和元embedding之间的关联性。

 

两个公开数据集和一个工业界数据集上的实验表明,AutoDis相对STOA方法效果更优。

数值型特征不太容易利用embedding方法

这篇文章提出的AutoDis具有以下两个特性

这篇文章的主要贡献如下

目前大多数深层CTR模型基本都包含了下面两个模块

特征交互主要分为以下几类

现有的数值特征处理方法主要有以下几种

其中最常用的是离散化方法,主要分为以下几种

离散化方法存在下面三个问题

上述三个问题图示如下

AutoDis可以作为深层CTR模型的组成部分融入进去

AutoDis 框架图示如下

部分聚合函数以及优缺点如下

作者们提出一种新的聚合函数

在数据预处理阶段,作者们对于数值型特征利用了minmax归一化方法。

数据集信息统计如下

几种方法的效果对比如下

不同模型与autoDis结合的效果对比如下

embedding可视化效果对比如下

不同的特征值元embedding softmax分布图示如下

数值特征个数以及顺序对autodis的影响图示如下

不同模型的复杂度对比如下

不同的聚合策略效果对比如下

元embedding的个数对模型效果影响如下


              我是分割线


您可能感兴趣

乔治亚理工提出基于GAN的强化学习算法用于推荐系统

民宿平台airbnb是如何动态定价的

密歇根州立大学联合领英提出基于AutoML的Embedding框架AutoDim

密歇根州立大学联合字节提出AutoEmb用于流式推荐

深度学习在CTR预估中的应用

伊利诺伊大学联合中科院提出动态图协同过滤算法DGCF(已开源)

加州大学提出对偶注意力RNN用于时间序列预估

宾大微软联合提出深层强化学习框架用于新闻推荐

中科大等提出深度注意力网络DAM用于捆绑推荐

浙大中科院微软等提出分层注意力网络SHAN用于序列推荐系统

加州大学提出时间间隔自注意力模型用于序列推荐(已开源)

普渡大学提出轻量级特征交互算法deeplight大幅加速ctr预估在线服务(已开源)

这篇关于诺亚方舟实验室提出数值特征自动离散框架AutoDis用于CTR预估的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/232626

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

python利用backoff实现异常自动重试详解

《python利用backoff实现异常自动重试详解》backoff是一个用于实现重试机制的Python库,通过指数退避或其他策略自动重试失败的操作,下面小编就来和大家详细讲讲如何利用backoff实... 目录1. backoff 库简介2. on_exception 装饰器的原理2.1 核心逻辑2.2