understanding the newff and train functions

131 visualizzazioni (ultimi 30 giorni)
Viraj
Viraj il 23 Mag 2014
Commentato: idris il 17 Apr 2024 alle 7:19
I have been given a project to predict future exchange rates between two currencies based on exchange rates in the past. I need to create a neural network to accept 10 values and to give a one single value as the output. (10 past exchange rates as inputs and output is the predicted exchange rate.) P = [0 1 2 3 4 5 6 7 8 9 10]; T = [0 1 2 3 4 3 2 1 2 3 4]; I learnt that in a this kind of situation, there are only one input node and one output node. first value of the T vector is the output when the first value of the P vector is given as the input. I need to give 10 input values to the first layer of the network. How to use newff function here. I am only looking for newff function since I have been advised to use only newff. I hope someone will help me to overcome my issue. Thanks!
  2 Commenti
idris
idris il 17 Apr 2024 alle 7:19
@Viraj, having read your question, check out the link below
https://www.mathworks.com/matlabcentral/answers/77741-newff-create-a-feed-forward-backpropagation-network-obsoleted-in-r2010b-nnet-7-0

Accedi per commentare.

Risposta accettata

Greg Heath
Greg Heath il 24 Mag 2014
NEWFF has been obsolete for 4 years. The current function to use for regression/curve-fitting is FITNET.
You only have 11 points resulting in 11 equations. By closing your eyes and imagining the plot of T vs P, you will "see" a 3rd order polynomial-type curve with an internal local maximum and an endpoint maximum. This should be able to be modeled with H = 2 hidden nodes and Nw = (1+1)*H+(H+1)*1 = 7 weights/biases.
This is straight forward. See the examples in
help/doc newff
or, if you want to use the current function model
help/doc fitnet.
To mitigate the possibility of an unfortunate assignment of initial random weights, design 10 or more nets.
Hope this helps.
Thank you for formally accepting my answer
Greg
  3 Commenti
Greg Heath
Greg Heath il 26 Mag 2014
MATLAB is a vector/matrix based language. The code tends to be relatively independent of the actual dimensions of inputs and outputs. For examples search the NEWSGROUP and ANSWERS with
greg newff
greg fitnet
waqar ali
waqar ali il 1 Feb 2017
hello MyNetwork = newff(pn,tn, [i] , {tf}, 'trainlm');
i am trying to use newff function ,but i received this error , i am using matlab 2013 , any can tell me the reason of this error "Error using newff>new_5p1 (line 172) Layer sizes is not a row vector of positive integers.
Error in newff>create_network (line 130) net = new_5p1(varargin{:});
Error in newff (line 102) out1 = create_network(varargin{:});

Accedi per commentare.

Più risposte (3)

ilhem ouerghui
ilhem ouerghui il 10 Nov 2016
Modificato: Walter Roberson il 10 Nov 2016
Iam using Matlab 2016, I tried to use the function:
net_RN=newff(minmax(app2),[nbre_caract,Nero_cache,1]);
with:
nbre_caract=size(app2) && Nero_cache = 3
but i get this error:
Warning: NEWFF used in an obsolete way.
and from the help: The recommended function is feedforwardnet
how can I use this function please?
  3 Commenti
ilhem ouerghui
ilhem ouerghui il 11 Nov 2016
ok thanks for your answer
Steven Lord
Steven Lord il 11 Nov 2016
You can ignore it, but I recommend reading the documentation for feedforwardnet and using that function as its documentation describes instead.

Accedi per commentare.


abdelhafid benchikh
abdelhafid benchikh il 2 Dic 2016
Hi everyone I want to understand how the newff function work I means how can I use it and thanks
  1 Commento
Walter Roberson
Walter Roberson il 2 Dic 2016
You can go back to the last time it was documented, http://www.mathworks.com/help/releases/R2010a/toolbox/nnet/newff.html in R2010a.
If you are using a release newer than R2010a, then don't use newff(), use feedforwardnet() instead.

Accedi per commentare.


FuWei Shen
FuWei Shen il 29 Set 2022
great, it is useful.

Community Treasure Hunt

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

Start Hunting!

Translated by