Class LaplacianKernel

java.lang.Object
smile.math.kernel.Laplacian
smile.math.kernel.LaplacianKernel
All Implemented Interfaces:
Serializable, ToDoubleBiFunction<double[],double[]>, Function, IsotropicKernel, MercerKernel<double[]>

public class LaplacianKernel extends Laplacian implements MercerKernel<double[]>
Laplacian kernel, also referred as exponential kernel.

k(u, v) = exp(-||u-v|| / σ)

where σ > 0 is the scale parameter of the kernel.

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    LaplacianKernel(double sigma)
    Constructor.
    LaplacianKernel(double sigma, double lo, double hi)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    double[]
    hi()
    Returns the upper bound of hyperparameters (in hyperparameter tuning).
    double[]
    Returns the hyperparameters of kernel.
    double
    k(double[] x, double[] y)
    Kernel function.
    double[]
    kg(double[] x, double[] y)
    Computes the kernel and its gradient over hyperparameters.
    double[]
    lo()
    Returns the lower bound of hyperparameters (in hyperparameter tuning).
    of(double[] params)
    Returns the same kind kernel with the new hyperparameters.

    Methods inherited from class smile.math.kernel.Laplacian

    k, kg, scale, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface smile.math.Function

    inv

    Methods inherited from interface smile.math.kernel.IsotropicKernel

    apply, f, K, KG

    Methods inherited from interface smile.math.kernel.MercerKernel

    apply, applyAsDouble, K, K, KG
  • Constructor Details

    • LaplacianKernel

      public LaplacianKernel(double sigma)
      Constructor.
      Parameters:
      sigma - The length scale of kernel.
    • LaplacianKernel

      public LaplacianKernel(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

    • k

      public double k(double[] x, double[] y)
      Description copied from interface: MercerKernel
      Kernel function.
      Specified by:
      k in interface MercerKernel<double[]>
      Parameters:
      x - an object.
      y - an object.
      Returns:
      the kernel value.
    • kg

      public double[] kg(double[] x, double[] y)
      Description copied from interface: MercerKernel
      Computes the kernel and its gradient over hyperparameters.
      Specified by:
      kg in interface MercerKernel<double[]>
      Parameters:
      x - an object.
      y - an object.
      Returns:
      the kernel value and gradient.
    • of

      public LaplacianKernel of(double[] params)
      Description copied from interface: MercerKernel
      Returns the same kind kernel with the new hyperparameters.
      Specified by:
      of in interface MercerKernel<double[]>
      Parameters:
      params - the hyperparameters.
      Returns:
      the same kind kernel with the new hyperparameters.
    • hyperparameters

      public double[] hyperparameters()
      Description copied from interface: MercerKernel
      Returns the hyperparameters of kernel.
      Specified by:
      hyperparameters in interface MercerKernel<double[]>
      Returns:
      the hyperparameters of kernel.
    • lo

      public double[] lo()
      Description copied from interface: MercerKernel
      Returns the lower bound of hyperparameters (in hyperparameter tuning).
      Specified by:
      lo in interface MercerKernel<double[]>
      Returns:
      the lower bound of hyperparameters.
    • hi

      public double[] hi()
      Description copied from interface: MercerKernel
      Returns the upper bound of hyperparameters (in hyperparameter tuning).
      Specified by:
      hi in interface MercerKernel<double[]>
      Returns:
      the upper bound of hyperparameters.