MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by belka0011 on 25 May 2012

My aim is to create neural network than will give threshold of distortions visibility after some actions with image. So, what I do, the inputa of net - DCT coefficients and targets maximal thresholds in which distortions aren't visible. I've prerared little collection of inputs-targets, and trying to train NN with help of feedforward function, but net don't want get trained? the graphics of training with differents number of neurons in hidden layer are here - http://www.dropbox.com/gallery/19618569/1/test2?h=849bb1

Help me, what is might be the problem, how to emprove my net? and also I cannot found how I can change the number of output neurons?

*No products are associated with this question.*

Answer by Greg Heath on 31 May 2012

Accepted answer

column2 = column1

column 4 = column3 = repmat([1 3 5 7]', N, 1)

Therefore you can make four plots of column5 vs column1 with column3 = constant.

If there is a deterministic trend to the four plots, the design should be straightforward provided your trn/val/tst partition results in three sets with similar dominant characteristics.

Before you design a net that corresponds to all of the column3 values, you might want to look at the four separate nets corresponding to column3 = constant.

Hope this helps.

Greg

Answer by Greg Heath on 25 May 2012

The number of input and output neurons are automatically determined by CONFIGURE or TRAIN.

Some of the training plots indicate that training, validation and testing data cannot be assumed to be random draws from the same probability distribution.

Hard to say more without more information.

[I N ] = size(x) ?

[ O N ] = size(t) ?

H = Number of hidden nodes?

Relevant code ?

Hope this helps.

Greg

belka0011 on 26 May 2012

Some troubles was with 14 input nodes - NN was with 13, but now for 4 nodes it's configered correctly.

Sizes: 4 inputs 4 targets

1 hidden layer with 10 neurons.

Code:

net = feedforwardnet(10);

net.trainParam.epochs = 100;

[net, tr] = train(net, InputSet, TargetSet);

graphics:

http://dl.dropbox.com/u/19618569/performance.png - performace graph

http://dl.dropbox.com/u/19618569/regression.png - regression

http://dl.dropbox.com/u/19618569/SET2.xls - target set - 5th column(i.e. 13 targets by 4 items)

Answer by anjaneya on 26 May 2012

"I've prerared little collection of inputs-targets" ensure that the number of training data-sets are more than the number of parameters of the Neural network(weights and biases)

Answer by Greg Heath on 27 May 2012

It is very clear that your training data does not adequately represent the relevant characteristics of your validation and test data. Try multiple designs with different data divisions in addition to different initial weights.

If you will include a text (*.xls=>*.txt) version of the data,I can take a look at it with the traveling laptop I will be using for the next week or so.

Hope this helps.

Greg

## 0 Comments