实体嵌入(向量化):用深度学习处理结构化数据

简介: 本文详细阐述了深度学习如何来实现处理结构化数据的方法。

f0d7ec896e1bdd1f3db3e3e5452d3ffd842a90fc

嵌入源自于 NLP word2vec )中的单词学习,上图来自 Aylien

本博文将涉及机器学习中两个重复出现的问题:第一个问题是深度学习在图像和文本中都有较好的表现,我们又如何将其用于表格数据?其次,在构建机器学习模型时,你必须始终问自己一个问题:将如何处理数据集中的分类变量?令人惊讶的是,我们可以用相同的答案回答这两个问题:实体嵌入。

现在,深度学习在许多方面都优于其他机器学习方法:图像识别,音频分类和自然语言处理只是众多应用中的一部分。这些研究领域都使用所谓的非结构化数据,即没有预定义结构的数据。一般来说,这些数据也可以按照一定的顺序(像素,用户行为,文本)排列。深度学习已成为处理非结构化数据的标准。现在的问题是深度学习是否也可以在结构化数据上有较好的表现。结构化数据是以表格格式组织的数据,其中列表示不同的特征,而行表示不同的数据样本。这与数据在Excel工作表中的表现形式类似。目前,结构化数据集的黄金标准是梯度提升树GBT模型(ChenGuestrin2016)。他们在Kaggle比赛以及学术文献中一直都有最好的表现。最近的深度学习已经表明它可以在结构化数据上匹配这些增强树模型。实体嵌入在此扮演着重要角色。

 7f725eeee38a2a798a69215ebcea8aa836ae1468

结构化数据与非结构化数据

实体嵌入

实体嵌入在结构化数据上拟合神经网络这一方面已经取得成功,例如,Kaggle竞赛中的获胜方案使用实体嵌入来处理每次乘坐的分类元数据预测出租车车距(deBrébisson et al.2015)。同样,预测罗斯曼药店商店销售任务的第三个解决方案使用了比第一个和第二个解决方案更为简单的方法。该团队使用一个具有实体嵌入的简单前馈神经网络作为分类变量来实现,分类变量的种类超过1000个类别,如商店IDGuoBerkahn2016)。

如果这是你第一次阅读有关嵌入的内容,我建议你先阅读本文。简而言之,嵌入是指向量的类别表示。让我们来演示一下下述这句话是如何工作的:

‘Deep learning is deep’

我们可以用向量来表示每个单词,所以“deep”这个单词变成类似[0.200.820.450.67]的东西。实际上,人们会用像1 2 3 1这样的整数代替单词,并使用查找表来查找链接到每个整数的矢量。这种做法在自然语言处理中非常常见,并且还用于包含行为序列的数据,如在线用户的踪迹。实体嵌入是指在分类变量上使用这一原则,其中分类变量的每个类别都由向量表示。

让我们快速回顾下机器学习处理分类变量的两种常用方法。

1. 热编码(One-hot encoding):创建二进制子特征,如word_deepword_learningword_is。属于该数据点的类别值为1,其他值为0。所以,对于“deep”这个词,特征word_deep1word_learningword_is则为0

2.  标签编码(Label encoding):像之前的例子那样分配整数,因此“deep”1“learning”2等等。这种方法比较适用于基于树的方法,但不适用于线性模型,因为它意味着赋值的顺序。

实体嵌入基本上将标签编码方法上升了一个层次,不仅仅是将一个整数分配给一个类别,而是整个向量。这个向量可以是任意尺寸,并且必须由研究人员指定。你可能想知道这些实体嵌入的优点是什么。

1.实体嵌入解决了独热编码的缺点。具有许多类别的独热编码变量会导致非常稀疏的向量,这在计算上是无效的,并且难以优化。标签编码解决了这一问题,但只能用于基于树的模型。

2.嵌入提供有关不同类别之间距离的信息。使用嵌入的优点在于,在神经网络的训练期间,也要训练分配给每个类别的向量。因此,在训练过程结束时,我们最终会得到一个代表每个类别的向量。这些训练过的嵌入被可视化,为每个类别提供可视化。在Rossmann销售预测任务中,即使没有为模型提供地理位信息,德国的可视化嵌入显示了与各州地理位置相似的集群。

3.训练好的嵌入可以保存并用于非深度学习模型。例如,每月训练分类特征的嵌入并保存。通过加载训练好的分类特征嵌入,我们可以使用这些嵌入来训练随机森林或梯度提升树GBT模型。

选择嵌入尺寸

嵌入尺寸是指代表每个类别的向量长度,并且可以为每个分类特征设置。 类似于神经网络中超参数的微调(tuning),嵌入尺寸的选择没有硬性的规定。在出租车距离预测任务中,每个特征的嵌入尺寸为10。这些特征具有不同的维度,从7(一周的天数)到57106(客户端ID)。为每个类别选择相同的嵌入尺寸是一种简单易行的方法,但可能不是最优的方法。

对于Rossmann商店销售预测任务,研究人员选择1M之间的一个值(类别数量)-1,最大嵌入尺寸为10。例如,一周中的某天(7个值)的嵌入尺寸为6, 而商店ID1115个值)的嵌入尺寸为10。但是,作者没有明确的选择1M-1之间选择的规则。

Jeremy Howard重建了Rossmann竞赛的解决方案,并提出了以下解决方案来选择嵌入尺寸:

74992dfeee4ab288d76e66e2e1bc8e04824da352 

可视化嵌入

嵌入的优点是可以将已经学习到的嵌入进行可视化处理,以显示哪些类别彼此相似。最流行的方法是t-SNE,它是一种降维技术,特别适用于高维数据集的可视化处理。最后,让我们列举两个简单的可视化嵌入的例子。以下是家用产品的可视化嵌入及其所属类别。类似的产品,如烤箱,冰箱和微波炉之间非常相似;充电器,电池和钻头等产品也是如此。

34e55f494cd802b4d035479077f1887c134065ba

家用产品的学习嵌入

另一个例子是在本文前面提到的Rossmann销售预测任务中德国各州的学习嵌入。嵌入中各州之间的邻近性与其地理位置相似。 

c2692591c0fe0918c74bd7be71584740b8fca0ab 

德国各州学习嵌入示例

参考资料

[1]Chen, T., & Guestrin, C. (2016, August). Xgboost: A scalable tree boosting system. In Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining (pp. 785–794). ACM.

[2]De Brébisson, A., Simon, É., Auvolat, A., Vincent, P., & Bengio, Y. (2015). Artificial neural networks applied to taxi destination prediction. arXiv preprint arXiv:1508.00021.

[3]Guo, C., & Berkhahn, F. (2016). Entity embeddings of categorical variables. arXiv preprint arXiv:1604.06737.

 

 

 以上为译文。

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Using Deep Learning for Structured Data with Entity Embeddings》,

译者:Mags,审校:袁虎。

文章为简译,更为详细的内容,请查看附件 

 

目录
打赏
0
0
0
0
1807
分享
相关文章
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
391 0
深度学习的魔法:如何用神经网络解锁数据的秘密
在这个数字信息爆炸的时代,深度学习技术如同一把钥匙,揭开了数据隐藏的层层秘密。本文将深入浅出地探讨深度学习的核心概念、关键技术和实际应用,带领读者领略这一领域的奥秘与魅力。通过生动的比喻和直观的解释,我们将一起走进神经网络的世界,看看这些由数据驱动的“大脑”是如何学习和成长的。无论你是科技爱好者还是行业新手,这篇文章都将为你打开一扇通往未来的大门。
深度学习的魔法:如何用神经网络解锁数据的奥秘
在人工智能的璀璨星空中,深度学习犹如一颗最亮的星,它以其强大的数据处理能力,改变了我们对世界的认知方式。本文将深入浅出地介绍深度学习的核心概念、工作原理及其在不同领域的应用实例,让读者能够理解并欣赏到深度学习技术背后的奇妙和强大之处。
75 3
《零基础实践深度学习》2.3.3 校验数据有效性 基于飞桨Dataset和DataLoader API完成数据处理
这篇文章详细介绍了在深度学习任务中进行数据处理的步骤,包括数据校验、封装数据读取与处理函数、使用飞桨Dataset和DataLoader API完成数据加载,以及数据增强/增广的方法和实践,旨在确保数据的有效性和提高模型训练效果。
深度学习之缺失数据的图像修复
基于深度学习的缺失数据图像修复是一种通过深度学习技术填补图像中缺失或损坏部分的过程。这种技术在图像处理领域具有重要意义,能够改善图像的视觉质量,并在许多实际应用中发挥作用,如图像恢复、视频编辑和图像生成等。
154 4
深度学习与神经网络:探索复杂数据的表示
【9月更文挑战第26天】深度学习作为人工智能领域的明珠,通过神经网络自动从大数据中提取高级特征,实现分类、回归等任务。本文介绍深度学习的基础、张量表示、非线性变换、反向传播及梯度下降算法,并探讨其在计算机视觉、自然语言处理等领域的应用与挑战。未来,深度学习将更加智能化,揭示数据背后的奥秘。
【绝技揭秘】模型微调与RAG神技合璧——看深度学习高手如何玩转数据,缔造预测传奇!
【10月更文挑战第5天】随着深度学习的发展,预训练模型因泛化能力和高效训练而备受关注。直接应用预训练模型常难达最佳效果,需进行微调以适应特定任务。本文介绍模型微调方法,并通过Hugging Face的Transformers库演示BERT微调过程。同时,文章探讨了检索增强生成(RAG)技术,该技术结合检索和生成模型,在开放域问答中表现出色。通过实际案例展示了RAG的工作原理及优势,提供了微调和RAG应用的深入理解。
195 0
深度学习的数据增强
基于深度学习的数据增强技术旨在通过生成或变换现有数据,来提高模型的泛化能力和鲁棒性。数据增强在图像、文本、语音等各种类型的数据处理中都起着至关重要的作用。
99 1

热门文章

最新文章