training multilabel data with traingdm function of Neural network toolbox
조회 수: 3 (최근 30일)
이전 댓글 표시
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
채택된 답변
Greg Heath
2014년 3월 16일
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개)
Greg Heath
2014년 3월 18일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Sequence and Numeric Feature Data Workflows에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!