F_VN_CreateSvmModel

F_VN_CreateSvmModel 1:

Create an SVM model of the specified type. The initial reference count is set to one if a new model is created and kept, otherwise. Models of this type neither support on-line training (sample by sample) nor retraining. Predictions can only be scalar.

Syntax

Definition:

FUNCTION F_VN_CreateSvmModel : HRESULT
VAR_INPUT
    ipMlModel   : Reference To ITcVnMlModel;
    eSvmType    : ETcVnSvm;
    fC          : LREAL;
    fNu         : LREAL;
    fP          : LREAL;
    eKernelType : ETcVnSvmKernelType;
    fGamma      : LREAL;
    fCoef0      : LREAL;
    fDegree     : LREAL;
    hrPrev      : HRESULT;
END_VAR

F_VN_CreateSvmModel 2: Inputs

Name

Type

Description

ipMlModel

Reference To ITcVnMlModel

Returns the created model (Non-zero interface pointers are reused.)

eSvmType

ETcVnSvm

SVM model type

fC

LREAL

Parameter C (required for TCVN_SVM_C_CLASSIFIER, TCVN_SVM_EPS_REGRESSOR, and TCVN_SVM_NU_REGRESSOR; ignored otherwise)

fNu

LREAL

Parameter nu (required for TCVN_SVM_NU_CLASSIFIER, TCVN_SVM_NOVELTY_DETECTOR, and TCVN_SVM_NU_REGRESSOR; ignored otherwise)

fP

LREAL

Parameter p (required for TCVN_SVM_EPS_REGRESSOR; ignored otherwise)

eKernelType

ETcVnSvmKernelType

Kernel type

fGamma

LREAL

Parameter gamma (used by polynomial, RBF, sigmoid, and chi-squared kernels; ignored otherwise)

fCoef0

LREAL

parameter coef0 (used by polynomial and sigmoid kernels; ignored otherwise)

fDegree

LREAL

Degree (used by polynomial kernels; ignored otherwise)

hrPrev

HRESULT

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

F_VN_CreateSvmModel 3: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_CreateSvmModel erstellt ein Support Vector Machine (SVM) Modell.

Support Vector Machine-Modelle

Support Vector Maschinen können auch für komplexe nichtlineare Problemstellungen verwendet werden. Die Prädiktion stützt sich ausschließlich auf die sogenannten Support-Vektoren, weshalb SVM-Modelle vergleichsweise speichereffizient sind. Für das Training werden alle Samples gleichzeitig benötigt (Batch-Training) und ein Nachtrainieren ist nicht möglich.

Parameter

Modell

In dem Interface Pointer ipMlModel wird das erstellte Modell zurückgegeben.

Modell-Typ

eSvmType legt fest, ob das SVM-Modell zur Klassifizierung, zur Regression oder zur Anomalie-Detektion genutzt wird:

  • TCVN_SVM_C_CLASSIFIER
  • TCVN_SVM_NU_CLASSIFIER
  • TCVN_SVM_NOVELTY_DETECTOR
  • TCVN_SVM_EPS_REGRESSOR
  • TCVN_SVM_NU_REGRESSOR

Modell-Parameter

Die Verwendung und Bedeutung der Parameter fC, fNu und fP hängt vom ausgewähltem eSvmType ab.

Kernel-Typ

Mit eKernelType wird der verwendete Kernel-Typ zur Berechnung festgelegt. Der Kernel-Typ hängt von der Aufgabenstellung / Datenverteilung ab und muss daran angepasst werden.

Kernel-Parameter

Die Verwendung und Bedeutung der Parameter fGamma, fCoef0 und fDegree hängt vom ausgewähltem eKernelType ab.

Expert-Parameter

Die Expert-Varianten F_VN_CreateSvmModelExp und F_VN_CreateSvmModelExp2 enthalten zusätzliche Parameter.

Anwendung

Ein SVM-Modell zur Klassifikation kann z.B. so erstellt werden:

hr := F_VN_CreateSvmModel(
    ipMlModel   := ipMlModel,
    eSvmType    := TCVN_SVM_NU_CLASSIFIER,
    fC          := 0,
    fNu         := 0.1,
    fP          := 0,
    eKernelType := TCVN_SKT_RBF,
    fGamma      := 1,
    fCoef0      := 0,
    fDegree     := 0,
    hrPrev      := hr);

Required License

TC3 Vision Machine Learning

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.54 or later

PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision