NN Toolbox: What is the difference between "performance" and "plotperform"?

3 views (last 30 days)
So running the following code:
[x, t] = bodyfat_dataset;
net = feedforwardnet(10);
net.performParam.regularization = 0.01;
net = train(net, x, t);
y = net(x);
perf = perform(net, t, y)
Produces an output for perf, and then i can also view the performance through the nntraintool as a plot.
What is the difference between these two measures of performance?

Accepted Answer

Nanda Gupta
Nanda Gupta on 31 Mar 2017
I understand that you are a little confused as to how "perform" and "plotperform" differ.
From what I can infer, there is not much difference between them, both "plotperform" and "perform" work on "Mean Sqaured Error" by default. But "plotperform" actually plots these mean squared errors for their corresponding epochs where as the "perform" function calculates the performance of the network based on two property values:
  • performFcn : which is "mse"(mean squared error) by default but can be set to any of these as well:
  1. mae - Mean absolute error performance function.
  2. mse - Mean squared error performance function.
  3. sae - Sum absolute error performance function.
  4. sse - Sum squared error performance function.
  5. crossentropy - Cross-entropy performance.
  6. msesparse - Mean squared error performance function with L2 weight and sparsity regularizers.
  • performParam: This is set to "regularization" and "normalization" by default.
The value returned by the "perform" function is a double value and the closer this value gets to zero, the better the network.
Also, check out these links for more information:

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!