【发布时间】:2013-04-14 20:03:50
【问题描述】:
我正在使用神经网络进行字符识别(以及后来的指纹识别)。我对事件的顺序感到困惑。我正在用 26 个字母训练网络。稍后我将增加它以包括 26 个干净的字母和 26 个嘈杂的字母。如果我想识别一个字母说“A”,那么正确的方法是什么?这就是我现在正在做的事情。
1) 使用 26x100 矩阵训练网络;每行包含一个来自 bmp (10x10) 分割的字母。 2)但是,对于测试目标,我将输入矩阵用于“A”。在第一行之后我有 25 行零,因此我的输入矩阵与我的目标矩阵大小相同。 3) 我运行 perform(net, testTargets,outputs) ,其中输出是使用 26x100 矩阵训练的网络的输出。 testTargets 是“A”的矩阵。
这似乎不太对劲。训练应该与识别任何角色分开吗?我想要发生的事情如下。
1) 为我选择的图像文件训练网络(在将图像处理成逻辑数组之后)。
2) 使用这个经过训练的网络来识别不同图像文件中的字母。
因此训练网络识别 A 到 Z。然后选择一张图像,运行网络以查看从选择的图像中识别出哪些字母。
【问题讨论】:
-
你能澄清你的问题吗?我不确定你在这个过程的哪一部分遇到了麻烦。您还可以发布一些代码吗?一般来说,如果没有对它的工作原理有很强的直观理解,试图实现一个机器学习方法只会以泪水告终。您的代码中是否存在概念问题或错误?
-
发布我的代码会有点困难,因为我已经为它实现了一个 GUI。当我开发这个程序时,我意识到我可能想错了。我在整个过程中遇到问题。我什么时候才能看到网络是否可以识别我给它的任何输入?我的理解是,我为字母 A 到 Z 训练网络,然后我为使用 bwlabel 的图像处理中的任何字母或字母提交一个逻辑数组。我希望得到网络的回复,说明我的信件是否被认可。
标签: image matlab neural-network