Class RegSMOImproved

All Implemented Interfaces:
Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class RegSMOImproved extends RegSMO implements TechnicalInformationHandler
Learn SVM for regression using SMO with Shevade, Keerthi, et al. adaption of the stopping criterion.

For more information see:

S.K. Shevade, S.S. Keerthi, C. Bhattacharyya, K.R.K. Murthy: Improvements to the SMO Algorithm for SVM Regression. In: IEEE Transactions on Neural Networks, 1999.

S.K. Shevade, S.S. Keerthi, C. Bhattacharyya, K.R.K. Murthy (1999). Improvements to the SMO Algorithm for SVM Regression. Control Division, Dept. of Mechanical Engineering.

BibTeX:

 @inproceedings{Shevade1999,
    author = {S.K. Shevade and S.S. Keerthi and C. Bhattacharyya and K.R.K. Murthy},
    booktitle = {IEEE Transactions on Neural Networks},
    title = {Improvements to the SMO Algorithm for SVM Regression},
    year = {1999},
    PS = {http://guppy.mpe.nus.edu.sg/\~mpessk/svm/ieee_smo_reg.ps.gz}
 }
 
 @techreport{Shevade1999,
    address = {Control Division, Dept. of Mechanical Engineering},
    author = {S.K. Shevade and S.S. Keerthi and C. Bhattacharyya and K.R.K. Murthy},
    institution = {National University of Singapore},
    number = {CD-99-16},
    title = {Improvements to the SMO Algorithm for SVM Regression},
    year = {1999},
    PS = {http://guppy.mpe.nus.edu.sg/\~mpessk/svm/smoreg_mod.ps.gz}
 }
 

Valid options are:

 -T <double>
  The tolerance parameter for checking the stopping criterion.
  (default 0.001)
 
 -V
  Use variant 1 of the algorithm when true, otherwise use variant 2.
  (default true)
 
 -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: 10169 $
Author:
Remco Bouckaert (remco@cs.waikato.ac.nz,rrb@xm.co.nz)
See Also:
  • Field Details

  • Constructor Details

    • RegSMOImproved

      public RegSMOImproved()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing the object
      Overrides:
      globalInfo in class RegSMO
      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
      Overrides:
      getTechnicalInformation in class RegSMO
      Returns:
      the technical information about this class
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class RegSMO
      Returns:
      an enumeration of all the available options
    • setOptions

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

      Valid options are:

       -T <double>
        The tolerance parameter for checking the stopping criterion.
        (default 0.001)
       
       -V
        Use variant 1 of the algorithm when true, otherwise use variant 2.
        (default true)
       
       -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 RegSMO
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current settings of the object.
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class RegSMO
      Returns:
      an array of strings suitable for passing to setOptions
    • toleranceTipText

      public String toleranceTipText()
      Returns the tip text for this property
      Returns:
      a description suitable for displaying in the explorer/experimenter gui
    • getTolerance

      public double getTolerance()
      returns the current tolerance
      Returns:
      the tolerance
    • setTolerance

      public void setTolerance(double d)
      sets the tolerance
      Parameters:
      d - the new tolerance
    • useVariant1TipText

      public String useVariant1TipText()
      Returns the tip text for this property
      Returns:
      a description suitable for displaying in the explorer/experimenter gui
    • isUseVariant1

      public boolean isUseVariant1()
      Whether variant 1 is used
      Returns:
      true if variant 1 is used
    • setUseVariant1

      public void setUseVariant1(boolean b)
      Sets whether to use variant 1
      Parameters:
      b - if true then variant 1 is used
    • buildClassifier

      public void buildClassifier(Instances instances) throws Exception
      learn SVM parameters from data using Keerthi's SMO algorithm. Subclasses should implement something more interesting.
      Overrides:
      buildClassifier in class RegSMO
      Parameters:
      instances - the data to work with
      Throws:
      Exception - if something goes wrong
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class RegSMO
      Returns:
      the revision