How to implement cross validation with back propogation network

2 views (last 30 days)
Subha
Subha on 8 Mar 2013
Sir, How to implement cross validation methods such as k fold and leave one out with back propogation network... i have tried with SVm works good.. but dont know how to merge k fold with bpn... .. thanks
  1 Comment
Subha
Subha on 11 Mar 2013
i've tried this code...
load dataset4_bp_kn_fs
TrainingSet=data;
GroupTrain=target;
Indices = crossvalind('Kfold',GroupTrain , 10);
for i=1:10
test = (Indices == i); train = ~test;
net = newff(TrainingSet(train,:),GroupTrain(train,:),20,{},'trainscg');
[net,TR] = traingd(net,TrainingSet(train,:),TrainingSet(test,:))
a = sim(net,TrainingSet(train,:));
b=sim(net,TrainingSet(test,:));
end
where, data is 16 x 54 and target is 1x54 i'm getting error as, ??? Index exceeds matrix dimensions. and
??? Error using ==> network.subsref at 83 Reference to non-existent field 'lr'.
Error in ==> traingd at 141 lr = net.trainParam.lr; ..
i've made few trials too like setting the target as 3x54 matrix but dono how to proceed with this... really in a confused state..

Sign in to comment.

Accepted Answer

Tom Lane
Tom Lane on 12 Mar 2013
I am not a nnet expert, but I am under the impression that your inputs should have one column per observation (rather than one row as in the Statistics Toolbox). If that is the case you may need to use "train" and "test" to index into columns rather than rows. Also, I believe traingd wants training set target values as its third input, not X data for the test set.
  1 Comment
Subha
Subha on 12 Mar 2013
Sir with your piece of advice i've done few modification.. like (test,:) as (:,test), now its working good , Accuracy seem to be low, have to try some thing to improve it... but really Matlab is like an ocean.. i've to learn lots more... .. Thank you Sir..

Sign in to comment.

More Answers (1)

laplace laplace
laplace laplace on 25 Jun 2013
how did you apply the crossvalind command to column vectors??
  1 Comment
laplace laplace
laplace laplace on 25 Jun 2013
generaly if your data have a dimension how do you apply the crossvalind command?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by