Class RadialBasisKernel

java.lang.Object
com.imsl.datamining.supportvectormachine.Kernel
com.imsl.datamining.supportvectormachine.RadialBasisKernel
All Implemented Interfaces:
Cloneable

public class RadialBasisKernel extends Kernel
Specifies the radial basis kernel for support vector machines.

The kernel function at two data nodes, \(x_i\) and \(x_j\), is given by \(K(x_i , x_j) = \exp (-\gamma { \parallel x_i-x_j \parallel }^2)\), where \(\gamma \gt 0 \) is a configurable parameter.

  • Constructor Details

    • RadialBasisKernel

      public RadialBasisKernel()
      Constructs a radial basis kernel with a \(\gamma\) value of 1.0.
    • RadialBasisKernel

      public RadialBasisKernel(double gamma)
      Constructs a radial basis kernel.
      Parameters:
      gamma - a double, the radial basis kernel free parameter
    • RadialBasisKernel

      public RadialBasisKernel(RadialBasisKernel radialBasisKernel)
      Constructs a copy of the input RadialBasisKernel kernel.
      Parameters:
      radialBasisKernel - a RadialBasisKernel kernel
  • Method Details

    • clone

      public RadialBasisKernel clone()
      Clones a RadialBasisKernel kernel.
      Specified by:
      clone in class Kernel
      Returns:
      a clone of the RadialBasisKernel kernel
    • setParameters

      public void setParameters(double... kParams)
      Sets the parameters for the radial basis kernel.
      Overrides:
      setParameters in class Kernel
      Parameters:
      kParams - a double array of length 1 containing the parameter value: kParams[0]=\(\gamma\)

      Default: kParams[0]=\(\gamma\)=1.0

    • kernelFunction

      public double kernelFunction(DataNode[] x, DataNode[] y)
      Calculates the kernel function between two DataNodes.
      Specified by:
      kernelFunction in class Kernel
      Parameters:
      x - a DataNode array
      y - a DataNode array
      Returns:
      a double, the kernel function evaluated at x and y
    • kernelFunction

      public double kernelFunction(DataNode[][] x, int i, int j)
      Calculates the kernel function between two DataNodes.
      Specified by:
      kernelFunction in class Kernel
      Parameters:
      x - a DataNode matrix
      i - an int, index to the first DataNode, x[i]
      j - an int, index to the second DataNode, x[j]
      Returns:
      a double, the kernel function evaluated at x[i] and x[j]