神经网络训练

我尝试识别每张数字图片。我已经移除了图片中除数字之外的所有内容,因此除了数字在图片上的位置不同之外,几乎没有噪音。我使用Neuroph的图像识别GUI,并对训练有一些疑问。

似乎我使用的图片分辨率越大,训练效果就越差。这是为什么呢?我训练集里有100张图片,每个数字10张。是不是太少了?为什么无论我做什么,每次训练最终的网络总误差总是收敛到某个介于2到3之间的数字。

这是其中一次训练的图片alt text

它学得不多


回答:

信息增加是指数级的!

当你提供更高分辨率的图像时,你实际上是在提供需要评估的额外信息。

如果你的分辨率是10×10像素,那么每张图像将有100个像素,你有每个数字10张图片,那就是每个数字1000个像素

现在如果你将分辨率翻倍到20×20像素,那么每张图像将有400个像素,或者每个数字4000个像素

换句话说:增加分辨率会导致你需要评估的每个数字的像素数量指数级增加。

增加更多(不必要的)像素会增加错误的几率:

通常,在机器学习中,图片会被简化到最低限度(无论是大小还是颜色),以尽可能减少错误的空间。当你有更多的像素时,算法可能会学习到一些与图像中实际形状完全无关的像素信息。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注