Documentation of 'smile.regression.RBFNetwork' Java class
RBFNetwork
smile.regression

Class RBFNetwork<T>

  • All Implemented Interfaces:
    java.io.Serializable, Regression<T>


    public class RBFNetwork<T>
    extends java.lang.Object
    implements Regression<T>, java.io.Serializable
    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. They are used in function approximation, time series prediction, and control.

    In its basic form, radial basis function network is in the form

    y(x) = Σ wi φ(||x-ci||)

    where the approximating function y(x) is represented as a sum of N radial basis functions φ, each associated with a different center ci, and weighted by an appropriate coefficient wi. For distance, one usually chooses Euclidean distance. The weights wi can be estimated using the matrix methods of linear least squares, because the approximating function is linear in the weights.

    The points ci are often called the centers of the RBF networks, which can be randomly selected from training data, or learned by some clustering method (e.g. k-means), or learned together with weight parameters undergo a supervised learning processing (e.g. error-correction learning).

    Popular choices for φ comprise the Gaussian function and the so called thin plate splines. The advantage of the thin plate splines is that their conditioning is invariant under scalings. Gaussian, multi-quadric and inverse multi-quadric are infinitely smooth and and involve a scale or shape parameter, r0 > 0. Decreasing r0 tends to flatten the basis function. For a given function, the quality of approximation may strongly depend on this parameter. In particular, increasing r0 has the effect of better conditioning (the separation distance of the scaled points increases).

    A variant on RBF networks is normalized radial basis function (NRBF) networks, in which we require the sum of the basis functions to be unity. NRBF arises more naturally from a Bayesian statistical perspective. However, there is no evidence that either the NRBF method is consistently superior to the RBF method, or vice versa.

    References

    1. Simon Haykin. Neural Networks: A Comprehensive Foundation (2nd edition). 1999.
    2. T. Poggio and F. Girosi. Networks for approximation and learning. Proc. IEEE 78(9):1484-1487, 1990.
    3. Nabil Benoudjit and Michel Verleysen. On the kernel widths in radial-basis function networks. Neural Process, 2003.
    See Also:
    RadialBasisFunction, SVR, Serialized Form
    • Constructor Detail

      • RBFNetwork

        public RBFNetwork(T[] x,
                          double[] y,
                          Metric<T> distance,
                          RadialBasisFunction rbf,
                          T[] centers)
        Constructor. Learn a regular RBF network without normalization.
        Parameters:
        x - the training data.
        y - the response variable.
        distance - the distance functor.
        rbf - the radial basis function.
        centers - the centers of RBF functions.
      • RBFNetwork

        public RBFNetwork(T[] x,
                          double[] y,
                          Metric<T> distance,
                          RadialBasisFunction[] rbf,
                          T[] centers)
        Constructor. Learn a regular RBF network without normalization.
        Parameters:
        x - the training data.
        y - the response variable.
        distance - the distance functor.
        rbf - the radial basis functions.
        centers - the centers of RBF functions.
      • RBFNetwork

        public RBFNetwork(T[] x,
                          double[] y,
                          Metric<T> distance,
                          RadialBasisFunction rbf,
                          T[] centers,
                          boolean normalized)
        Constructor.
        Parameters:
        x - the training data.
        y - the response variable.
        distance - the distance functor.
        rbf - the radial basis function.
        centers - the centers of RBF functions.
        normalized - true for the normalized RBF network.
      • RBFNetwork

        public RBFNetwork(T[] x,
                          double[] y,
                          Metric<T> distance,
                          RadialBasisFunction[] rbf,
                          T[] centers,
                          boolean normalized)
        Constructor.
        Parameters:
        x - the training dataset.
        y - the response variable.
        distance - the distance functor.
        rbf - the radial basis functions.
        centers - the centers of RBF functions.
        normalized - true for the normalized RBF network.
    • Method Detail

      • predict

        public double predict(T x)
        Description copied from interface: Regression
        Predicts the dependent variable of an instance.
        Specified by:
        predict in interface Regression<T>
        Parameters:
        x - the instance.
        Returns:
        the predicted value of dependent variable.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.