我一直在使用MATLAB的神经网络工具箱来产生良好的字符识别能力。我想开发自己的比较,并尝试使用不同的方法进行重量更新。我有网络只返回0和1之间的值。我想知道如何调整这个,以便网络返回说1,2,3,4;与我的数据矩阵中的行对应的数字,其中每行是不同的字母。
答案 0 :(得分:0)
通常在谈论字符多字符识别时,这是一种很好的方法,而不是仅使用1个输出来为每个字符使用输出。 因此,如果您有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]
,您就会知道NN调整得非常好并且结果非常准确,但如果得到[0.4 0.1 0.6 0.54 0.5 0.3 0.5 0.3 0.57 0.2]
,您就会知道即使数字似乎和以前一样,结果的可靠性要低得多。
说过你可以训练你NN给你一个从0到1的nu,如果你仍想用1输出做到这一点。
0 ->0
1->0.1
2->0.2
...
我仍然可以向你保证,你的结果将会更糟。每个数字使用0到1的1输出!