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?*
Neeta Dsouza answered .
2025-11-20
In MATLAB, the correct format of feature vectors for feeding into neural networks is typically a matrix where each column represents a feature vector and each row represents a different observation (sample). Here’s a general guideline:
1. Matrix Dimensions:
- For a classification or regression problem, your feature matrix should be of size `N x M`, where `N` is the number of features and `M` is the number of samples.
- Ensure that each column corresponds to a single observation and each row corresponds to a different feature.
2. Example:
% Example feature matrix with 5 features and 100 samples
X = rand(5, 100);
% Example target matrix for 3-class classification with 100 samples
T = randi([0, 1], 3, 100); % One-hot encoded targets
3. Feed into Neural Network:
Use the appropriate functions to train the network with your feature matrix. For example, with a pattern recognition network:
% Create a pattern recognition network with 10 hidden neurons
net = patternnet(10);
% Train the network
net = train(net, X, T);
4. Additional Preprocessing:
Ensure your data is preprocessed appropriately (e.g., normalized or standardized) to improve training performance.
By following these guidelines, you can properly format your feature vectors for neural networks in MATLAB.