Neural Network training and improvement

1 view (last 30 days)
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?

Accepted Answer

Greg Heath
Greg Heath on 31 May 2012
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

More Answers (3)

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

Sign in to comment.


anjaneya
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
belka0011 on 26 May 2012
I hoped that with little collection I'll positive dinamics
anjaneya
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).

Sign in to comment.


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

Sign in to comment.

Categories

Find more on Deep Learning Toolbox 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!