Learn R Programming

CEGO (version 2.0.0)

modelRBFN: RBFN Model

Description

Implementation of a distance-based Radial Basis Function Network (RBFN) model, e.g., for mixed or combinatorial input spaces. It is based on employing suitable distance measures for the samples in input space. For reference, see the paper by Moraglio and Kattan (2011).

Usage

modelRBFN(x, y, distanceFunction, control = list())

Arguments

x
list of samples in input space
y
column vector of observations for each sample
distanceFunction
a suitable distance function of type f(x1,x2), returning a scalar distance value, preferably between 0 and 1. Maximum distances larger 1 are no problem, but may yield scaling bias when different measures are compared. Should be non-negative and symme
control
(list), with the options for the model building procedure: beta Parameter of the radial basis function: exp(-beta*D), where D is the distance matrix. If beta is not specified, the heuristic in fbeta will be used to determine it, which is defa

Value

  • a fit (list, modelRBFN), with the options and found parameters for the model which has to be passed to the predictor function: SSQ Variance of the observations (y) centers Centers of the RBFN model, samples in input space (see parameters) w Model parameters (weights) w Phi Gram matrix Phinv (Pseudo)-Inverse of Gram matrix w0 Mean of observations (y) dMax Maximum observed distance D Matrix of distances between all samples beta See parameters fbeta See parameters distanceFunction See parameters

References

Moraglio, Alberto, and Ahmed Kattan. "Geometric generalisation of surrogate model based optimisation to combinatorial spaces." Evolutionary Computation in Combinatorial Optimization. Springer Berlin Heidelberg, 2011. 142-154.

See Also

predict.modelRBFN

Examples

Run this code
#set random number generator seed
set.seed(1)
#simple test landscape
fn <- landscapeGeneratorUNI(1:5,distancePermutationHamming)
#generate data for training and test
x <- unique(replicate(40,sample(5),FALSE))
xtest <- x[-(1:15)]
x <- x[1:15]
#determin true objective function values
y <- fn(x)
ytest <- fn(xtest)
#build model
fit <- modelRBFN(x,y,distancePermutationHamming)
#predicted obj. function values
ypred <- predict(fit,xtest)$y
#plot
plot(ytest,ypred,xlab="true value",ylab="predicted value",
    pch=20,xlim=c(0.3,1),ylim=c(min(ypred)-0.1,max(ypred)+0.1))
abline(0,1,lty=2)

Run the code above in your browser using DataLab