
This is part of the supplementary material to the CVPR 2013 paper
"From N to N+1: Multiclass Transfer Incremental Learning",
Ilja Kuzborskij, Francesco Orabona and Barbara Caputo

Copyright (C) 2012-2013, Ilja Kuzborskij

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Contact the author: ilja.kuzborskij [at] gmail.com


Using MULTIpLE in your experiments
----------------------------------

See example.m

Running the demo
----------------

The demo takes approximately 2 hours to complete on Intel i7, 16G RAM machine.
It was tested on MATLAB 7.12.0.635 (R2011a) and 7.14.0.739 (R2012a) under x86_64 GNU/Linux.

To evaluate MULTIpLE and the baselines w.r.t. Caltech-256, 5 related classes:
* Add to current and all subdirectories to MATLAB path
* Execute: NplusoneBenchmark.show


Contents
--------

data/                               -- demo data
tmp/                                -- temporary files (e.g. source classifiers)
lib/                                -- algorithm implementations
lib/util                            -- utilities
lib/dogma                           -- parts from DOGMA library
lib/mktl                            -- Multi-Kernel Transfer Learning implementation files
lib/multikt                         -- MultiKT implementation files
lib/tl_baselines/                   -- baseline TL algorithm implementation files
lib/GenericClassifier.m             -- abstract base class for classifiers (kernel computation and generic evaluation routines)
lib/HyperSearch.m                   -- hyperparameter grid search utility class
lib/MulticlassOneVsRest.m           -- multiclass OVA classifier, where binary classfiers can be plugged in
lib/MulticlassRLS.m                 -- multiclass LSSVM classifier
lib/SimpleNplusOne.m                -- Source+1 baseline implementation
lib/SourcePlusOneHingeL.m           -- Source+1 (hinge) baseline implementation
lib/MTKL.m                          -- interface to MKTL (compatibe with generic evaluation framework)
lib/MultiKT.m                       -- interface to MultiKT (compatibe with generic evaluation framework)
lib/PmtSvm.m                        -- interface to PmtSvm (Tabula Rasa) (compatibe with generic evaluation framework)
lib/MultisourceTrAdaBoost.m         -- interface to MultisourceTrAdaBoost (compatibe with generic evaluation framework)
lib/MULTIpLE.m                      -- The MULTIpLE algorithm implementation
NplusoneBenchmark.m                 -- main experiment file; preamble contains its description

