Package smile.base.rbf
Class RBF<T>
java.lang.Object
smile.base.rbf.RBF<T>
 Type Parameters:
T
 the data type of samples.
 All Implemented Interfaces:
Serializable
A neuron in radial basis function network. A radial basis function network
is an artificial neural network that uses radial basis functions as
activation functions. It is a linear combination of radial basis functions.
In its basic form, radial basis function network is in the form
y(x) = Σ w_{i} φ(xc_{i})
where the approximating function y(x)
is represented as
a sum of N
radial basis functions φ, each associated
with a different center c_{i}
, and weighted by an
appropriate coefficient w_{i}
. For distance,
one usually chooses Euclidean distance. The weights
w_{i}
can be estimated using the matrix methods of
linear least squares, because the approximating function is linear
in the weights.
The centers c_{i}
can be randomly selected
from training data, or learned by some clustering method (e.g. kmeans),
or learned together with weight parameters undergo a supervised
learning processing (e.g. errorcorrection learning).
 See Also:

Constructor Summary

Method Summary
Modifier and TypeMethodDescriptiondouble
The activation function.static RBF<double[]>[]
fit
(double[][] x, int k) Fits Gaussian RBF function and centers on data.static RBF<double[]>[]
fit
(double[][] x, int k, double r) Fits Gaussian RBF function and centers on data.static RBF<double[]>[]
fit
(double[][] x, int k, int p) Fits Gaussian RBF function and centers on data.static <T> RBF<T>[]
Fits Gaussian RBF function and centers on data.static <T> RBF<T>[]
Fits Gaussian RBF function and centers on data.static <T> RBF<T>[]
Fits Gaussian RBF function and centers on data.static <T> RBF<T>[]
of
(T[] centers, RadialBasisFunction[] basis, Metric<T> distance) Makes a set of RBF neurons.static <T> RBF<T>[]
of
(T[] centers, RadialBasisFunction basis, Metric<T> distance) Makes a set of RBF neurons.

Constructor Details

RBF
Constructor. Parameters:
center
 the center of neuron.rbf
 the radial basis functions.distance
 the distance metric functor.


Method Details

f
The activation function. Parameters:
x
 the sample. Returns:
 the activation function value.

of
Makes a set of RBF neurons. Type Parameters:
T
 the data type of samples. Parameters:
centers
 the neuron centers.basis
 the radial basis functions.distance
 the distance metric functor. Returns:
 the RBF neurons.

of
Makes a set of RBF neurons. Type Parameters:
T
 the data type of samples. Parameters:
centers
 the neuron centers.basis
 the radial basis functions.distance
 the distance metric functor. Returns:
 the RBF neurons.

fit
Fits Gaussian RBF function and centers on data. The centers are chosen as the centroids of KMeans. Let d_{max} be the maximum distance between the chosen centers, the standard deviation (i.e. width) of Gaussian radial basis function is d_{max} / sqrt(2*k), where k is number of centers. This choice would be close to the optimal solution if the data were uniformly distributed in the input space, leading to a uniform distribution of centroids. Parameters:
x
 the training dataset.k
 the number of RBF neurons to learn. Returns:
 a Gaussian RBF function with parameter learned from data.

fit
Fits Gaussian RBF function and centers on data. The centers are chosen as the centroids of KMeans. The standard deviation (i.e. width) of Gaussian radial basis function is estimated by the pnearest neighbors (among centers, not all samples) heuristic. A suggested value for p is 2. Parameters:
x
 the training dataset.k
 the number of RBF neurons to learn.p
 the number of nearest neighbors of centers to estimate the width of Gaussian RBF functions. Returns:
 Gaussian RBF functions with parameter learned from data.

fit
Fits Gaussian RBF function and centers on data. The centers are chosen as the centroids of KMeans. The width of Gaussian radial basis function is estimated as the width of each cluster multiplied with a given scaling parameter r. Parameters:
x
 the training dataset.k
 the number of RBF neurons to learn.r
 the scaling parameter. Returns:
 Gaussian RBF functions with parameter learned from data.

fit
Fits Gaussian RBF function and centers on data. The centers are chosen as the medoids of CLARANS. Let d_{max} be the maximum distance between the chosen centers, the standard deviation (i.e. width) of Gaussian radial basis function is d_{max} / sqrt(2*k), where k is number of centers. In this way, the radial basis functions are not too peaked or too flat. This choice would be close to the optimal solution if the data were uniformly distributed in the input space, leading to a uniform distribution of medoids. Type Parameters:
T
 the data type of samples. Parameters:
x
 the training dataset.distance
 the distance functor.k
 the number of RBF neurons to learn. Returns:
 a Gaussian RBF function with parameter learned from data.

fit
Fits Gaussian RBF function and centers on data. The centers are chosen as the medoids of CLARANS. The standard deviation (i.e. width) of Gaussian radial basis function is estimated by the pnearest neighbors (among centers, not all samples) heuristic. A suggested value for p is 2. Type Parameters:
T
 the data type of samples. Parameters:
x
 the training dataset.distance
 the distance functor.k
 the number of RBF neurons to learn.p
 the number of nearest neighbors of centers to estimate the width of Gaussian RBF functions. Returns:
 Gaussian RBF functions with parameter learned from data.

fit
Fits Gaussian RBF function and centers on data. The centers are chosen as the medoids of CLARANS. The standard deviation (i.e. width) of Gaussian radial basis function is estimated as the width of each cluster multiplied with a given scaling parameter r. Type Parameters:
T
 the data type of samples. Parameters:
x
 the training dataset.distance
 the distance functor.k
 the number of RBF neurons to learn.r
 the scaling parameter. Returns:
 Gaussian RBF functions with parameter learned from data.
