Sum absolute error performance function


perf = sae(net,t,y,ew)
[...] = sae(...,'regularization',regularization)
[...] = sae(...,'normalization',normalization)
[...] = sae(...,FP)


sae is a network performance function. It measures performance according to the sum of squared errors.

perf = sae(net,t,y,ew) takes these input arguments and optional function parameters,


Neural network


Matrix or cell array of target vectors


Matrix or cell array of output vectors


Error weights (default = {1})

and returns the sum squared error.

This function has two optional function parameters that can be defined with parameter name/pair arguments, or as a structure FP argument with fields having the parameter name and assigned the parameter values:

[...] = sae(...,'regularization',regularization)

[...] = sae(...,'normalization',normalization)

[...] = sae(...,FP)

  • regularization — can be set to any value between the default of 0 and 1. The greater the regularization value, the more squared weights and biases are taken into account in the performance calculation.

  • normalization

    • 'none' — performs no normalization, the default.

    • 'standard' — normalizes outputs and targets to [-1, +1], and therefore normalizes errors to [-2, +2].

    • 'percent' — normalizes outputs and targets to [-0.5, +0.5], and therefore normalizes errors to [-1, +1].


Here a network is trained to fit a simple data set and its performance calculated

[x,t] = simplefit_dataset;
net = fitnet(10,'trainscg');
net.performFcn = 'sae';
net = train(net,x,t)
y = net(x)
e = t-y
perf = sae(net,t,y)

Network Use

To prepare a custom network to be trained with sae, set net.performFcn to 'sae'. This automatically sets net.performParam to the default function parameters.

Then calling train, adapt or perform will result in sae being used to calculate performance.

Introduced in R2010b