我在研究中使用 Encog 2.4.0 和 Java 来评估字体数字 (0-9) 识别中的反向传播和遗传算法。我正在使用 JavaCV 将我的数字(图像)处理为 0 和 1 的文本文件,每一行代表一个字体图像图像。每个字体(行)有 256 个属性(0 或 1)。我的网络输入节点号是 256,输出节点是 10(类),我在我的网络中使用 sigmoid 激活函数。我的输出也归一化为 0 和 1(例如 1000000000 表示 0,0100000000 表示 1,依此类推直到 9)。使用不同的训练集(100 到 700 个样本)和测试集(50 到 300)进行 11 次测试运行,具有不同的学习率和动量参数,我对反向传播的准确性和速度(10 秒到< 4 分钟)。但不幸的是 :
网络输入和输出结构类似于 XOR 示例。在 XOR 中,输入是 4 X 2 的数组,输出是 4 X 1。
我的是:输入的“样本数”X 256,输出的“样本数”X 10。
任何人都可以阐明我要去哪里错了吗?
谢谢,霍斯