learn_lolimot — Learns a Lolimot model for a given inputs/output data set
[modelOut,stat] = learn_lolimot(data,sigma,nbpart,maximp,nbCut,vec,Log,modelIn,pLinear)
the learning data set. The first columns of the data set contain the inputs and the last column contains the output.
The value of the smoothing parameter. Usually, a value of 0.33 (default value) is a good start.
Number of partition to generate. You always should have size(data,1) greater than nbpart.
If the relative residual improvement is below maximp, we stop the learning process. If you want a Lolimot model with a given number of partitions, set maximp to 0. Otherwise, a value of 0.05 is a good start.
the number of division with respect to dimension which are tested. If nbCut = 2 then, we will cut each dimension in two halves. If nbCut = 3 then, we will test a 1/3 - 2/3 cut then, we will test a 2/3 - 1/3 cut. We do this for every dimension and then we retain the best cutting. Usually, nbCut = 2 or 3 is a good start.
a boolean which tell the learning method to use estim_vec_lolimot during the learning process (if vec is set to true) or estim_lolimot (if vec is set to false).
if set to true, some messages are printed on the console during the learning phase.
if not empty, we will continue the learning phase of the Lolimot model contained in modelIn (modelIn must a lolimot structure). The structure containts:
- modelIn('nbdim'): the number of inputs
- modelIn('sigma'): the value of the smoothing coefficient
- modelIn('listofmod'): a matrix NbPartitions x NbDim+1 which contains the linear model for each partition
- modelIn('listofcutinf'): the lower boundary of each partition
- modelIn('listofcutplus'): the upper boundary of each partition
- modelIn('listofresidual'): the learning residual associated to each partition
- modelIn('residual'): the global residual associated to the Lolimot model
replace the exponential membership function by a piecewise linear function.
this structure contains the learnt Lolimot model.
this structure contains some statistical informations related to the learning phase.
- stat(i)(1) contains the residual at iteration i
- stat(i)(2) contains the time required for adding 1 partition at iteration i
- stat(i)(3) contains the number of partition which has been cut
- stat(i)(4) contains the number of dimension which has been cut