F_VN_CreateBoostClassifierExp
Create a Boost classifier. The initial reference count is set to one if a new model is created and kept, otherwise. The Boost classifier is only applicable to binary classification problems. It learns to distinguish between samples labelled with two user-defined class labels by incrementally adding weak classifiers to improve the classification results. Models of this type neither support on-line training (sample by sample) nor retraining. (expert function)
Syntax
Definition:
FUNCTION F_VN_CreateBoostClassifierExp : HRESULT
VAR_INPUT
ipMlModel : Reference To ITcVnMlModel;
eType : ETcVnBoostClassifierType;
nMaxDepth : UDINT;
nMinSamples : UDINT;
nWeakClassifiers : UDINT;
fWeightTrimRate : LREAL;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipMlModel |
Reference To ITcVnMlModel |
Returns the created model (Non-zero interface pointers are reused.) |
eType |
Learning algorithm type (default: TCVN_BCT_REAL) | |
nMaxDepth |
UDINT |
Maximum tree depth (default: 1) |
nMinSamples |
UDINT |
Minimum number of samples within a node required for splitting (default: 10) |
nWeakClassifiers |
UDINT |
Number of weak classifiers (default: 100) |
fWeightTrimRate |
LREAL |
Weight threshold used during training (off: 0; default: 0.95). |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
Weiterführende Informationen
Die Funktion F_VN_CreateBoostClassifierExp
ist eine Expert-Variante von F_VN_CreateBoostClassifier. Sie enthält zusätzliche Parameter.
Parameter
Modell
In dem Interface Pointer ipMlModel
wird das erstellte Modell zurückgegeben.
Lernverfahren
Mittels eType
kann der Lernalgorithmus ausgewählt werden. Unterstützt werden: Discrete AdaBoost, Real AdaBoost, LogitBoost und Gentle AdaBoost.
Maximale Baumtiefe
nMaxDepth
gibt an, wie viele Entscheidungsebenen es maximal in einem Baum gibt. Üblicherweise werden für Boost-Klassifikatoren Entscheidungsbäume mit der Baumtiefe 1 verwendet. Höhere Werte sind aber möglich.
Minimale Sample-Anzahl innerhalb eines Knotens
nMinSamples
ist die minimale Anzahl an Samples, die während der Baumbildung in einem Knoten verbleiben muss. Aufspaltungen, die diese Anzahl unterschreiten würden, werden nicht durchgeführt.
Anzahl an Entscheidungsbäumen
nWeakClassifiers
gibt die Anzahl an Entscheidungsbäumen (schwache Lerner) an, die für den Klassifikator durch Boosting kombiniert werden.
Laufzeitoptimierung
Mit fWeightTrimRate
kann die Anzahl an Samples, die für die einzelnen Lernschritte genutzt werden, anhand ihrer automatisch ermittelten Wichtungen beschränkt werden. Zulässig sind Werte im Intervall von 0 bis 1, wobei nur Samples mit Wichtungen > 1 - fWeightTrimRate
im folgenden Lernschritt berücksichtigt werden. Der Wert 0 schaltet diese Optimierung ab.
Anwendung
Ein Boost-Klassifikator Modell kann z.B. so erstellt werden:
hr := F_VN_CreateBoostClassifierExp(
ipMlModel := ipMlModel,
eType := TCVN_BCT_REAL,
nMaxDepth := 1,
nMinSamples := 10,
nWeakClassifiers := 100,
fWeightTrimRate := 0.95,
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 |