【发布时间】:2017-08-28 05:38:05
【问题描述】:
最近我一直在使用反向传播算法进行字符识别。我已经拍摄了图像并缩小到 5x7 大小,因此我得到了 35 个像素并使用这些像素训练了网络,这些像素具有 35 个输入神经元、35 个隐藏节点和 10 个输出节点。我已经成功地完成了训练,我得到了我需要的重量。我被困在这里了。我有我的测试集,我知道我应该前馈网络。但我不知道具体该怎么做。我的测试集将是 4 个 1x35 的样本。我的输出层有 10 个神经元。如何准确区分字符与我将获得的输出?我想知道这个测试是如何工作的。请指导我完成这个阶段。提前致谢。
【问题讨论】:
-
我使用 Sigmoid 作为目标函数。我使用反向传播算法训练
-
抱歉不清楚。这是梯度下降。
-
对不起@jodag 我没有在目标函数和激活函数之间考虑太多
-
好的,所以我猜每个输出神经元代表十位数之一?如果是这种情况,那么您需要使用具有最高响应的输出神经元的索引来标记每个测试集。
-
好的,我会清楚地了解网络。对于包含 1 和 5*7 大小的图像 ->35 个输入神经元并针对输出 [1 0 0 0 0 0 0 0 0 0] 和 2 ->[0 1 0 0 0 0 0 0 0 0] 进行训练,并且持续 10 个不同的数字。
标签: matlab machine-learning neural-network ocr backpropagation