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

Class PukKernel

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


    public class PukKernel
    extends BaseL2Kernel
    implements Parameterized
    The PUK kernel is an alternative to the RBF Kernel. By altering the omega parameter the behavior of the PUK kernel can be controlled. The sigma parameter works in the same way as the RBF Kernel.

    See: Üstün, B., Melssen, W. J.,&Buydens, L. M. C. (2006). Facilitating the application of Support Vector Regression by using a universal Pearson VII function based kernel. Chemometrics and Intelligent Laboratory Systems, 81(1), 29–40. doi:10.1016/j.chemolab.2005.09.003
    See Also:
    Serialized Form
    • Constructor Detail

      • PukKernel

        public PukKernel(double sigma,
                         double omega)
        Creates a new PUK Kernel
        Parameters:
        sigma - the width parameter of the kernel
        omega - the shape parameter of the kernel
    • Method Detail

      • setOmega

        public void setOmega(double omega)
        Sets the omega parameter value, which controls the shape of the kernel
        Parameters:
        omega - the positive parameter value
      • getOmega

        public double getOmega()
      • setSigma

        public void setSigma(double sigma)
        Sets the sigma parameter value, which controls the width of the kernel
        Parameters:
        sigma - the positive parameter value
      • getSigma

        public double getSigma()
      • 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,
                           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
      • 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)
      • guessOmega

        public static Distribution guessOmega(DataSet d)
        Guesses the distribution to use for the ω parameter
        Parameters:
        d - the dataset to get the guess for
        Returns:
        the guess for the ω parameter
        See Also:
        setOmega(double)
      • guessSigma

        public static Distribution guessSigma(DataSet d)
        Guesses the distribution to use for the λ parameter
        Parameters:
        d - the dataset to get the guess for
        Returns:
        the guess for the λ parameter
        See Also:
        setSigma(double)
      • 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.
        Specified by:
        normalized in interface KernelTrick
        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.