Trainable kernel mapping, dissimilarity representation
[W,J] = KERNELM(A,KERNEL,SELECT,P1,P2 , ...)
Computes the kernel mapping W for the representation objects in A. The computation of the kernel matrix, which is a proximity matrix (similarities or dissimilarities) should be defined in KERNEL by an untrained mapping like PROXM for predefined proximities or USERKERNEL for user specified proximities. A*KERNEL should 'train' the kernel, i.e. specify A as representation set. B*(A*KERNEL) should compute the kernel matrix: a dataset.
The only advantage of this routine over kernel mappings defined by PROXM or USERKERNEL is that it includes some options for object selection (prototype selection) of the initial representation set.
Initially, the kernel mapping has a size [SIZE(A,2) SIZE(A,1)]. For increased efficiency or accuracy the representation set may be reduced by a routine given by the string SELECT to select to objects J, using possibly additional parameters P1, P2, etcetera.
The following choices for SELECT are supported
1. E.Pekalska, R.P.W.Duin, P.Paclik, Prototype selection for dissimilarity- based classification, Pattern Recognition, vol. 39, no. 2, 2006, 189-208.
a = gendatb;