Improve accuracy of small data set using Neural Network
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello ,i have an input matrix 4x24( 4features of 24 patients which 10 are positive and 14 negative)and target 2x24 in eye(2) form for a binary problem classification .I use patternnet and network node topology 4-3-2 with the transfer functions in default(tansig) .The total accuracy is 66% .If i dont use the validation set the accuracy goes up 90%.Is that correct or overfitting? Is it possible to have unbalanced data? How can i improve accuracy in this tiny data set?I use this code for k fold cross validation for 10 repetitions .
0 commentaires
Réponse acceptée
Greg Heath
le 7 Oct 2016
[I N ] = input; % [ 4 24 ]
[O N ] = target;% [ 1 24 ]
Ntrn = N -2*round(0.15N) % 16 default
Ntrneq = Ntrn*O % 16 No. of training equations
Nw = (I+1)*H+(H+1)O = (I+O+1)*H+O % No. of unknown weights
% NO OVERFITTING Ntrneq >= Nw <==> H <= (Ntrneq-O)/(I+O+1)= 2.5
==> H = 3 is a slight overfitting ==> Using 15% validation set is justified .
But have you tried 10 trials each of
H = 2
or
MSEREG
or
TRAINBR ?
or
10-FOLD X-VALIDATION?
Hope this helps.
Greg
2 commentaires
Greg Heath
le 8 Oct 2016
The point of using MSEREG and/or TRAINBR is that you can use H >> 2.
Hope this helps.
Greg
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!