RBFN Model
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).
modelRBFN(x, y, distanceFunction, control = list())
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:
|
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
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.
#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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.