This is the main function for running an experiment.
UOSLIB - Unified Online-learning Systems LIBrary of incremental learning algorithms
This is the main function for running experiments. Experiments can be either done by calling this function from a specific script or by running this script and filling out the default parameters as needed. The script performs one run with a learning method on a specific task and gives the results. The data which is used for online learning is scaled to [-10, 10] on the input dimensions and [-1,1] on the output, to allow for comparison between different learning algorithms and approximation structures.
Documentation
icl_base
varargout = icl_base(mode, learnMethod, algSetup, model, start, targetFunc, livePlot, fastmode, quiet, rSeed)
Inputs:
mode | should be set to 1 for regression or 2 for classification |
learnMethod | String specifying the learning method to adapt the parameter vector (see subfolder algorithms) |
algSetup | algorithm specific setup parameters AROW, algSetup.r - use bigger r for noisy data and more stability CW, algSetup.p - desired probability of correct classification GH, algSetup.variant - GH matrix variants: 0 - Full, 1 - Exact, 2 - Drop, 3 - Project , algSetup.C - rate of adaptation the bigger, the more adaptation is done IRMA, algSetup.s - stiffness, algSetup.tau - growth rate, algSetup.variant - Stiffnes increase variants: 1 - Additive, 2 - Multiplicative, 3 - Sigmoidal, algSetup.maxstiff - maximum stiffnes for sigmoidal increase PA, algSetup.variant - PA variants: 0 - basic PA, 1 - basic PA-I, 2 - basic PA-II, algSetup.a - aggressiveness RLS, algSetup.S - initial variance, algSetup.g - forgetting factor |
model | structure, describing the model to be used for learning regular Grid based Lookup Table, model.kind = GLT , model.base = gauss , lin , model.N - number of grid points arbitrary Grid based Lookup Table, model.kind = GLTarb , model.base = gauss , lin , model.loc - locations of the grid points Polynomial, model.kind = Poly , model.N - polynomial order |
start | double, specifying an initial value for all parameters or double vector, specifying an initial parameter vector |
targetFunc | Struct specifying the target function, learning data should be generated from. It must contain the following fields: targetFunc.target - string selecting the target function targetFunc.ND - number of training data to generate targetFunc.NG - number of ground truth data to generate for comparison targetFunc.noise - variance of normally distributed noise on training data targetFunc.minPath - should be set to true to order the data in input space, false for random order |
livePlot | boolean, should be set to true to visualize resulting approximation after every learning step |
fastmode | boolean, should be set to true to skip evaluation of loss on ground truth and training data to speedup the procedure |
quiet | boolean, should be set to true to prevent all console outputs and plots |
rSeed | integer, seed of the random number generator |
Outputs:
performance | double matrix, performance measures as a matrix: (measure X time) |
paramSave | double matrix, parameter vector as matrix: (param X time) |
ILS | final ILS representation |
data | training data used |
groundTruth | ground truth data used |
dim | dimensionality of the data |
Calls:
Called by:
- none
Authors:
- Andreas Buschermöhle (andbusch(at)uos.de)
- Jens Hülsmann (jehuelsm(at)uos.de)
Last change: 2013-11-29 - Version 1.6