何时开始使用反向传播神经网络中的选择集?

时间:2012-04-10 01:31:42

标签: neural-network backpropagation

ANN的初学者:

我正在实施反向传播神经网络来预测黄金价格。我知道我必须将数据分成训练数据,选择数据和测试数据。

但是我不确定如何继续使用这些数据集。起初我用我的训练集训练数据网络然后经过训练我从测试集中获得了一些输入到我的网络并比较输出。

我不确定我是否正确行事并且选择集是否已进入?

提前感谢!

2 个答案:

答案 0 :(得分:1)

一般的想法是:

  1. 在训练集上训练网络一段时间。
  2. 在第二组上评估网络,通常称为验证集。可能你称之为选择集。
  3. 在训练集上训练网络一点。
  4. 再次评估选择集上的新网络。
  5. 哪个更好,旧网络还是新网络?如果新网络更好,我们仍然可以从培训中获得一些用途,所以转到3.如果新网络更糟,更多的培训可能只会受到伤害。使用以前版本的网络,因为它做得更好。
  6. 通过这种方式,您可以知道何时停止训练。

    对此的一个简单修改就是始终跟踪到目前为止看到的最佳网络,并且当我们看到连续执行的一些(例如三次)训练尝试时,我们只停止训练。

    第三组测试集是必要的,因为选择集如果间接参与培训过程。必须对培训期间根本没有使用的数据进行最终评估。

    这种事情对于简单的实验来说已经足够了,但一般来说,您需要使用cross-validation来更好地了解系统的性能。

答案 1 :(得分:0)

我想发表评论只是说验证集是依赖于模型的超参数调整的好地方,但我在这里是新的,因此缺乏声誉点。为了使这个更值得单独发布,我已经包含了我自己的列车验证测试过程的大纲。在实践中,我的工作流程如下:

  1. 识别,收集和清理数据。在数据整理过程中尽量限制抱怨。
  2. 将数据分为三组:培训,验证,测试。
  3. 建立两个" base"用于评估稍后在过程中构建的更复杂模型的模型。这些模型中的第一个通常是使用所有可能特征的基本线性/逻辑回归。第二个模型仅使用最明显的信息(信息特征的初始识别取决于用例,通常涉及领域知识的组合,基本聚类,简单相关)。
  4. 开始更多经验特征选择(即无监督NN,但通常是随机森林),并使用训练集对原型进行原型设计。
  5. 消除效果不佳的模型以及无信息的功能
  6. 将剩余模型的表现相互比较以及" base"模型,使用训练集的修改版本(相同的数据,但无法提供信息)。折腾表现不佳的模特。
  7. 使用验证集,为每个模型调整适当的超参数(通过手动或网格搜索)。进一步减少考虑的模型数量,理想情况下只需2-3个(不包括基本型号)。
  8. 最后,在测试集上评估模型性能(使用优化的超参数)。再次,比较模型之间和基础模型。根据特定问题的计算复杂性/成本的适当组合,易于解释/透明度和可解释性,以及对基础模型的改进和/或性能与基础模型进行最终模型选择。