F_VN_CreateLbgModelExp
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
Inputs
Name |
Type |
Description |
---|---|---|
ipMlModel |
Reference To ITcVnMlModel |
Returns the created model (Non-zero interface pointers are reused.) |
eLbgType |
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 indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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.59 or later | PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |