Skip to content

IPL-UV/altoolbox

Repository files navigation

MATLAB Active Learning Toolbox for Remote Sensing.

(c) 20011-13 Devis Tuia & Jordi Muñoz-Marí.

This code is licensed under GNU GPL v2.

Instructions

The Active Learning Toolbox (ALTB) works in MATLAB 200x and later versions. The SVM is solved using an external executable, multisvm, which is based on the Torch3 library (it is also a very nice OAA SVM for general purpose).

Quick setup:

What’s next?

The ALTB code is well commented. Read the code in demo.m and in AL.m, which is the core of the toolbox. If you only want to use its methods, call AL.m with the appropriate parameters. If you want to include a new method and share it, look inside AL.m. There is basically a main loop with three steps:

0: An SVM is trained with a given training/validation set.
1: The obtained model is used on a set of candidates.
2: The prediction is ranked according one of the AL methods, a set of samples
   from the candidate set is chosen, and the process is repeated.

Be careful, as we divide 'uncertainty' criteria (like margin sampling, i.e. how uncertain the sample is for the current model) from 'diversity' criteria (like ABD, i.e. how much selected samples are different between each other). Please follow this logic in your implementation.

If you develop a new method and want to include it in the library for everyone to use and test, contact us using the project web page.

Compiling multisvm

If you want to compile multisvm, you will need the Torch3 library. You can download it from http://www.torch.ch/torch3/downloads.php

Read the instructions to compile the library and install it somewhere in your system. For multisvm, you need to include the 'core' and 'kernels' modules at least, but if you want to include all Torch3 modules it won’t hurt.

Once you have Torch3 compiled, take a look at the Makefile provided with the ALTB and modify it for your system. Usually, you only need to change the path where Torch3 is installed. Then run 'make' in a terminal at it should compile.

References

Thanks

  • Fred Ratle, for developing and sharing multisvm.

  • Michele Volpi, coder of GridSearchTrain_CV.m.

  • Lexie Yang, tester and developer.