Sequential combining

In sequential combining a set of consecutive mappings W1, W2, ... on a dataset A is combined into a single one. For example

    B = A*W1;
    C = B*W2;
    D = C*W3;

may also be written as

    W = W1*W2*W3;
    D = A*W;

It is of course needed that the output dimensionality of one mapping is identical to the input dimensionality of the next one. As a set of Matlab operations is evaluated from left to right, the above definition of W is equivalent to

    W = (W1*W2)*W3;

but different from

    V = W1*(W2*W3);

Different types of mappings can be combined in the above way. In particular, it is possible to combine untrained mappings with trained or fixed mappings. If one of the mappings is untrained, the sequential combination is untrained. If this combination is trained by some dataset, each of the constituent untrained mappings is trained in the appropriate order, taking into account other trained or fixed mappings in the sequence. Finally a mapping is returned that can handle objects from the same collection as the training set is taken from. For example the trained mapping W found by

    [T,S] = gendat(A); %  Generate a training set T and a test set S from A
    U = sigm*loglc     % Sequential mapping to be trained
    W = T*U            % training

can be directly applied to the test set S:

    D = S*W

In the below table the internal PRTools evaluation rules of A*(V*U) are listed for the dataset A applied to all sequential combinations of the mappings V and U. Depending on the mapping types of V and U this results either in a mapping W or in a dataset B.

V untrained V trained V fixed
U untrained W=A*V*(A*(A*V)*U) W=V*(A*V*U) W=V*(A*V*U)
U trained W=A*V*U B=A*V*U B=A*V*U
U fixed W=A*V*U B=A*V*U B=A*V*U
U combiner W=A*(V*U) B=A*(V*U) B=A*(V*U)


operations: basic, datasets, datafiles, mappings, classifiers, stacked, parallel, sequential, dyadic
commands: datasets, representation , classifiers, evaluation, clustering and regression, examples, support