Documentation of 'jsat.distributions.kernels.RBFKernel' Java class
RBFKernel
jsat.distributions.kernels

Class RBFKernel

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, KernelTrick, Parameterized


    public class RBFKernel
    extends BaseL2Kernel
    Provides a kernel for the Radial Basis Function, which is of the form
    k(x, y) = exp(-||x-y||2/(2*σ2))
    See Also:
    Serialized Form
    • Constructor Detail

      • RBFKernel

        public RBFKernel()
        Creates a new RBF kernel with σ = 1
      • RBFKernel

        public RBFKernel(double sigma)
        Creates a new RBF kernel
        Parameters:
        sigma - the sigma parameter
    • Method Detail

      • eval

        public double eval(Vec a,
                           Vec b)
        Description copied from interface: KernelTrick
        Evaluate this kernel function for the two given vectors.
        Specified by:
        eval in interface KernelTrick
        Specified by:
        eval in class BaseL2Kernel
        Parameters:
        a - the first vector
        b - the first vector
        Returns:
        the evaluation
      • eval

        public double eval(int a,
                           int b,
                           java.util.List<? extends Vec> trainingSet,
                           java.util.List<java.lang.Double> cache)
        Description copied from interface: KernelTrick
        Produces the correct kernel evaluation given the training set and the cache generated by KernelTrick.getAccelerationCache(List). The training vectors should be in the same order.
        Specified by:
        eval in interface KernelTrick
        Specified by:
        eval in class BaseL2Kernel
        Parameters:
        a - the index of the first training vector
        b - the index of the second training vector
        trainingSet - the list of training set vectors
        cache - the double list of cache values generated by this kernel for the given training set
        Returns:
        the same kernel evaluation result as KernelTrick.eval(jsat.linear.Vec, jsat.linear.Vec)
      • eval

        public double eval(int a,
                           Vec b,
                           java.util.List<java.lang.Double> qi,
                           java.util.List<? extends Vec> vecs,
                           java.util.List<java.lang.Double> cache)
        Description copied from interface: KernelTrick
        Computes the kernel product between one vector in the original list of vectors with that of another vector not from the original list, but had information generated by KernelTrick.getQueryInfo(jsat.linear.Vec).
        If the cache input is null, then KernelTrick.eval(jsat.linear.Vec, jsat.linear.Vec) will be called directly.
        Specified by:
        eval in interface KernelTrick
        Specified by:
        eval in class BaseL2Kernel
        Parameters:
        a - the index of the vector in the cache
        b - the other vector
        qi - the query information about b
        vecs - the list of vectors used to build the cache
        cache - the cache associated with the given list of vectors
        Returns:
        the kernel product of the two vectors
      • setSigma

        public void setSigma(double sigma)
        Sets the sigma parameter, which must be a positive value
        Parameters:
        sigma - the sigma value
      • getSigma

        public double getSigma()
      • toString

        public java.lang.String toString()
        Description copied from interface: KernelTrick
        A descriptive name for the type of KernelFunction
        Specified by:
        toString in interface KernelTrick
        Overrides:
        toString in class java.lang.Object
        Returns:
        a descriptive name for the type of KernelFunction
      • sigmaToGamma

        public static double sigmaToGamma(double sigma)
        Another common (equivalent) form of the RBF kernel is k(x, y) = exp(-γ||x-y||2). This method converts the σ value used by this class to the equivalent γ value.
        Parameters:
        sigma - the value of σ
        Returns:
        the equivalent γ value.
      • gammToSigma

        public static double gammToSigma(double gamma)
        Another common (equivalent) form of the RBF kernel is k(x, y) = exp(-γ||x-y||2). This method converts the γ value equivalent σ value used by this class.
        Parameters:
        gamma - the value of γ
        Returns:
        the equivalent σ value
      • guessSigma

        public static Distribution guessSigma(DataSet d)
        Guess the distribution to use for the kernel width term σ in the RBF kernel.
        Parameters:
        d - the data set to get the guess for
        Returns:
        the guess for the σ parameter in the RBF Kernel
      • normalized

        public boolean normalized()
        Description copied from interface: KernelTrick
        This method indicates if a kernel is a normalized kernel or not. A normalized kernel is one in which k(x,x) = 1 for the same object, and no value greater than 1 can be returned.
        Returns:
        true if this is a normalized kernel. false otherwise.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.