我目前正在进行一个人工智能项目,输入是由固定长度的字母向量组成,这些字母可以是A、B、C或D。我希望能够将向量中每个位置的字母输入到神经网络中。例如,在每个位置上,可以有一个数组,使得该位置的字母在相应的输入数组中有一个1,而数组中的其他位置都是0。例如,如果字母向量的第十个位置是A,则输入神经元的“输入向量”将是这样的:
[A B C D][1 0 0 0]
当然,这可能源自这样的字母向量:
[A B C D D B A A B C A A]
然而,输入神经元无法接受向量作为输入。因此,将这种输入格式化为神经网络输入的最佳方式是什么?
回答:
我认为你提到的是所谓的独热编码。如果你对你的示例[A B C D]
执行此操作,你将得到以下结果:
[[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]
其中第一列表示是否是A
,第二列表示是否是B
,依此类推。
你不能将向量插入到神经网络的单个输入中,但你可以重塑编码矩阵,而不是只有4个输入,你可以有16个输入。