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

我正在构建一个用于图像分类/识别的神经网络。每个类别有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

L1-L2正则化的不同系数

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

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

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

f1_score metric in lightgbm

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

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

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

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

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

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

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

发表回复

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