ConfigureIBHM: ConfigureIBHM

Description Usage Arguments Details Value References See Also Examples

View source: R/config.R

Description

Creates a configuration object for TrainIBHM function which creates IBHM approximation models.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
ConfigureIBHM( stop.criterion = IterationSC(3),
         weighting.function = function(y, w.par){ 0.01+dnorm(y,sd=abs(w.par))},
         scal.optim = 'multi.CMAES',
         scal.optim.params = list(retries=3, inner=list(maxit=50, stopfitness=-1)),
         scal.candidates = c('dot.pr','radial','root.radial'),
         activ.optim = 'multi.CMAES',
         activ.optim.params = list(retries=3, inner=list(maxit=100, stopfitness=-1)),
         activ.candidates = c('tanh','logsig','lin'),
         jit=TRUE,
         verbose=FALSE,
         final.estimation = 'all',
         final.estimation.x = NULL,
         final.estimation.y = NULL,
         final.estimation.maxit = 100
       )    

Arguments

stop.criterion

The stop criterion for the model construction process. Possible values include objects created using IterationSC (the default) or ValidationSC.

For simplicity, the default value causes the method to construct a model with a fixed number of components (3), however it's actually best to use ValidationSC criterion with a separate validation set.

weighting.function

Definition of the weighting function used during model construction. This function puts emphasis on local features of the approximated function (see details).

scal.optim

The optimization method used to estimate scalarization functions' parameters . Possible values are: CMAES, multi.CMAES(default), DE, multi.DE.

The parameter values set the optimization methods as follows: CMAES uses covariance matrix evolution strategy implemented in the cmaes package, multi.CMAES is multistart cmaes, DE uses differential evolution implemented in DEoptim package, multi.DE is multistart DE.

scal.optim.params

The parameters passed to the optimization method used to estimate scalarization functions' parameters. In case of CMAES this should be a list, in case of DE this should be a DEoptim::DEoptim.control object.

In case of multistart versions of optimization methods this parameter is a list with two fields: retries denoting the number of restarts and inner containing the parameters passed during each restart to the underlying optimization method.

scal.candidates

Candidate scalarization functions (see details).

activ.optim

The optimization method used to estimate activation functions' parameters - see description of scal.optim.

activ.optim.params

The parameters passed to the optimization method used to estimate activation functions' parameters - see description of the scal.optim.params.

activ.candidates

Candidate activation functions (see details).

jit

Enables the just-in-time compilation feature provided by the compiler package.

verbose

Enables verbose output (disabled by default).

final.estimation

The type of final parameter estimation step. Possible values are: weights and all for all parameters.

final.estimation.x

The x values used during the final estimation step. If not given then the training data is used.

final.estimation.y

The y values used during the final estimation step. If not given then the training data is used.

final.estimation.maxit

The number of iterations (of the optimizer) during final parameter estimation.

Details

The model constructed by IBHM has the following form:

f(x) = w_0 + ∑ w_i g(a_i h(x,d_i)+b_i) ,

where h:R^n->R is a scalarization function, g:R->R is an activation function, d_i is a parameter vector, and a_i, b_i, w_i are scalar parameters.

The parameter estimation is based on optimizing weighted correlation measures between the model output and the approximation residual. This allows for an iterative model construction process which estimates both model structure and parameter values. For more details see [Zawistowski and Arabas].

Value

A configuration object for TrainIBHM.

References

Zawistowski, P. and Arabas, J.: "Benchmarking IBHM method using NN3 competition dataset." In Proc. 6th int. conf. on Hybrid artificial intelligent systems - Vol. 1, HAIS'11, pp 263–270, 2011. Springer-Verlag.

See Also

TrainIBHM, ValidationSC,IterationSC

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
  x <- seq(-3,3,length.out=400)
  y <- tanh(x)
  
  x.val <- runif(50,min=-6,max=6)
  y.val <- tanh(x.val)
  
  m <- TrainIBHM(x,y, ConfigureIBHM(  scal.candidates = 'dot.pr', 
                                      activ.candidates = 'tanh',
                                      stop.criterion = ValidationSC(x.val, y.val)))
                                      
  summary(m)
  plot(y.val,predict(m,x.val),asp=1)

IBHM documentation built on May 30, 2017, 4:32 a.m.