(1) 'Installing everything'
This package is self-contained and independent from other external sources. You only need to add the path accordingly:
Setup path: initWorkspaceGPMulticlass
(2) GP models
Get to know GP models on a simple 1D example: multiclass_gp_1D_example
(3) Incremental learning
Compare efficient incremental learning and training from scratch: evaluateIncrementalLearning
What should you expect:
- figure 1: computation times for model updates while adding several samples are displayed. The blue line (efficient updates)
should be below the red one (learning from scratch). Results are averaged over several runs
- figure 2: accuracies obtained while incrementall increasing the training set. Both curves should be identical - if not, something
went wrong within the process of model updates. Since the toy example only uses artificial data, the accuracy curve is not
expected to look super fancy
NOTE:
The technique for incrementally update GP models updates 'the whole model', although for classification, only alpha actually matters. Therefore, if you are only interested
in classifying samples irrespective of their predictive variance, you might want to use more sophisticated tricks for updating
the alpha vector only, which can be found exemplarily in
Alexander Freytag and Erik Rodner and Paul Bodesheim and Joachim Denzler:
"Labeling examples that matter: Relevance-Based Active Learning with Gaussian Processes".
Proceedings of the German Conference on Pattern Recognition (GCPR), 2013.
If you should be further interested in GP equipped with histogram intersection kernels, you might want to use our GPHIK implementations instead, which avoid
explicit covariance construction and are algorithmically much more efficient (eg O(n logn) in training compared to O(n^3) ). Refer to the following source for further details
Erik Rodner and Alexander Freytag and Paul Bodesheim and Joachim Denzler:
" Large-Scale Gaussian Process Classification with Flexible Adaptive Histogram Kernels".
Proceedings of the European Conference on Computer Vision (ECCV), 2012.