MATLAB: What should be correct format of feature vectors matrix for feeding into neural networks

Deep Learning Toolboxemotion recognitionmfccneural net

I am using MatlabR2012b version. m working on speech emotion classification, i have used MFCC for feature extraction and NNtoolbox for classification, but i am getting very high error rates (training error 23%, validation error 60%, testing error 80%). i tried various combinations of input matrix and target matrix but none helped me. a portion of my code for generating feature vector matrix is here:
mfcc=zeros(6000*13,size(filesToRead,1));
for j=1:size(filesToRead,1)
% Read speech samples, sampling rate and precision from file
[ speech, fs, nbits ] = wavread( filesToRead{j} );
% Feature extraction (feature vectors as columns)
[ MFCCs, FBEs, frames ] = mfcc( speech, fs, Tw, Ts, alpha, hamming, R, M, C, L );
for i=1:13
mfcc((i-1)*size(MFCCs,2)+1:i*size(MFCCs,2),j) = MFCCs(i,:);
end
clearvars MFCCs
end
*I have a total of 160 speech samples and eight different classes (20samples each). I have extracted MFCCs and it gives me a 13x5000 matrix for one sample. I want to feed these features for all 160 samples into NN and then classify into 8 classes. tell me stepwise:
# (1). in which format to store the feature vector matrix
# (2). how to arrange the extracted feature vectors (in rows or columns?)
# (3) Whether i need to create one single matrix for the features of all 160 samples?
# (4) How do i feed this matrix to NN and how many input neurons should i have?
# (5). which divide parameter should be used for dividng my data set into training, validation and testing sets. (i used dividerand and divided as 70-15-15 and also tried 60-20-20 and 70-20-10)
# (6) what should be my hidden layer function. (sigmoid, linear etc..)
# (7) What should be my target matrix?*

Best Answer

For classification of c classes use N pairs of I-dimensional column vector inputs and O-dimensional outputs with O = c.. The outputs should be c-dimensional column unit vectors from the unit matrix eye(c).
For an example
[ x , t ] = simpleclass_dataset;
[I N ] = size(x)
[[O N ] = size(t)
whos
Use patternnet and accept all defaults.
help patternnet
doc patternnet
If results are satisfactory try reducing the number of hidden nodes to increase robustness with respect to unseen data.
If results are unsatisfactory, run 9 more times to vary the random initial weights.
If results are still unsatisfactory increase the number of hidden nodes and obtain 10 more designs with different initial weights.
Repeat until the best of 10 results stabilize.
For examples search
greg patternnet Ntrials
Hope this helps
Thank you for formally accepting my answer
Greg