F_VN_CreateLbgModelExp

F_VN_CreateLbgModelExp 1:

Create a LBG 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. (expert function)

Syntax

Definition:

FUNCTION F_VN_CreateLbgModelExp : HRESULT
VAR_INPUT
    ipMlModel         : Reference To ITcVnMlModel;
    eLbgType          : ETcVnPrototypeClusterer;
    nMaxClusters      : UDINT;
    fMaxClusterRadius : LREAL;
    bSingleSplitSteps : BOOL;
    bDoublePrecision  : BOOL;
    nMaxIterations    : UDINT;
    fEpsilon          : LREAL;
    hrPrev            : HRESULT;
END_VAR

F_VN_CreateLbgModelExp 2: Inputs

Name

Type

Description

ipMlModel

Reference To ITcVnMlModel

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

eLbgType

ETcVnPrototypeClusterer

LBG model type

nMaxClusters

UDINT

Maximum number of clusters

fMaxClusterRadius

LREAL

Maximum allowed radius (L2 norm) of a single cluster, i.e. clusters with a higher radius will be split into smaller ones, until a global number of nMaxClusters is reached.

bSingleSplitSteps

BOOL

If true, the global optimization is always run after a single cluster has been split. If false, several clusters are split within the same step before applying the global optimization. Applying the global optimization less often is faster, but can lead to less optimal results, especially having 2 nearby clusters that could be represented by 1.

bDoublePrecision

BOOL

If true, the model is generated with double precision (LREAL) instead of single precision (REAL). (default: FALSE)

nMaxIterations

UDINT

Maximum number of iterations (triggers the usage of the default value of 10 if it equals 0)

fEpsilon

LREAL

Maximum allowed difference of the error between two successive iterations (triggers the usage of the default value of 0.001 if it equals 0)

hrPrev

HRESULT

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

F_VN_CreateLbgModelExp 3: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_CreateLbgModelExp ist die Expert-Variante von F_VN_CreateLbgModel. Sie enthält zusätzliche Parameter.

Parameter

Modell

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

Modell-Typ

eLbgType legt fest, ob LBG zum Clustering (TCVN_PC_CLUSTERER) oder zur Anomalie-Detektion (TCVN_PC_NOVELTY_DETECTOR) genutzt wird.

Maximale Cluster-Anzahl

Wenn durch das Aufteilen von zu großen Clustern insgesamt nMaxClusters existieren, werden keine neuen Cluster mehr angelegt.

Maximale Cluster-Radius

Wenn im Training der Radius eines Clusters größer als fMaxClusterRadius wird, wird dieser Cluster in zwei kleinere Cluster aufgeteilt.

Optimierungsqualität

Teil des iterativen Trainingsprozesses ist ein globaler Optimierungsschritt. Wenn bSingleSplitSteps = TRUE ist, wird diese Optimierung nach jeder einzelnen Cluster-Aufteilung ausgeführt. Dies führt zu einer höheren Qualität der Cluster, aber auch zu einer längeren Trainingszeit. Wenn bSingleSplitSteps = FALSE ist, wird die Optimierung erst ausgeführt, nachdem mehrere Cluster aufgeteilt wurden.

Höhere Genauigkeit

Wenn bDoublePrecision TRUE ist, wird LREAL als Datentyp für die internen Berechnungen des Modells genutzt; wenn es FALSE ist, wird REAL genutzt.

Maximale Iterationen

Für die Optimierung werden maximal so viele Iterationen genutzt, wie in nMaxIterations angegeben sind. Wenn der Wert 0 ist, wird der jeweilige Default-Wert verwendet.

Abbruchgrenze

Die Optimierung wird abgebrochen, sobald sich der Fehler zwischen zwei Iterationen nicht stärker verändert, als in fEpsilon angegeben ist. Wenn der Wert 0 ist, wird der jeweilige Default-Wert verwendet.

Anwendung

Ein LBG-Modell für Clustering mit 5 Clustern, einer maximalen Cluster-Größe von 3.6 und hoher Optimierungsqualität kann z.B. so erstellt werden:

hr := F_VN_CreateLbgModelExp(
    ipMlModel           := ipMlModel,
    eLbgType            := TCVN_PC_CLUSTERER,
    nMaxClusters        := 5,
    fMaxClusterRadius   := 3.6,
    bSingleSplitSteps   := TRUE,
    bDoublePrecision    := TRUE,
    nMaxIterations      := 0,
    fEpsilon            := 0,
    hrPrev              := hr);

Required License

TC3 Vision Machine Learning

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1. 4024.44 or later

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

Tc3_Vision