一种热编码作为循环神经网络的输入

数据挖掘 Python 深度学习 喀拉斯 预处理 rnn
2022-02-23 00:39:49

我正在尝试使用循环神经网络根据先前标签预测模式中的下一个标签。我总共有 100 个标签

输入模式示例:

1) orange, apple, banana, lemon -> grape
2) apple, banana, pineapple, mango -> orange
3) lychee, orange, grapefruit, apple -> lemon

虽然这是一个虚假的例子,但它很好地解释了这个问题。我的目标变量是输入序列集的成员。

我现在想要做的是因为我的输入模式之间没有序数关系,我不想简单地标记编码数据,因为模型可能会隐含地从标签编码的序数性质中学习,所以我想去 one-hot编码。

但是我很难理解如何为一种热编码的输入创建输入特征空间。我应该将模式输入设为:[1,0,0,0..,0],[0,1,0,0..,0],[0,0,1,0..0],[0,0,0,1..,0]还是应该只是一个矩阵,其中 1 代替数据中存在的所有标签,而 0 则它们不存在类似的东西[1,1,1,1,0,0..,0]

1个回答

神经网络的单热编码特征可能很复杂。

通常类别是特征散列而不是。每个类别值都分配有一个数值:

  • 橙色:1
  • 苹果:2
  • 香蕉:3
  • 柠檬:4
  • 葡萄:5…

然后序列变为:

1, 2, 3, 4 -> 5

然后,神经网络能够学习代表类别的数字序列。