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 classCode exampleMulticlassSupportVectorMachineTModel, 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.
Public enumerationMultilabelProbabilityMethod
Probability computation strategies for MultilabelSupportVectorMachine
Remarks

This namespace contains both standard SupportVectorMachines and the kernel extension given by SupportVectorMachineTKernels. For multiple classes or categories, the framework offers MulticlassSupportVectorMachineTKernels and MultilabelSupportVectorMachineTKernels. 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 SequentialMinimalOptimizationTKernel (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