weka.classifiers.functions.supportVector
Class RBFKernel
java.lang.Object
weka.classifiers.functions.supportVector.Kernel
weka.classifiers.functions.supportVector.RBFKernel
- All Implemented Interfaces:
- java.io.Serializable
- public class RBFKernel
- extends Kernel
The RBF kernel.
K(x, y) = e^-(gamma * ^2)
- Version:
- $$
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz), Shane Legg (shane@intelligenesis.net) (sparse vector code), Stuart Inglis (stuart@reeltwo.com) (sparse vector code), J. Lindgren (jtlindgr{at}cs.helsinki.fi) (RBF kernel)
- See Also:
- Serialized Form
Field Summary |
private int |
m_cacheSize
The size of the cache (a prime number) |
private double |
m_gamma
Gamma for the RBF kernel. |
private int |
m_kernelEvals
Counts the number of kernel evaluations. |
private double[] |
m_kernelPrecalc
The precalculated dotproducts of |
private long[] |
m_keys
|
private int |
m_numInsts
The number of instance in the dataset |
private double[] |
m_storage
Kernel cache |
Fields inherited from class weka.classifiers.functions.supportVector.Kernel |
m_data |
Method Summary |
void |
clean()
Frees the cache used by the kernel. |
private double |
dotProd(Instance inst1,
Instance inst2)
Calculates a dot product between two instances |
double |
eval(int id1,
int id2,
Instance inst1)
Implements the abstract function of Kernel. |
int |
numEvals()
Returns the number of time Eval has been called. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
m_kernelPrecalc
private double[] m_kernelPrecalc
- The precalculated dotproducts of
m_kernelEvals
private int m_kernelEvals
- Counts the number of kernel evaluations.
m_cacheSize
private int m_cacheSize
- The size of the cache (a prime number)
m_storage
private double[] m_storage
- Kernel cache
m_keys
private long[] m_keys
m_gamma
private double m_gamma
- Gamma for the RBF kernel.
m_numInsts
private int m_numInsts
- The number of instance in the dataset
RBFKernel
public RBFKernel(Instances data,
int cacheSize,
double gamma)
throws java.lang.Exception
- Constructor. Initializes m_kernelPrecalc[].
eval
public double eval(int id1,
int id2,
Instance inst1)
throws java.lang.Exception
- Implements the abstract function of Kernel.
- Specified by:
eval
in class Kernel
- Parameters:
id1
- the index of the first instance in the datasetid2
- the index of the second instance in the dataset
- Returns:
- the result of the kernel function
- Throws:
java.lang.Exception
dotProd
private double dotProd(Instance inst1,
Instance inst2)
throws java.lang.Exception
- Calculates a dot product between two instances
- Parameters:
inst1
- the first instanceinst2
- the second instance
- Returns:
- the dot product of the two instances.
- Throws:
java.lang.Exception
- if an error occurs
clean
public void clean()
- Frees the cache used by the kernel.
- Specified by:
clean
in class Kernel
numEvals
public int numEvals()
- Returns the number of time Eval has been called.
- Specified by:
numEvals
in class Kernel
- Returns:
- the number of kernel evaluation.