weka.classifiers.functions.supportVector
Class NormalizedPolyKernel

java.lang.Object
  extended by weka.classifiers.functions.supportVector.Kernel
      extended by weka.classifiers.functions.supportVector.CachedKernel
          extended by weka.classifiers.functions.supportVector.PolyKernel
              extended by weka.classifiers.functions.supportVector.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 Summary
NormalizedPolyKernel()
          default constructor - does nothing
NormalizedPolyKernel(Instances dataset, int cacheSize, double exponent, boolean lowerOrder)
          Creates a new NormalizedPolyKernel instance.
 
Method Summary
 double eval(int id1, int id2, Instance inst1)
          Computes the result of the kernel function for two instances.
 java.lang.String getRevision()
          Returns the revision string.
 java.lang.String globalInfo()
          Returns a string describing the kernel
 void setExponent(double value)
          Sets the exponent value (must be different from 1.0).
 java.lang.String toString()
          returns a string representation for the Kernel
 
Methods inherited from class weka.classifiers.functions.supportVector.PolyKernel
exponentTipText, getCapabilities, getExponent, getOptions, getUseLowerOrder, listOptions, setOptions, setUseLowerOrder, useLowerOrderTipText
 
Methods inherited from class weka.classifiers.functions.supportVector.CachedKernel
buildKernel, cacheSizeTipText, clean, getCacheSize, numCacheHits, numEvals, setCacheSize
 
Methods inherited from class weka.classifiers.functions.supportVector.Kernel
checksTurnedOffTipText, debugTipText, forName, getChecksTurnedOff, getDebug, makeCopies, makeCopy, setChecksTurnedOff, setDebug
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

getRevision

public java.lang.String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Overrides:
getRevision in class PolyKernel
Returns:
the revision