Name

learn_valid_lolimot — Learns a Lolimot model for a given inputs/output data set and using a validation data set

Calling Sequence

[modelOut,stat] = learn_valid_lolimot(data_learn,data_valid,sigma,nbpart,maximp,nbCut,vec,Log,modelIn,pLinear)

Parameters

data_learn

the learning data set. The first columns of the data set contain the inputs and the last column contains the output.

data_valid

the validation data set. The first columns of the data set contain the inputs and the last column contains the output. The learning phase will stop when the residual computed on the validation data set will start to rise.

sigma

The value of the smoothing parameter. Usually, a value of 0.33 (default value) is a good start.

nbpart

Number of partition to generate. You always should have size(data,1) greater than nbpart.

maximp

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.

nbCut

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.

vec

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).

Log

if set to true, some messages are printed on the console during the learning phase.

modelIn

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

pLinear

replace the exponential membership function by a piecewise linear function.

modelOut

this structure contains the learnt Lolimot model.

stat

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

Description

  • This function allows to learn a Lolimot model given a learning data set. The learning process stops when the residual computed on the validation data set starts to rise.

See Also

estim_der_lolimot , estim_lolimot , estim_vec_lolimot , learn_lolimot , write_lolimot , read_lolimot , plot_lolimot_part , update_lolimot

Authors

Yann COLLETTE

(ycollet@freesurf.fr)