PRTools contents |
STACKED
WC = STACKED(W1,W2,W3, ....) or WC = [W1,W2,W3, ...]
WC = STACKED({W1,W2,W3, ...}) or WC = [{W1,W2,W3, ...}]
WC = STACKED(WC,W1,W2, ....) or WC = [WC,W2,W3, ...]
Input | |
W1,W2,W3 | Set of classifiers |
Output | |
WC | Combined classifier |
The base classifiers (or mappings) W1, W2, W3, ... defined in the same feature space are combined in WC. This is a classifier defined for the same number of features as each of the base classifiers and with the combined set of outputs. So, for three two class classifiers defined for the classes 'c1' and 'c2', a dataset A is mapped by D = A*WC on the outputs 'c1','c2','c1','c2','c1','c2', which are the feature labels of D. Note that classification by LABELD(D) finds for each vector in D the feature label of the column with the maximum value. This is equivalent to using the maximum combiner MAXC,
Other fixed combining rules like PRODC, MEANC, and VOTEC can be applied by D = A*WC*PRODC. A trained combiner like FISHERC has to be supplied with the appropriate training set by AC = A*WC; VC = AC*FISHERC. So the expression VC = A*WC*FISHERC yields a classifier, not a dataset as with fixed combining rules. This classifier operates in the intermediate feature space, the output space of the set of base classifiers. A new dataset B has to be mapped to this intermediate space first by BC = B*WC before it can be classified by D = BC*VC. As this is equivalent to D = B*WC*VC, the total trained combiner is WTC = WC*VC = WC*A*WC*FISHERC. To simplify this procedure PRTools executes the training of a combined classifier by WTC = A*(WC*FISHERC) as WTC = WC*A*WC*FISHERC.
It is also possible to combine a set of untrained classifiers, e.g. WC = [LDC NMC KNNC([],1)]*CLASSC, in which CLASSC takes care that all outputs will be transformed to appropriate posterior probabilities. Training of all base classifiers is done by WC = A*WC. Again, this may be combined with training of a combiner by WTC = A*(WC*FISHERC).
PREX_COMBINING
PRTools contents |