Learn R Programming

CEGO (version 2.4.3)

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

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

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

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 default behavior.

fbeta

Function f(x) to calculate the beta parameter, x is the maximum distance observed in the input data. Default function is 1/(2*(x^2)).

distances

a distance matrix. If available, this matrix is used for model building, instead of calculating the distance matrix using the parameters distanceFunction. Default is NULL.

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