What happens to the network performance when net.perfor​mParam.nor​malization = 'standard' is set?

4 visualizzazioni (ultimi 30 giorni)
I have use the following database to try to figure out my question above.
[x, t] = bodyfat_dataset; Q = size(x, 2); Q1 = floor(Q * 0.90); Q2 = Q - Q1;
ind = randperm(Q); ind1 = ind(1:Q1); ind2 = ind(Q1 + (1:Q2));
x1 = x(:, ind1); t1 = t(:, ind1); x2 = x(:, ind2); t2 = t(:, ind2);
net = feedforwardnet(10);
numNN = 10; NN = cell(1, numNN); perfs = zeros(1, numNN);
for i = 1:numNN
fprintf('Training %d/%d\n', i, numNN);
[ NN{i} tr{i}] = train(net, x1, t1);
y2 = NN{i}(x2);
end
If I set:
net.performParam.normalization = 'standard'
net.performFcn = 'mse'
This is what a found out:
perform(NN{i},y2{i},t2) = mse(NN{i},y2{i},t2, 'normalization', 'standard') % for a run perf = 0.0855
but it is NOT equal to: mse(NN{i},y2{i},t2) = mse(y2{i},t2) = mse(y2{i}-t2) = (sum(power((y2{i}-t2),2)))/length(t2) % for the same run = 48.224
For the initial training performance values
tr{i}.perf(1)
I get values ranging from 0.5656 up to 9.3844. So if errors are normalized to [-2,2] using the above command why tr.perf starts from values greater then 4.
If I sent net.performParam.normalization = 'none' % default net.performFcn = 'mse'
All of the above mse calculations are equal:
perform(NN{i},y2{i},t2) = mse(NN{i},y2{i},t2) = mse(y2{i},t2) = mse(y2{i}-t2) = (sum(power((y2{i}-t2),2)))/length(t2)
and I get initial performance values ranging from 191.7 up to 431.72.
So for sure there is some time of normalization on the performance but I can't figure out how to get the output of perform() when net.performParam.normalization = 'standard' is set.
I have tried to normalize the inputs and targets with mapminmax, and/or zscore and I have never get
perform(NN{i},y2{i},t2) = (sum(power((y2{i}-t2),2)))/length(t2)
what are the background operations of perform() when net.performParam.normalization = 'standard' is set?
Thanks!

Risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by