I've been using MATLAB's neural network toolbox to generate good for character recognition. I wanted to develop my own to compare against and also try and use different methods for weight updates. I've got the network to return only values between 0 and 1. I was wondering how I can adapt this so that the network returns say 1, 2, 3, 4; numbers corresponding to rows in my data matrix, where each row is a different letter.
问问题
1557 次
1 回答
0
通常在谈论字符多字符识别时,它是一种很好的方法,而不是仅使用一个输出来为您拥有的每个字符使用一个输出。因此,如果您有 10 个字符(例如 0-9 的数字),您可以有 N 个输入(每个像素 1 个)和 10 个输出(每个字符 1 个)。这样,您不仅可以获得结果,还可以分析您的 NN 调整得有多好以及您的结果精度有多好。
所以如果你输入一个图像,结果是 [0.2 0.1 0.98 0.3 0.12 0.2 0.1 0.4 0.1 0.2]
你知道神经网络调整得很好,结果非常准确,但是如果[0.4 0.1 0.6 0.54 0.5 0.3 0.5 0.3 0.57 0.2]
你知道即使数字看起来和以前一样,结果要低得多。
话虽如此,如果你仍然想用 1 个输出来做,你可以训练你的 NN 给你一个从 0 到 1 的数字。
0 ->0
1->0.1
2->0.2
...
不过我可以向你保证,你的结果会像这样更糟。每个数字使用从 0 到 1 的 1 个输出!
于 2013-05-09T08:03:29.037 回答