实体嵌入
在处理结构化数据的机器学习问题时,神经网络并不那么突出。许多在线机器学习竞赛(如 Kaggle 上举办的竞赛)中的顶级团队比神经网络更频繁地使用基于树的方法,这一事实可以很容易地看出这一点。
原则上,神经网络可以逼近任何连续函数和分段连续函数。但是,它不适合近似任意非连续函数,因为它假定其一般形式具有一定程度的连续性。在训练阶段,数据的连续性保证了优化的收敛,在预测阶段,它确保输入值的轻微变化保持输出稳定。
另一方面,决策树不假设特征变量的任何连续性,并且可以根据需要尽可能精细地划分变量的状态。
有趣的是,如果我们使用正确的数据表示,我们在自然界中通常面临的问题通常是连续的。每当我们找到更好的方法来揭示数据的连续性时,我们就会增加神经网络学习数据的能力。
例如,卷积神经网络将同一邻域中的像素分组在一起。与简单地将图像表示为图像的所有像素值的展平矢量相比,这增加了数据的连续性。
神经网络在自然语言处理中的兴起是基于词嵌入,它使具有相似含义的词在词空间中彼此更接近,从而与使用词的单热编码相比增加了词的连续性。
与自然界中发现的非结构化数据不同,具有分类特征的结构化数据可能根本没有连续性,即使有也可能不那么明显。
为了学习函数的近似值,我们将离散变量的每个状态映射到一个向量,这种映射相当于在 one-hot 编码输入之上的额外一层线性神经元。
实体嵌入的主要目标是将相似的类别映射到嵌入空间中彼此靠近的位置。
在实验中,我们使用单热编码和实体嵌入来表示神经网络的输入特征。我们在嵌入层之上或直接在 one-hot 编码层之上使用两个完全连接的层(分别为 1000 和 500 个神经元)。全连接层使用 ReLU 激活函数。输出层包含一个具有 sigmoid 激活函数的神经元。没有使用 dropout,因为我们发现它并没有改善结果。
表格 ResNet
鉴于 ResNet 在计算机视觉领域的成功故事,我们的想法是为表格数据构建 ResNet 的简单变体。与原始架构相比,主要构建块得到了简化,并且从输入到输出有一条几乎清晰的路径,我们发现这有利于优化。总的来说,我们希望这种架构在更深层次的表示可能有帮助的任务上表现优于 MLP。
广度和深度学习
人脑是一台复杂的学习机器,通过记忆日常事件形成规则,并将这些知识概括为我们以前从未见过的事物。也许更强大的是,记忆还可以让我们进一步完善我们的通用规则,但也有例外。
通过联合训练一个广泛的线性模型(用于记忆)和一个深度神经网络(用于泛化),可以结合两者的优势使我们更近一步。这是 Wide and Deep Learning 的前提。
它对于具有稀疏输入(具有大量可能特征值的分类特征)的一般大规模回归和分类问题很有用,例如推荐系统、搜索和排名问题。
深度交叉网络
特征工程一直是许多预测模型成功的关键。然而,这个过程并不简单,通常需要手动特征工程或详尽搜索。DNN 能够自动学习特征交互;然而,它们隐含地生成所有交互,并且在学习所有类型的交叉特征方面不一定有效。
DCN 在每一层明确应用特征交叉,不需要手动特征工程,并且为 DNN 模型增加了可忽略不计的额外复杂性。
为了降低维度,我们采用嵌入过程将一个热门特征转换为实值的密集向量(实体嵌入)。
交叉网络由交叉层组成,每层有以下公式:
交叉网络的这种特殊结构导致交叉特征的程度随着层数的增加而增加。l层交叉网络的最高多项式次数(根据输入x0)是l +1。
组合层连接来自两个网络的输出,并将连接后的向量馈送到标准 logits 层。
选项卡转换器
TabTransformer 建立在基于自我注意的 Transformer 之上。Transformer 层将分类特征的嵌入转换为稳健的上下文嵌入,以实现更高的预测精度。
从 TabTransformer 中学习到的上下文嵌入对于丢失和嘈杂的数据特征都具有很强的鲁棒性,并提供更好的可解释性。
与深度学习模型相比,基于树的模型有几个局限性。
- 它们不适合从流数据进行持续训练,并且不允许在存在多模态和表格数据的情况下对图像/文本编码器进行有效的端到端学习。
- 它们的基本形式不适合最先进的半监督学习方法。
MLP 通常学习参数嵌入来编码分类数据特征。但由于它们的浅层架构和无上下文嵌入,它们具有以下局限性:
- 模型和学习到的嵌入都不可解释
- 它对丢失和嘈杂的数据不稳健
- 对于半监督学习,它们没有达到竞争性能。最重要的是,MLP 与基于树的模型(例如 GBDT)在大多数数据集上的性能不匹配。
受 Transformers 在 NLP 中成功应用的启发,我们在表格域中调整它们。特别是,TabTransformer 在参数嵌入上应用了一系列基于多头注意力的 Transformer 层,将它们转换为上下文嵌入,弥合了基线 MLP 和 GBDT 模型之间的性能差距。
Setup: 对于TabTransformer,隐藏(嵌入)维度、层数和注意力头数分别固定为32、6和8。MLP 层大小设置为 {4 × l, 2 × l},其中 l 是其输入的大小。
特征分词器转换器
简而言之,FT-Transformer 模型将所有特征(分类和数值)转换为嵌入,并将一堆 Transformer 层应用于嵌入。因此,每个 Transformer 层都在一个对象的特征级别上运行。