weka.classifiers.functions.supportVector
Class RegSMO

java.lang.Object
  extended by weka.classifiers.functions.supportVector.RegOptimizer
      extended by weka.classifiers.functions.supportVector.RegSMO
All Implemented Interfaces:
java.io.Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler
Direct Known Subclasses:
RegSMOImproved

public class RegSMO
extends RegOptimizer
implements TechnicalInformationHandler

Implementation of SMO for support vector regression as described in :

A.J. Smola, B. Schoelkopf (1998). A tutorial on support vector regression.

BibTeX:

 @misc{Smola1998,
    author = {A.J. Smola and B. Schoelkopf},
    note = {NeuroCOLT2 Technical Report NC2-TR-1998-030},
    title = {A tutorial on support vector regression},
    year = {1998}
 }
 

Valid options are:

 -P <double>
  The epsilon for round-off error.
  (default 1.0e-12)
 -L <double>
  The epsilon parameter in epsilon-insensitive loss function.
  (default 1.0e-3)
 -W <double>
  The random number seed.
  (default 1)

Version:
$Revision: 1.4 $
Author:
Remco Bouckaert (remco@cs.waikato.ac.nz,rrb@xm.co.nz)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class weka.classifiers.functions.supportVector.RegOptimizer
m_alpha, m_alphaStar
 
Constructor Summary
RegSMO()
          default constructor
 
Method Summary
 void buildClassifier(Instances instances)
          learn SVM parameters from data using Smola's SMO algorithm.
 java.lang.String epsilonTipText()
          Returns the tip text for this property
 double getEpsilon()
          Get the value of epsilon.
 java.lang.String[] getOptions()
          Gets the current settings of the classifier.
 java.lang.String getRevision()
          Returns the revision string.
 TechnicalInformation getTechnicalInformation()
          Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
 java.lang.String globalInfo()
          Returns a string describing classifier
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options
 void optimize()
          finds alpha and alpha* parameters that optimize the SVM target function
 void setEpsilon(double v)
          Set the value of epsilon.
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 
Methods inherited from class weka.classifiers.functions.supportVector.RegOptimizer
epsilonParameterTipText, getCacheHits, getEpsilonParameter, getKernelEvaluations, getSeed, modelBuilt, seedTipText, setEpsilonParameter, setSeed, setSVMReg, SVMOutput, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RegSMO

public RegSMO()
default constructor

Method Detail

globalInfo

public java.lang.String globalInfo()
Returns a string describing classifier

Returns:
a description suitable for displaying in the explorer/experimenter gui

getTechnicalInformation

public TechnicalInformation getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.

Specified by:
getTechnicalInformation in interface TechnicalInformationHandler
Returns:
the technical information about this class

listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options

Specified by:
listOptions in interface OptionHandler
Overrides:
listOptions in class RegOptimizer
Returns:
an enumeration of all the available options

setOptions

public void setOptions(java.lang.String[] options)
                throws java.lang.Exception
Parses a given list of options.

Valid options are:

 -P <double>
  The epsilon for round-off error.
  (default 1.0e-12)
 -L <double>
  The epsilon parameter in epsilon-insensitive loss function.
  (default 1.0e-3)
 -W <double>
  The random number seed.
  (default 1)

Specified by:
setOptions in interface OptionHandler
Overrides:
setOptions in class RegOptimizer
Parameters:
options - the list of options as an array of strings
Throws:
java.lang.Exception - if an option is not supported

getOptions

public java.lang.String[] getOptions()
Gets the current settings of the classifier.

Specified by:
getOptions in interface OptionHandler
Overrides:
getOptions in class RegOptimizer
Returns:
an array of strings suitable for passing to setOptions

epsilonTipText

public java.lang.String epsilonTipText()
Returns the tip text for this property

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui

getEpsilon

public double getEpsilon()
Get the value of epsilon.

Returns:
Value of epsilon.

setEpsilon

public void setEpsilon(double v)
Set the value of epsilon.

Parameters:
v - Value to assign to epsilon.

optimize

public void optimize()
              throws java.lang.Exception
finds alpha and alpha* parameters that optimize the SVM target function

Throws:
java.lang.Exception

buildClassifier

public void buildClassifier(Instances instances)
                     throws java.lang.Exception
learn SVM parameters from data using Smola's SMO algorithm. Subclasses should implement something more interesting.

Overrides:
buildClassifier in class RegOptimizer
Parameters:
instances - the data to learn from
Throws:
java.lang.Exception - if something goes wrong

getRevision

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

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