优化神经网络输入以实现收敛

我正在构建一个用于图像分类/识别的神经网络。每个类别有1000张图片(30×30灰度),不同类别的图片被放置在不同的文件夹中。我计划使用反向传播算法来训练网络。

  1. 我输入训练样本的顺序是否会影响网络的收敛?
  2. 我应该以随机顺序输入训练样本吗?

回答:

首先,我将回答你的问题

  1. 是的,它会影响收敛
  2. 是的,建议这样做,这被称为随机排列

但为什么呢?

参考自 这里

大多数人工神经网络软件中的一个常见例子是IRIS数据集,其中包含150个数据实例。这些数据涉及三种不同类型的鸢尾花(Versicola、Virginics和Setosa)。数据集中包含四个变量的测量值(花萼长度和宽度,花瓣长度和宽度)。数据的排列方式是前50个案例属于Setosa,51到100个案例属于Versicola,其余属于Virginica。现在,你不希望以这种顺序将它们呈现给网络。换句话说,你不希望网络先看到Versicola类的所有50个实例,然后是Virginics类的所有50个实例,最后是Setosa类的所有50个实例。如果没有随机化,你的训练集将无法代表所有类别,因此无法收敛,也无法实现泛化。

另一个例子,在过去,我也有每个字母(26个类别)100张图片,当我按顺序(每个字母)训练时,它未能收敛,但在随机化后,它很容易就收敛了,因为神经网络能够对字母进行泛化。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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