TabTransformer:借助Transformer的预训练机制处理表格数据

TabTransformer是一种新型的表格数据建模方法,旨在解决多层感知机和树模型在处理表格数据时的局限性。它结合了Transformer架构,对离散特征进行编码,并通过预训练策略如掩码语言建模和替换标记检测增强半监督学习能力。TabTransformer在处理缺失值和噪声方面更健壮,且生成的向量具有可解释性,提高了模型性能。
部署运行你感兴趣的模型镜像

研究动机

表格数据是推荐系统,线上广告,画像优化等领域中最为常见的数据形式。此前对表格数据的建模主要集中于基于梯度提升的树模型,比如GBDT,这与图像和文本数据依赖深度学习差异明显。但是树模型有如下问题:

  1. 无法对图像和文本进行编码
  2. 半监督学习中表现不佳
  3. 对缺失值和噪声的处理能力以及健壮性一般

如果使用多层感知机,会存在另外一些问题:

  1. 模型以及学习所得的向量缺乏可解释性
  2. 对缺失值和噪声不够健壮
  3. 半监督学习中表现不佳
  4. 多层感知机在大部分数据集的表现不如树模型

解决的问题

TabTransformer是用来解决基于多层感知机和深度学习模型的问题,并缩短多层感知机与树模型的表现差距,同时基于实验提出了TabTransformer的表现增益(performance gain)。总结起来有4点:

  1. 性能优于多层感知机和深度学习模型
  2. 能够基于上下文信息生成可解释的向量
  3. 对缺失值和噪声更为健壮
  4. 针对表格数据,将预训练及针对具体任务的训练步骤拆开,使其具有更优秀的半监督学习能力

所提的方法

基于Transformer,首先为离散特征进行特征编码,然后将编码结果传入Transformer,之后输出离散特征的向量化结果,并将该结果与连续特征归一化后的向量化结果进行拼接,作为多层感知机的输入,最终输出结果。分类任务的损失函数为交叉熵,回归任务的损失函数为均方误差。

Transformer的结构

离散特征列编码是TabTransformer中非常重要的一个部分,作者构建了一个向量查询表,用于查询离散特征列iii对应的向量eϕi(.)e_{\phi_i}(.)eϕi(.)。列iii如果一共具有did_idi个种类,则eϕi(.)e_{\phi_i}(.)eϕi(.)则为(di+1)(d_i+1)(di+1)维向量,多出来的一位用来表示缺失值。每一维的向量值xjx_jxj记作eϕi(j)=[cϕi,wϕij]e_{\phi_i}(j)=[c_{\phi_i}, w_{\phi_{ij}}]eϕi(j)=[cϕi,wϕij],其中cϕi∈Rlc_{\phi_i} \in \mathbb {R^l}cϕiRlwϕij∈Rd−lw_{\phi_{ij}}\in \mathbb {R^{d-l}}wϕijRdl,这里的lll是超参数,唯一标识符cϕic_{\phi_i}cϕi则是用来将列iii中的类别与其他列中的类别区分开。

唯一标识符是专为表格数据设计的。在传统的针对语言建模的Transformer中,每个词的向量值都会被加上一个位置编码值以反映其在句子中的位置,但在表格数据中,特征间并没有位置关系,因此引入了唯一标识符。

向量预训练针对标签并不充足的半监督学习场景,有掩码语言建模(MLM)和替换标记检测(RTD)两种。对于离散特征xcat={x1,x2,...,xm}x_{cat}=\{x_1, x_2, ..., x_m\}xcat={x1,x2,...,xm},MLM随机选取k%k\%k%的特征将其掩盖。之后通过最小化交叉熵损失,将Transformer训练成一个多分类的分类器,使其可以预测被掩盖的特征列的原始数据。不同于MLM掩盖原始特征的方式,RTD将原始特征值替换为一个随机值,之后通过二分类判断该列是否被替换为随机值。由于表格数据中特征列的类别取值范围往往有限,并且每个被随机替换的列都会有一个单独的二分类分类器,因此随机值并不需要使用辅助生成器生成。

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值