目标:使用神经网络进行数字识别
说明:将图片规范化为8 x 13 pixels
。对于每一行,黑色像素由1
和每个白色白色0
表示。因此,每个图像由矢量矢量表示如下:
问题:是否可以在神经网络中使用vector of vectors
?如果不是如何表示图像?
1
向量?答案 0 :(得分:2)
简单地通过连接将它们组合成一个向量当然是可能的。事实上,您应该注意到,只要数据在培训和分类之间保持一致,任意重新排序数据都不会改变结果。
关于你的第二种方法,我认为(我真的不确定)你可能会失去一些信息。
答案 1 :(得分:1)
要使用多维输入,您需要多维神经元(我认为您的形式主义并不支持)。遗憾的是,您没有提供有关您的网络结构的任何信息,我认为这是您混淆问题的主要原因。每当评估特征表示时,您需要知道输入图层的结构:如果它不切实际,您可能需要不同的表示。
你的多维向量: 接受1个图像作为输入的网络只有1个(!)输入节点,其中包含多个向量(分别为行)。这是您的数据的最差可能的表示形式。如果我们:
考虑所有3种方法及其对数据的作用。后一种方法几乎总是和第一种方法一样糟糕。神经网络最适合功能。功能不是像素重组(行向量)。它们应该是您可以从像素中获得的META数据:亮度,我们从背部到白色的位置,边界框,边缘,形状,重力,......可以选择的东西很多作为图像处理的功能。你必须考虑你的问题并选择一个(或更多)。
最后,当你询问如何将行组合成1个向量"时,你只需要重新描述"找到整个图像的特征向量"。你绝对不希望"连接"您的向量并将原始数据提供给网络,您需要在使用网络之前找到信息。这对预处理至关重要。
有关哪些功能可能适用于OCR的更多信息,请阅读一些文章。最成功的网络atm是Convolutional Neural Network。主题特征提取的起点是here。
答案 2 :(得分:1)
1)是合并成一个矢量适合我用这种方式 http://vimeo.com/52775200
2)不适合,因为从rang(0-255)归一化后 - >到范围(0 - 1)differt行给出aprox相同的值,所以丢失数据