【问题标题】:MATLAB Neural Network Performance data structuresMATLAB 神经网络性能数据结构
【发布时间】:2015-03-13 17:03:42
【问题描述】:

我正在使用 MATLAB 上的神经网络逼近余弦函数。训练完成后,工作空间上会输出一些数据结构。其中有 4 个结构(嗯,确实是值),其中包含网络的性能结果。

对于性能分析,您会得到一个 performance 结构、trainPerformancetestPerformancevalPerformance

虽然我知道最后三个结构的含义,但第一个让我感到困惑,因为它的值与其他结构不同。

我正在使用神经网络工具箱。

% Train the Network
[net,tr] = train(net,inputs,targets);

% Test the Network
outputs = net(inputs);
errors = gsubtract(targets,outputs);
performance = perform(net,targets,outputs)

% Recalculate Training, Validation and Test Performance
trainTargets = targets .* tr.trainMask{1};
valTargets = targets  .* tr.valMask{1};
testTargets = targets  .* tr.testMask{1};
trainPerformance = perform(net,trainTargets,outputs)
valPerformance = perform(net,valTargets,outputs)
testPerformance = perform(net,testTargets,outputs)

性能结构和其他三种有什么区别?

我想我刚刚意识到性能是网络的整体结果,而trainPerformance是针对当前迭代的。

【问题讨论】:

  • 答案可能特定于您正在使用的库。 Matlab 中有几个选项。为了帮助澄清您所看到的内容,请说明您将哪个模块/lib 用于 NN,并给出训练和返回结构的代码行。
  • 好的重新编辑问题!

标签: matlab neural-network


【解决方案1】:

在进行神经网络时,您通常会将数据分为 3 个子集:TrainingValidationTest。关于这些是什么以及为什么,有人在这个网站上有一个很好的问答:

whats is the difference between train, validation and test set, in neural networks?

在您的情况下,您似乎在测试数据的每个子集以及整个数据集的性能!因此,performance 是使用 NN 的性能所有数据,train/val/test-performance 是每个提到的数据子集的性能。

确保您正确理解这 3 个子集是什么,因为这对于理解 NN 的性能至关重要

【讨论】:

  • 正如我所说,我了解 train/val/test-performance 值是什么,但是我不确定性能值。谢谢你的回答,我明白了!
猜你喜欢
  • 2010-10-03
  • 2015-12-03
  • 2011-08-23
  • 2016-11-13
  • 2014-01-15
  • 1970-01-01
  • 2012-05-05
  • 2010-11-20
相关资源
最近更新 更多