Discussion:
neural networks normalization
(too old to reply)
Said Berriah
2009-05-29 15:12:01 UTC
Permalink
In the 2008b version the normalization is by default performed when we create a neural net with a function like: newff.

Is there a way to create a neural net (back prop) without any normalization by default.

Thanks.
Greg Heath
2009-05-29 21:37:23 UTC
Permalink
Post by Said Berriah
In the 2008b version the normalization is by default performed when we create a neural net with a function like: newff.
Is there a way to create a neural net (back prop) without any normalization by default.
I don't have the new version. However, I interpret the website
documentation

IPF
Row cell array of input processing functions. (Default =
{'fixunknowns','removeconstantrows','mapminmax'})

OPF
Row cell array of output processing functions. (Default =
{'removeconstantrows','mapminmax'})

to implythe right hand sides of the relations below


IPF
Row cell array of input processing functions.
( IPF = {'fixunknowns','removeconstantrows', [] } )

OPF
Row cell array of output processing functions.
( OPF= { 'removeconstantrows', [] } )

Hope this helps.

Greg
Said Berriah
2009-06-01 12:59:02 UTC
Permalink
I've already tried that : IPF = {'fixunknowns','removeconstantrows', [] } but it's not working.
Post by Greg Heath
Post by Said Berriah
In the 2008b version the normalization is by default performed when we create a neural net with a function like: newff.
Is there a way to create a neural net (back prop) without any normalization by default.
I don't have the new version. However, I interpret the website
documentation
IPF
Row cell array of input processing functions. (Default =
{'fixunknowns','removeconstantrows','mapminmax'})
OPF
Row cell array of output processing functions. (Default =
{'removeconstantrows','mapminmax'})
to implythe right hand sides of the relations below
IPF
Row cell array of input processing functions.
( IPF = {'fixunknowns','removeconstantrows', [] } )
OPF
Row cell array of output processing functions.
( OPF= { 'removeconstantrows', [] } )
Hope this helps.
Greg
Greg Heath
2009-06-01 14:13:27 UTC
Permalink
Please discontinue the unforgivable sin of TOPPOSTING
Post by Said Berriah
Post by Greg Heath
Post by Said Berriah
In the 2008b version the normalization is by default performed when we create a neural net with a function like: newff.
Is there a way to create a neural net (back prop) without any normalization by default.
I don't have the new version. However, I interpret the website
documentation
IPF
 Row cell array of input processing functions. (Default =
{'fixunknowns','removeconstantrows','mapminmax'})
OPF
 Row cell array of output processing functions. (Default =
{'removeconstantrows','mapminmax'})
to implythe right hand sides of the relations below
IPF
 Row cell array of input processing functions.
( IPF = {'fixunknowns','removeconstantrows', [] } )
OPF
 Row cell array of output processing functions.
( OPF= { 'removeconstantrows', [] } )
I've already tried that : IPF = {'fixunknowns','removeconstantrows', [] }
but it's not working.
Did you override both OPF and IPF?

Greg

P.S. Are you able to look at the source code using the command TYPE?
Iliyana
2009-07-22 23:43:01 UTC
Permalink
Hi Said,
Did you figure how to use newff without the default input processing functions.

I am trying to do that by writing all the parameters of newff and removing the 'mapminmax' from the IPF and OPF. I am not sure how to check if that does it.

net = newff(inputs1,targets,numHiddenNeurons,{'tansig', 'purelin'}, ...
'trainlm', 'learngdm', ...
'mse', {'fixunknowns','removeconstantrows'}, ...
{'removeconstantrows'}, 'dividerand');
Said Berriah
2009-07-23 13:23:01 UTC
Permalink
Hi Iliyana

the only way to avoid using the default preprocessing functions is to use the old version newff syntax as follows:

net = newff(inputs,targets,[bnrneurons 1],{'tansig','purelin'},'trainbr');

then you check the net property netn.inputs{x}.processFcns it should be empty;

hope it'll work for u.

Said.
Post by Iliyana
Hi Said,
Did you figure how to use newff without the default input processing functions.
I am trying to do that by writing all the parameters of newff and removing the 'mapminmax' from the IPF and OPF. I am not sure how to check if that does it.
net = newff(inputs1,targets,numHiddenNeurons,{'tansig', 'purelin'}, ...
'trainlm', 'learngdm', ...
'mse', {'fixunknowns','removeconstantrows'}, ...
{'removeconstantrows'}, 'dividerand');
Ruben Saborido Infantes
2009-10-02 11:53:04 UTC
Permalink
Hello Berriah.

If you want to avoid that MATLAB normalize your data, you must create the MLP by the next way:

nn=newff(inputs, targets, {number_of_neurons_hidden_layer},{'transfer_function_for_neurons_of_hidden_layer', 'transfer_function_for_output_layer's neurons'},'trainlm','learngdm', 'mse', {}, {}, 'dividerand');

The params {} is for IPF and OPF.

On the other hand, you can create your MLP and you can do later nn.inputs{1}.processFcns={} and nn.outputs{1}.processFcns={}.


It's works, I promise to you ;-)

See you!

P.D.: Sorry my English, I'm Spanish.
Rub?n.
Post by Said Berriah
In the 2008b version the normalization is by default performed when we create a neural net with a function like: newff.
Is there a way to create a neural net (back prop) without any normalization by default.
Thanks.
AFAQ AHMAD
2015-06-04 11:02:16 UTC
Permalink
Hi Ruben
Thanks for your question.
Please explain where I have to use "On the other hand, you can create your MLP and you can do later nn.inputs{1}.processFcns={} and nn.outputs{1}.processFcns={}." in the newff command or after training the network.
Regards
Afaq
Post by Ruben Saborido Infantes
Hello Berriah.
nn=newff(inputs, targets, {number_of_neurons_hidden_layer},{'transfer_function_for_neurons_of_hidden_layer', 'transfer_function_for_output_layer's neurons'},'trainlm','learngdm', 'mse', {}, {}, 'dividerand');
The params {} is for IPF and OPF.
On the other hand, you can create your MLP and you can do later nn.inputs{1}.processFcns={} and nn.outputs{1}.processFcns={}.
It's works, I promise to you ;-)
See you!
P.D.: Sorry my English, I'm Spanish.
Rub?n.
Post by Said Berriah
In the 2008b version the normalization is by default performed when we create a neural net with a function like: newff.
Is there a way to create a neural net (back prop) without any normalization by default.
Thanks.
Greg Heath
2015-06-06 07:35:22 UTC
Permalink
Post by AFAQ AHMAD
Hi Ruben
Thanks for your question.
Please explain where I have to use "On the other hand, you can create your MLP and you can do later nn.inputs{1}.processFcns={} and nn.outputs{1}.processFcns={}." in the newff command or after training the network.
Regards
Afaq
This thread was started in May 2009 regarding version 2008b. Checking the help and doc documentation for 2014a
Post by AFAQ AHMAD
help newff
NEWFF Create a feed-forward back-propagation network.

Obsoleted in R2010b NNET 7.0. Last used in R2010a NNET 6.0.4.
The recommended function is FEEDFORWARDNET.

However, FEEDFORWARDNET is a generic function that is automatically called by the specialized functions FITNET (regression and curve-fitting) and PATTERNNET (classification and pattern-recognition)

Using FITNET as an example:
net = fitnet % No semicolon reveals
Post by AFAQ AHMAD
inputprocessFcns = net.input.processFcns
outputprocessFcns = net.output.processFcns

inputprocessFcns = 'removeconstantrows' 'mapminmax'
outputprocessFcns = 'removeconstantrows' 'mapminmax'

Therefore use the commands

net.inputprocessFcns = 'removeconstantrows' ;
net.outputprocessFcns = 'removeconstantrows' ;

similarly for PATTERNNET.

Hope this helps.

Greg

Continue reading on narkive:
Loading...