Package smile.math.kernel
Class ThinPlateSpline
java.lang.Object
smile.math.kernel.ThinPlateSpline
- All Implemented Interfaces:
Serializable
,Function
,IsotropicKernel
- Direct Known Subclasses:
BinarySparseThinPlateSplineKernel
,SparseThinPlateSplineKernel
,ThinPlateSplineKernel
The Thin Plate Spline kernel.
k(u, v) = (||u-v|| / σ)2 log (||u-v|| / σ)
where σ > 0
is the scale parameter of the kernel.
- See Also:
-
Constructor Details
-
ThinPlateSpline
public ThinPlateSpline(double sigma, double lo, double hi) Constructor.- Parameters:
sigma
- The length scale of kernel.lo
- The lower bound of length scale for hyperparameter tuning.hi
- The upper bound of length scale for hyperparameter tuning.
-
-
Method Details
-
scale
public double scale()Returns the length scale of kernel.- Returns:
- the length scale of kernel.
-
toString
-
k
public double k(double dist) Description copied from interface:IsotropicKernel
Computes the isotropic kernel function.- Specified by:
k
in interfaceIsotropicKernel
- Parameters:
dist
- The distance.- Returns:
- the kernel value.
-
kg
public double[] kg(double dist) Description copied from interface:IsotropicKernel
Computes the isotropic kernel function and its gradient over hyperparameters.- Specified by:
kg
in interfaceIsotropicKernel
- Parameters:
dist
- The distance.- Returns:
- the kernel value and gradient.
-