实体嵌入既有趣又有好处

嵌入层不仅在处理语言数据时有用。作为“实体嵌入”,它们最近因在表格、小规模数据上的应用而闻名。在这篇文章中,我们举例说明了两种可能的用例,同时也提醒大家不要期待什么。

来源:RStudio AI博客

嵌入有什么用?根据你问的对象,答案可能会有所不同。对于许多人来说,最直接的关联可能是词向量及其在自然语言处理(翻译、总结、问答等)中的应用。在那里,它们以对语义和句法关系进行建模而闻名,正如在关于词向量的最具影响力的论文之一(Mikolov 等人,2013 年)中发现的此图所示:

(Mikolov 等人,2013 年) Mikolov 等人,2013 年
国家及其首都。图片来自(Mikolov 等人,2013 年)
国家及其首都。图片来自(Mikolov 等人,2013 年)
(Mikolov 等人,2013 年) Mikolov 等人2013

其他人可能会提到实体嵌入,这是帮助赢得 Rossmann 竞赛(Guo 和 Berkhahn 2016)的神奇工具,并因 fast.ai 的深度学习课程而广为人知。在这里,这个想法是利用通常对预测没有帮助的数据,例如高维分类变量。

实体嵌入 (Guo 和 Berkhahn 2016) Guo 和 Berkhahn 2016 fast.ai 的深度学习课程

另一个(相关)想法,也被 fast.ai 广泛传播并在本博客中解释,是将嵌入应用于协同过滤。这基本上是根据这些“匹配”程度的标准(如现有评级所示)构建用户和项目的实体嵌入。

本博客

那么嵌入有什么用呢?在我们看来,嵌入就是你对它们的理解。本文的目的是提供如何使用嵌入发现关系并改进预测的示例。这些示例只是示例,选择这些示例来演示一种方法。最有趣的事情实际上是你在你的工作或兴趣领域中对这些方法的理解。

你的

嵌入的乐趣(描绘关系)

我们的第一个示例将强调“有趣”的部分,但也展示如何在技术上处理数据集中的分类变量。

StackOverflow 开发人员调查

准备数据

配备我们需要的库:

EthicsChoice 数据 <- ( ) (