Class SigmoidKernel

java.lang.Object
com.imsl.datamining.supportvectormachine.Kernel
com.imsl.datamining.supportvectormachine.SigmoidKernel
All Implemented Interfaces:
Serializable, Cloneable

public class SigmoidKernel extends Kernel implements Serializable, Cloneable
Specifies the sigmoid 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) = \text{tanh}( \gamma x_i^T x_j + r)\) where \(\gamma\) and r are configurable parameters.

See Also:
  • Constructor Details

    • SigmoidKernel

      public SigmoidKernel()
      Constructor for the sigmoid kernel.

      The default values for the sigmoid kernel are \(\gamma\)=1.0 and r=0.0.

    • SigmoidKernel

      public SigmoidKernel(double gamma, double r)
      Constructs a sigmoid kernel.
      Parameters:
      gamma - a double, the sigmoid kernel slope parameter
      r - a double, the function intercept parameter
    • SigmoidKernel

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

    • clone

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

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

      Default: kParams[0]=\(\gamma\)=1.0 and kParams[1]=r=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]