卷积神经网络对编码的分类特征有用吗?

机器算法验证 机器学习 神经网络 卷积神经网络
2022-04-18 14:57:05

卷积神经网络 (CNN) 在数值特征/输入/自变量方面非常成功,例如计算机视觉或音频信号。它可以看作是在频域中提取有用的信息。(参见卷积神经网络背后的直觉是什么?

但它对分类特征有用吗?例如,假设我们所有的特征都是分类的:一个人的性别、种族、教育程度等,那么像这样的数据矩阵(one-hot 编码)上的卷积意味着什么?


更多背景,我的数据不是图像或音频,而是更类似于UCI 收入数据,随着深度学习和 CNN 的日益普及,我很好奇它是否在非图像中也有用。

2个回答

我会冒险猜测,在这种情况下,您的卷积核开始记忆特征组和连续特征对之间的有用相关性。作为一个具体的例子,假设我们有三个特征:(年龄、性别、教育、种族)。然后,您可以使用权重的 1x2 卷积核,它们会滑过您的特征。所以你的内核将提取加权配对:w1,w2

out1=w1age+w2gender ,

out2=w1gender+w2education ,

out3=w1education+w2race

最简单的内核可能看起来像,在这种情况下,输出只是年龄、性别和教育。另一个内核可能是或,它会让你在最后的 out3 中“竞赛”。w1=1w2=0w1=0,w2=1

当特征是相关的并且特征集是非线性的时,您可能会看到类似的权重,然后当您的输出传递到完全连接的层时,可能只有 out1 用于捕获之间的相关性年龄和性别以及您完全连接的层将管理其余部分。w1=0.6,w2=0.3

通常,当您的特征在翻译下保持不变时(例如检测图像中的人脸),卷积很有用,在这种情况下它们不是。所以我认为你的网络只会使用 out1 作为第一个内核,out2 作为第二个内核等等。同样,如果存在某种相关性,它可能会更加复杂,或者特别是如果它陷入局部最小值。

你可能认为这在 NLP 中很有用,但这里的证据很少。一个很好的例子是用于文本分类的卷积神经网络:

https://arxiv.org/abs/1502.01710.pdf

这里的内核是在单词的 one-hot 编码上定义的。然而,如果网络所做的只是以一种非常昂贵的方式记忆单词序列,就很难理解了。示例:“[blah] 很好吃!” 与“食物”密切相关。

FastText 被训练做同样的事情,除了训练内核之外,它们实际上枚举了数十亿个 n-gram,并将每个 n-gram 用作稀疏逻辑分类器中的一个特征。结果要快得多(我们说的是几分钟和几天的训练),而且基本上一样准确:

https://arxiv.org/abs/1607.01759

我认为您可以简单地在分类数据上实现卷积神经网络。正如我们所知,文本有两种表示(将其视为巨大的分类数据):单热表示和嵌入表示。您可以将所有分类数据合并到一个特征中。例如,通过合并 3 个性别和 8 个种族,您将拥有一个新特征的 24 个值。
但是,您也有数字数据和分类数据;在这种情况下,您最好使用嵌入层对您的数据进行一些特征提取,然后合并您的所有数据。在这个阶段,您的数据将准备好作为修道院神经网络的输入。