use an arbitrary error in training procedure of a neural network
2 views (last 30 days)
Show older comments
I need to feed an arbitrary error to a neural network in training procedure:
When there is some input output data of a black box and we are modeling the black box with a net, 'trainlm' (for example) can be used. The error that propagates back to the net, is the mse of the calculated outputs and the Targets. Then, assume that we have a system consist of 2 parts: a black box and a known part. I need to estimate the behavior of the black box part of the system using a neural network. There is no input-output data for the net, but we have input-output data for the spoken system. therefor we can calculate an error = mse("outputs of the system" - "Targets of the system") that should be fed to training algorithm as training error. How can I do that?
Thanks for your time,
0 Comments
Accepted Answer
Greg Heath
on 2 Feb 2012
Go back to the derivation of the change in weights for the output net(x) and modify it for whichever topology you are contemplating:
x input
y output
t target
y0 = f0(x) known
parallel: y = f0(x) + net(x)
e = (t-f0) - net(x)
series1 y = net(f0(x))
e = t-net(f0(x))
series2 y = f0(net(x))
e = t-f0(net(x))
grad(e.^2) = 2*e.*grad(e)
Hope this helps.
Greg
3 Comments
Greg Heath
on 5 Feb 2012
Sorry,I am not familiar with the MATLAB source codes of the advanced training functions like LM and CG. If you are not familiar either, try the simplest code(s) like TRAINGD first.
Hope this helps.
Greg
Greg Heath
on 5 Feb 2012
Which versions of MATLAB and the NNTB do you have?
Which topology are you concerned about?
Greg
More Answers (1)
See Also
Categories
Find more on Modeling and Prediction with NARX and Time-Delay Networks 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!