神经网络训练

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

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

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

它学得不多


回答:

信息增加是指数级的!

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

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

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

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

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

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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