CMSIS-DSP  Version 1.8.0
CMSIS DSP Software Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
SVM Functions

Functions

void arm_svm_linear_init_f32 (arm_svm_linear_instance_f32 *S, uint32_t nbOfSupportVectors, uint32_t vectorDimension, float32_t intercept, const float32_t *dualCoefficients, const float32_t *supportVectors, const int32_t *classes)
 SVM linear instance init function. More...
 
void arm_svm_linear_predict_f32 (const arm_svm_linear_instance_f32 *S, const float32_t *in, int32_t *pResult)
 SVM linear prediction. More...
 
void arm_svm_polynomial_init_f32 (arm_svm_polynomial_instance_f32 *S, uint32_t nbOfSupportVectors, uint32_t vectorDimension, float32_t intercept, const float32_t *dualCoefficients, const float32_t *supportVectors, const int32_t *classes, int32_t degree, float32_t coef0, float32_t gamma)
 SVM polynomial instance init function. More...
 
void arm_svm_polynomial_predict_f32 (const arm_svm_polynomial_instance_f32 *S, const float32_t *in, int32_t *pResult)
 SVM polynomial prediction. More...
 
void arm_svm_rbf_init_f32 (arm_svm_rbf_instance_f32 *S, uint32_t nbOfSupportVectors, uint32_t vectorDimension, float32_t intercept, const float32_t *dualCoefficients, const float32_t *supportVectors, const int32_t *classes, float32_t gamma)
 SVM radial basis function instance init function. More...
 
void arm_svm_rbf_predict_f32 (const arm_svm_rbf_instance_f32 *S, const float32_t *in, int32_t *pResult)
 SVM rbf prediction. More...
 
void arm_svm_sigmoid_init_f32 (arm_svm_sigmoid_instance_f32 *S, uint32_t nbOfSupportVectors, uint32_t vectorDimension, float32_t intercept, const float32_t *dualCoefficients, const float32_t *supportVectors, const int32_t *classes, float32_t coef0, float32_t gamma)
 SVM sigmoid instance init function. More...
 
void arm_svm_sigmoid_predict_f32 (const arm_svm_sigmoid_instance_f32 *S, const float32_t *in, int32_t *pResult)
 SVM sigmoid prediction. More...
 

Description

This set of functions is implementing SVM classification on 2 classes. The training must be done from scikit-learn. The parameters can be easily generated from the scikit-learn object. Some examples are given in DSP/Testing/PatternGeneration/SVM.py

If more than 2 classes are needed, the functions in this folder will have to be used, as building blocks, to do multi-class classification.

No multi-class classification is provided in this SVM folder.

Function Documentation

void arm_svm_linear_init_f32 ( arm_svm_linear_instance_f32 S,
uint32_t  nbOfSupportVectors,
uint32_t  vectorDimension,
float32_t  intercept,
const float32_t dualCoefficients,
const float32_t supportVectors,
const int32_t *  classes 
)

Classes are integer used as output of the function (instead of having -1,1 as class values).

Parameters
[in]SParameters for the SVM function
[in]nbOfSupportVectorsNumber of support vectors
[in]vectorDimensionDimension of vector space
[in]interceptIntercept
[in]dualCoefficientsArray of dual coefficients
[in]supportVectorsArray of support vectors
[in]classesArray of 2 classes ID
Returns
none.
void arm_svm_linear_predict_f32 ( const arm_svm_linear_instance_f32 S,
const float32_t in,
int32_t *  pResult 
)
Parameters
[in]SPointer to an instance of the linear SVM structure.
[in]inPointer to input vector
[out]pResultDecision value
Returns
none.
void arm_svm_polynomial_init_f32 ( arm_svm_polynomial_instance_f32 S,
uint32_t  nbOfSupportVectors,
uint32_t  vectorDimension,
float32_t  intercept,
const float32_t dualCoefficients,
const float32_t supportVectors,
const int32_t *  classes,
int32_t  degree,
float32_t  coef0,
float32_t  gamma 
)

Classes are integer used as output of the function (instead of having -1,1 as class values).

Parameters
[in]Spoints to an instance of the polynomial SVM structure.
[in]nbOfSupportVectorsNumber of support vectors
[in]vectorDimensionDimension of vector space
[in]interceptIntercept
[in]dualCoefficientsArray of dual coefficients
[in]supportVectorsArray of support vectors
[in]classesArray of 2 classes ID
[in]degreePolynomial degree
[in]coef0coeff0 (scikit-learn terminology)
[in]gammagamma (scikit-learn terminology)
Returns
none.
void arm_svm_polynomial_predict_f32 ( const arm_svm_polynomial_instance_f32 S,
const float32_t in,
int32_t *  pResult 
)
Parameters
[in]SPointer to an instance of the polynomial SVM structure.
[in]inPointer to input vector
[out]pResultDecision value
Returns
none.
void arm_svm_rbf_init_f32 ( arm_svm_rbf_instance_f32 S,
uint32_t  nbOfSupportVectors,
uint32_t  vectorDimension,
float32_t  intercept,
const float32_t dualCoefficients,
const float32_t supportVectors,
const int32_t *  classes,
float32_t  gamma 
)

Classes are integer used as output of the function (instead of having -1,1 as class values).

Parameters
[in]Spoints to an instance of the polynomial SVM structure.
[in]nbOfSupportVectorsNumber of support vectors
[in]vectorDimensionDimension of vector space
[in]interceptIntercept
[in]dualCoefficientsArray of dual coefficients
[in]supportVectorsArray of support vectors
[in]classesArray of 2 classes ID
[in]gammagamma (scikit-learn terminology)
Returns
none.
void arm_svm_rbf_predict_f32 ( const arm_svm_rbf_instance_f32 S,
const float32_t in,
int32_t *  pResult 
)
Parameters
[in]SPointer to an instance of the rbf SVM structure.
[in]inPointer to input vector
[out]pResultdecision value
Returns
none.
void arm_svm_sigmoid_init_f32 ( arm_svm_sigmoid_instance_f32 S,
uint32_t  nbOfSupportVectors,
uint32_t  vectorDimension,
float32_t  intercept,
const float32_t dualCoefficients,
const float32_t supportVectors,
const int32_t *  classes,
float32_t  coef0,
float32_t  gamma 
)

Classes are integer used as output of the function (instead of having -1,1 as class values).

Parameters
[in]Spoints to an instance of the rbf SVM structure.
[in]nbOfSupportVectorsNumber of support vectors
[in]vectorDimensionDimension of vector space
[in]interceptIntercept
[in]dualCoefficientsArray of dual coefficients
[in]supportVectorsArray of support vectors
[in]classesArray of 2 classes ID
[in]coef0coeff0 (scikit-learn terminology)
[in]gammagamma (scikit-learn terminology)
Returns
none.
void arm_svm_sigmoid_predict_f32 ( const arm_svm_sigmoid_instance_f32 S,
const float32_t in,
int32_t *  pResult 
)
Parameters
[in]SPointer to an instance of the rbf SVM structure.
[in]inPointer to input vector
[out]pResultDecision value
Returns
none.