latest version v1.9 - last update 10 Apr 2010 |
All classifiers follow the same principle. First, they are trained using some kind of training data. The trained classifier can then be used to classify new data, i.e. to assign the same label to the new data as to the most similar training data.
Three different categories of classifiers exist in the LTI-Lib:
The first category includes all algorithms that are trained without knowing the proper labels or results for each training pattern. Clustering algorithms are included here, although most are not designed for later classifying new data. Supervised classifiers are trained knowing the expected result for each training pattern. They are divided in two groups: sequence classifiers work on time series whereas instance classifiers work on n-dimensional vectors.
All classifiers have four essential properties:
The results of the classification are returned in an ouputVector. This object contains labels and corresponding recognition values. These can often be interpreted as probabilities. Section Output Vector gives details about this data structure.
The progressInfo object gives information on how many steps an algorithm will take until finished and how many have already been accomplished. Also the name of the classifier is usually given. The following progress infos exist:
The parameters of the classifier class define an enumeration eDistanceMeasure which is used to specify which distance is used in the classifier. Options are the L1 and L2 distances.
See also lti::classifier::parameters.
The output vector is the result of a classification, i.e. calling the classify method of a classifier. It assigns values to the labels. In the case of supervised classifiers these labels where supplied by the user during training. In case of unsupervised classification the classifier usually assigns labels from 0 to C-1 with C the number of classes found.
Output vectors can be the final result of a process. In this case they are usually displayed by an application or used for statistical analysis of the classification process. For the later the classificationStatistics functor can be used. It is also possible to combine the results of several classifiers using the combination functor.
For further reading see the documentation of lti::classifier::outputVector.
lti::draw lti::epsDraw lti::draw3D lti::draw2DDistribution
Sammon's Mapping transforms points in n-dimensional space to points in m-dimensional space while trying to preserve all distances between the points. Usually, m will be 2 or 3 so that the points can be displayed using one of the lti::draw classes and an appropriate lti::viewer. Sammon's mapping can be very useful to get an idea of the distribution of higher dimensional data without losing as much information as when using e.g. lti::principalComponents to reduce the dimensionality.
However, the mapping is a very difficult task and might easily fail to converge at a minimum. Check the error to get an idea about the performance. In case it is bad there are several options:
For more information see lti::sammonsMapping.