svmsmoset - Create or edit Sequential Minimal Optimization (SMO) options structure

Syntax

SMO_OptsStruct = svmsmoset('Property1Name', Property1Value, 'Property2Name', Property2Value, ...)
SMO_OptsStruct = svmsmoset(OldOpts, 'Property1Name', Property1Value, 'Property2Name', Property2Value, ...)
SMO_OptsStruct = svmsmoset(OldOpts, NewOpts)

Arguments

OldOptsStructure that specifies options used by the SMO method of the svmtrain function.
NewOptsStructure that specifies options used by the SMO method of the svmtrain function.

PropertyNameDescription of PropertyValue
TolKKTValue that specifies the tolerance with which the KKT conditions are checked. KKT conditions are Karush-Kuhn-Tucker conditions. Default is 1.0000e-003.
MaxIterInteger that specifies the maximum number of iterations of the main loop. If this limit is exceeded before the algorithm converges, then the algorithm stops and returns an error. Default is 15000.
DisplayString that specifies the level of information about the optimization iterations that is displayed as the algorithm runs. Choices are:
  • off — Default. Reports nothing.

  • iter — Reports every 500 iterations.

  • final — Reports only when the algorithm finishes.

KKTViolationLevelValue that specifies the fraction of variables allowed to violate the KKT conditions. Choices are any value ≥ 0 and < 1. Default is 0. For example, if you set KKTViolationLevel to 0.05, then 5% of the variables are allowed to violate the KKT conditions.

    Tip   Set this option to a positive value to help the algorithm converge if it is fluctuating near a good solution.

For more information on KKT conditions, see Cristianini, et al. 2000.

KernelCacheLimitValue that specifies the size of the kernel matrix cache. The algorithm keeps a matrix with up to KernelCacheLimit × KernelCacheLimit double-precision, floating-point numbers in memory. Default is 5000.

Return Values

SMO_OptsStructStructure that specifies options used by the SMO method used by the svmtrain function.

Description

SMO_OptsStruct = svmsmoset('Property1Name', Property1Value, 'Property2Name', Property2Value, ...) creates SMO_OptsStruct, an SMO options structure from the specified inputs. This structure can be used as input for the svmtrain function.

SMO_OptsStruct = svmsmoset(OldOpts, 'Property1Name', Property1Value, 'Property2Name', Property2Value, ...) alters the options in OldOpts, an existing SMO options structure, with the specified inputs, creating a new output options structure.

SMO_OptsStruct = svmsmoset(OldOpts, NewOpts) alters the options in OldOpts, an existing SMO options structure, with the options specified in NewOpts, another SMO options structure, creating a new output options structure.

Examples

  1. Create an SMO options structure and specify the Display, MaxIter, and KernelCacheLimit properties.

    opts = svmsmoset('Display','final','MaxIter',20000,...
                      'KernelCacheLimit',1000)
    
    opts = 
    
                  Display: 'final'
                   TolKKT: 1.0000e-003
                  MaxIter: 20000
        KKTViolationLevel: 0
         KernelCacheLimit: 1000
  2. Create an alternate SMO options structure from the previous structure. Specify different Display and KKTViolationLevel properties.

    alt_opts = svmsmoset(opts,'Display','iter','KKTViolationLevel',.05)
    
    alt_opts = 
    
                  Display: 'iter'
                   TolKKT: 1.0000e-003
                  MaxIter: 20000
        KKTViolationLevel: 0.0500
         KernelCacheLimit: 1000
    

References

[1] Cristianini, N., and Shawe-Taylor, J. (2000). An Introduction to Support Vector Machines and Other Kernel-based Learning Methods, First Edition (Cambridge: Cambridge University Press). http://www.support-vector.net/

[2] Platt, J.C. (1999). Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines. In Advances in Kernel Methods - Support Vector Learning, B. Scholkopf, J.C. Burges, and A.J. Smola, eds. (Cambridge MA: MIT Press), pp. 185–208.

[3] Fan, R.E., Chen, P.H., and Lin, C.J. (2005). Working Set Selection Using Second Order Information for Training SVM. Journal of Machine Learning Research 6, 1889–1918.

[4] Bottou, L. and Lin, C.J. (2006). Support Vector Machine Solvers. http://www.csie.ntu.edu.tw/~cjlin/papers.html

See Also

Bioinformatics Toolbox functions: svmclassify, svmtrain

Optimization Toolbox function: optimset

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS