2012-04-10 17 views
1

神经网络初学者:何时开始使用Back Propagation Neural Network中的选择集?

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

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

我不知道我是否正确地做了这件事,并且是否选择了?

在此先感谢!

回答

1

的总体思路是:

  1. 训练网络,一小会儿的训练集。
  2. 在第二组网络上评估网络,通常称为验证集。可能是你所说的选择集。
  3. 在训练集上训练网络。
  4. 重新评估选择集上的新网络。
  5. 哪个更好,旧网络还是新网络?如果新网络更好,我们仍然可以利用培训,所以转到3.如果新网络更糟,更多的培训可能只会受到伤害。使用以前版本的网络,因为它做得更好。

通过这种方式,您可以知道何时停止训练。

对此的一个简单修改就是始终跟踪迄今为止所见到的最佳网络,而当我们看到连续变差的训练尝试次数(如三次)时,我们只会停止训练。

第三套测试集是必要的,因为选择集如果间接参与了训练过程。最终评估必须在训练期间根本没有使用的数据上完成。

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

+0

太好了!你不能给出更好的解释谢谢! – Jonny 2012-04-10 04:19:37

0

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

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