calculating results (error, mse) by hand (Neural network)

5 views (last 30 days)
Hi my friends,
I am running a neural network (NARX) with 2 lags for each input and 2 lags for targets. I got results and also I pinpointed weights and biases parameters. I made the calculation of the error by hand i.e I took weights and transfer function and applied those to data. Basically, I constructed the non-linear system and I got the error (the difference between output and target). I could not get the error provided by the NARX estimation. I checked this several times but no success. I wonder why, it seems very easy but I totally puzzled. It is a basic code, if you can have data you can do it yourself (you only need data and weights after estimation).
please help Freddy
  2 Comments
Greg Heath
Greg Heath on 21 Sep 2014
You will have to provide your code if you want help
Freddy Rojas
Freddy Rojas on 21 Sep 2014
it is not necessary, you can make up some numbers.

Sign in to comment.

Accepted Answer

Freddy Rojas
Freddy Rojas on 21 Sep 2014
there is something else! I figured out that this morning: the way how you arrange the data matters. Specifically, you must take into consideration this ordering for the case of 2 lags in inputs,
x1(-1) x2(-1) ... xk(-1) x1(-2) x2(-2) ... xk(-2)
I thought that ordering was as follows
x1(-1) x1(-2) ... xk(-1) xk(-2)
matlab manual does explain this poorly.
Greg is right also, you must "normalize" data between -1 and 1.
thank you!

More Answers (1)

Greg Heath
Greg Heath on 21 Sep 2014
MAXMIN normalization of input and output are defaults. Therefore you have to
1. Normalize inputs before multiplying with the weights
2. Unnornormalize outputs before comparing with targets.
Hope this helps.
Thank you for formally accepting my answer
Greg

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!