Class NormalizedPolyKernel

  • All Implemented Interfaces:
    java.io.Serializable, CapabilitiesHandler, OptionHandler, RevisionHandler

    public class NormalizedPolyKernel
    extends PolyKernel
    The normalized polynomial kernel.
    K(x,y) = <x,y>/sqrt(<x,x><y,y>) where <x,y> = PolyKernel(x,y)

    Valid options are:

     -D
      Enables debugging output (if available) to be printed.
      (default: off)
     -no-checks
      Turns off all checks - use with caution!
      (default: checks on)
     -C <num>
      The size of the cache (a prime number), 0 for full cache and 
      -1 to turn it off.
      (default: 250007)
     -E <num>
      The Exponent to use.
      (default: 1.0)
     -L
      Use lower-order terms.
      (default: no)
    Version:
    $Revision: 1.8 $
    Author:
    Eibe Frank (eibe@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • NormalizedPolyKernel

        public NormalizedPolyKernel()
        default constructor - does nothing
      • NormalizedPolyKernel

        public NormalizedPolyKernel​(Instances dataset,
                                    int cacheSize,
                                    double exponent,
                                    boolean lowerOrder)
                             throws java.lang.Exception
        Creates a new NormalizedPolyKernel instance.
        Parameters:
        dataset - the training dataset used.
        cacheSize - the size of the cache (a prime number)
        exponent - the exponent to use
        lowerOrder - whether to use lower-order terms
        Throws:
        java.lang.Exception - if something goes wrong
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing the kernel
        Overrides:
        globalInfo in class PolyKernel
        Returns:
        a description suitable for displaying in the explorer/experimenter gui
      • eval

        public double eval​(int id1,
                           int id2,
                           Instance inst1)
                    throws java.lang.Exception
        Computes the result of the kernel function for two instances. If id1 == -1, eval use inst1 instead of an instance in the dataset. Redefines the eval function of PolyKernel.
        Overrides:
        eval in class CachedKernel
        Parameters:
        id1 - the index of the first instance in the dataset
        id2 - the index of the second instance in the dataset
        inst1 - the instance corresponding to id1 (used if id1 == -1)
        Returns:
        the result of the kernel function
        Throws:
        java.lang.Exception - if something goes wrong
      • setExponent

        public void setExponent​(double value)
        Sets the exponent value (must be different from 1.0).
        Overrides:
        setExponent in class PolyKernel
        Parameters:
        value - the exponent value
      • toString

        public java.lang.String toString()
        returns a string representation for the Kernel
        Overrides:
        toString in class PolyKernel
        Returns:
        a string representaiton of the kernel