MATLAB Answers

FITNET - Non-linear prediction of vectors

3 views (last 30 days)
Dimitrios Gkotsoulias
Dimitrios Gkotsoulias on 26 Nov 2019
I am using FITNET to try multiple DL functions on my data, which include 3840 training samples of 7 dim.
The output is 6 dimensions.
Using the following snipet and the data of the attached .mat file:
out_train = double(out_train');
in_train = double(in_train');
net = fitnet([56,28],'trainbr');
net = train(net, in_train, out_train);
I seem to get an mse approximation using Bayesian Regularization, of around 0.004 (my inputs/outputs are normalized on -1,1 but mostly centered close to 0 so thsi mse really affects the results).
The actuall prediction does not seem ok, having pretty high differences from the wanted values, even for the training set.
The correlation between my data is complex, and non-linear.
Using more layers, the iterations become extremely slow and eventually does not seem to help the problem much.
Any suggestion would be helpful.
Thanks in advance,


Sign in to comment.

Answers (1)

Raunak Gupta
Raunak Gupta on 5 Dec 2019
As it is mentioned that adding more layers isn’t affecting the results much, I suggest to try to different trainFcn which can capture the complex mapping between inputs and output. Since gradient descent works on the gradients of the error after each iteration it may be suitable for this problem. You may try using traingd or other variant mentioned in trainFcn. Also, it may be helpful increasing the hidden nodes in layers instead of increasing the number of layers.
Hope it helps.

  1 Comment

Dimitrios Gkotsoulias
Dimitrios Gkotsoulias on 5 Dec 2019
Thank you for the indications.
I have tried Gradient Descent with worse results than Bayesian Regularization. 1000 epochs goes really fast with GD, and the network doesnt seem to learn better that 0.04.
The number of layers I have increased until no further improvement, so the 56, 28 gave me the best results for now.

Sign in to comment.

Sign in to answer this question.