Class GaussianRadialBasis

  • All Implemented Interfaces:
    java.io.Serializable, Function, RadialBasisFunction

    public class GaussianRadialBasis
    extends java.lang.Object
    implements RadialBasisFunction, java.io.Serializable
    Gaussian RBF. φ(r) = e-0.5 * r2 / r20 where r0 is a scale factor. The interpolation accuracy using Gaussian basis functions can be very sensitive to r0, and they are often avoided for this reason. However, for smooth functions and with an optimal r0, very high accuracy can be achieved. The Gaussian also will extrapolate any function to zero far from the data, and it gets to zero quickly.

    In general, r0 should be larger than the typical separation of points but smaller than the "outer scale" or feature size of the function to interplate. There can be several orders of magnitude difference between the interpolation accuracy with a good choice for r0, versus a poor choice, so it is definitely worth some experimentation. One way to experiment is to construct an RBF interpolator omitting one data point at a time and measuring the interpolation error at the omitted point.

    References

    1. Nabil Benoudjit and Michel Verleysen. On the kernel widths in radial-basis function networks. Neural Process, 2003.
    Author:
    Haifeng Li
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double f​(double r)
      Compute the value of the function at x.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • GaussianRadialBasis

        public GaussianRadialBasis()
        Constructor. The default bandwidth is 1.0.
      • GaussianRadialBasis

        public GaussianRadialBasis​(double scale)
        Constructor.
        Parameters:
        scale - the scale (bandwidth/sigma) parameter.
    • Method Detail

      • f

        public double f​(double r)
        Description copied from interface: Function
        Compute the value of the function at x.
        Specified by:
        f in interface Function
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object