How to split the dataset into train/ validation / test with cvpartion?

2 views (last 30 days)
I am training some networks to detect certain characteristics in x-ray images. The images are divided into three classes: A, B and C.
I have currently used the neural network committee building approach.
My committee consists of 10 networks, which in turn are trained using the bagging resampling technique: each training set consists of a sampling with repetition of the original training set. According to what I read in the literature, this gives diversity to the committee and allows each network to "specialize" in some characteristic present in the images.
So what I do is this:
  1. I divide the dataset into training, validation and testing (70/15/15).
  2. I train each network that makes up the committee by varying the training set (using the bagging technique) and varying the number of neurons in the hidden layer.
  3. I use the validation set for early stop.
  4. I use the committee to deliberate on the set of tests by majority of votes.
The problem is that the data set is relatively small: only 525 samples. It is also a noisy dataset. As they are images, I am using pixels as input values for networks. I resized the images to be 324 pixels, but there are still a large number of variables for my number of samples.
I read about using cross-validation when you have few samples.
I tried to use the cvpartition function, but it only divides the set into train / test.
1) In my case do I really need to use cross-validation?
2) How to divide the data for cross-validation in train / validation / test with Matlab?

Answers (0)

Community Treasure Hunt

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

Start Hunting!