Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Neural Network training and improvement

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?

0 Comments

belka0011

Products

No products are associated with this question.

4 Answers

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

0 Comments

Greg Heath
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

1 Comment

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)

Greg Heath
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)

2 Comments

belka0011 on 26 May 2012

I hoped that with little collection I'll positive dinamics

anjaneya on 27 May 2012

get more training data. plz understand that you need more number of data points than the ANN unknowns(weights and biases).

anjaneya
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

1 Comment

belka0011 on 28 May 2012

data in text format - http://dl.dropbox.com/u/19618569/SET2.txt

first two columns - block position in image
3th and 4th - block DCT position
5th - maximal thresholds in which distortions aren't visible(i.e. targets)

Greg Heath

Contact us