Package smile.math.rbf
Class GaussianRadialBasis
java.lang.Object
smile.math.rbf.GaussianRadialBasis
- All Implemented Interfaces:
Serializable
,Function
,RadialBasisFunction
Gaussian RBF. φ(r) = exp(-0.5 * r2 / r02)
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
- Nabil Benoudjit and Michel Verleysen. On the kernel widths in radial-basis function networks. Neural Process, 2003.
- See Also:
-
Constructor Details
-
GaussianRadialBasis
public GaussianRadialBasis()Constructor. The default scale is 1.0. -
GaussianRadialBasis
public GaussianRadialBasis(double scale) Constructor.- Parameters:
scale
- the scale parameter.
-
-
Method Details