Click or drag to resize
Accord.NET (logo)

Accord.MachineLearning.VectorMachines Namespace

Contains classes related to Support Vector Machines (SVMs). Contains linear machines, kernel machines, multi-class machines, SVM-DAGs (Directed Acyclic Graphs), multi-label classification and also offers support for the probabilistic output calibration of SVM outputs.
Classes
  ClassDescription
Public classKernelSupportVectorMachine Obsolete.
Obsolete.
Public classCode exampleMulticlassSupportVectorMachine Obsolete.
One-against-one Multi-class Kernel Support Vector Machine Classifier.
Public classCode exampleMulticlassSupportVectorMachineTKernel
One-against-one Multi-class Kernel Support Vector Machine Classifier.
Public classMulticlassSupportVectorMachineTKernel, TInput
One-against-one Multi-class Kernel Support Vector Machine Classifier.
Public classMulticlassSupportVectorMachineTModel, TKernel, TInput
One-against-one Multi-class Kernel Support Vector Machine Classifier.
Public classCode exampleMultilabelSupportVectorMachine Obsolete.
One-against-all Multi-label Kernel Support Vector Machine Classifier.
Public classCode exampleMultilabelSupportVectorMachineTKernel
One-against-all Multi-label Kernel Support Vector Machine Classifier.
Public classCode exampleMultilabelSupportVectorMachineTKernel, TInput
One-against-all Multi-label Kernel Support Vector Machine Classifier.
Public classCode exampleMultilabelSupportVectorMachineTModel, TKernel, TInput
One-against-all Multi-label Kernel Support Vector Machine Classifier.
Public classCode exampleSupportVectorMachine
Linear Support Vector Machine (SVM).
Public classCode exampleSupportVectorMachineTKernel
Sparse Kernel Support Vector Machine (kSVM)
Public classCode exampleSupportVectorMachineTKernel, TInput
Sparse Kernel Support Vector Machine (kSVM)
Interfaces
Enumerations
  EnumerationDescription
Public enumerationMulticlassComputeMethod
Decision strategies for Multi-class Support Vector Machines.
Remarks

This namespace contains both standard SupportVectorMachines and the kernel extension given by KernelSupportVectorMachines. For multiple classes or categories, the framework offers MulticlassSupportVectorMachines and MultilabelSupportVectorMachines. Multi-class machines can be used for cases where a single class should be picked up from a list of several class labels, and the multi-label machine for cases where multiple class labels might be detected for a single input vector. The multi-class machines also support two types of classification: the faster decision based on Decision Directed Acyclic Graphs, and the more traditional based on a Voting scheme.

Learning can be achieved using the standard SequentialMinimalOptimization (SMO) algorithm. However, the framework can also learn Least Squares SVMs (LS-SVMs) using LeastSquaresLearning, and even calibrate SVMs to produce probabilistic outputs using ProbabilisticOutputCalibration. A huge variety of kernels functions is available in the statistics namespace, and new kernels can be created easily using the IKernel interface.

The namespace class diagram is shown below.

Please note that class diagrams for each of the inner namespaces are also available within their own documentation pages.

See Also