training multilabel data with traingdm function of Neural network toolbox
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
pooja
el 16 de Mzo. de 2014
Comentada: pooja
el 19 de Mzo. de 2014
Hello Guyz
i was wondering is there any way to train multilabel-data (i.e more than 1 class labels in output for single instance ) using traingdm (gradient decent with momentum)?
here, every col of p corresponds to one output value of t
p = [-1 -1 2 2;0 5 0 5];
t = [-1 -1 1 1];
net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingdm')
but i need something like this
p = [-1 -1 2 2;0 5 0 5]; t = [-1 -1 1 1 ; 1 1 -1 1 ; 1 1 1 -1 ; -1 1 -1 1];
i.e each column (instance) of p corresponds to set of output values (in this case 4)
is this possible ?
Please Help ...Thank you so much !!
0 comentarios
Respuesta aceptada
Greg Heath
el 16 de Mzo. de 2014
For classification/pattern-recognition, newpr is favored over newff
For regression/curve-fitting, newfit is favored over newff
Both call newff but all three have different default plot selections
However, all three are doubly obsolete. So, if you have them, use the current functions patternnet or fitnet which call feedforwardnet.
When designing a classifier with c mutually exclusive classes, target should contain columns of the c-dimensional unit matrix eye(c). The row index of the single 1 is the corresponding class index in [1,c]. The relationships are
target = ind2vec(trueclass)
trueclass = vec2ind(target)
[ net tr output RegressErr] = train(...)% RegressErr = target-output
assignedclass = vec2ind(output)
ClassErr = (assignedclass ~= trueclass);
Nerr = sum(ClassErr)
PctErr = 100*Nerr/N
% For trn/val/tst breakdowns of the results, use tr.trainInd, etc
Hope this helps.
Thank you for formally accepting my answer
Greg
1 comentario
Más respuestas (1)
Greg Heath
el 18 de Mzo. de 2014
Whoops! I think I misled you. My answer assumed mutually exclusive classes.
For non-mutually exclusive classes the targets can not be unit column vectors with one nonzero component.
I have two recommendations :
1. A 4 output classifier with {0,1} targets so that outputs can be interpreted as input conditional probability estimates. However, you should try either the obsolete newpr or the current patternnet which are designed for classification problems. Accept all defaults so that you don't get confused with default normalizations, transfer functions, and renormalizations.
2. If many trials of the above by varying number of hidden nodes and initial weights (as in many of my examples ... search on greg Ntrials) don't work well enough, try 4 separate classifiers.
Again, sorry for the misdirection.
Greg
Ver también
Categorías
Más información sobre Sequence and Numeric Feature Data Workflows en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!