currently I am using the fitnet function to create a feedforward supervised learning neural network.
I have a total dataset of 8000 patterns.
After manipulating all the parameters and algorithms I decided to force the network to do 1000 training epochs.
I decided to divide the 8000 total patterns in parts of:
- TrainingSet = 3/8 = 3000 patterns
- ValidationSet = 3/8 = 3000 patterns
- TestSet = 2/8 = 2000 patterns
The logical error is the following: If my network has only 1000 training epochs, it only uses 1000 of the 3000 patterns from the 'TrainingSet-pool' and 1000 of the 3000 patterns from the 'ValidationSet-pool'. First of all this means, I wasted 4000 patterns of my datapool.
The next problem is: Within the TrainingSet-pool, how do I find the data which was actually used to train the Network?
If I use the line
testdata = net(input(:,tr.testInd))
testdata has a size of 3000x1, because the line gives back the whole TrainingSet-pool.
How do I find the 1000 samples which were actually used to train the network?
Thanks in advance!