F_VN_CreateBoostClassifierExp2

F_VN_CreateBoostClassifierExp2 1:

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_CreateBoostClassifierExp2 : HRESULT
VAR_INPUT
    ipMlModel        : Reference To ITcVnMlModel;
    eType            : ETcVnBoostClassifierType;
    nMaxDepth        : UDINT;
    nMinSamples      : UDINT;
    nWeakClassifiers : UDINT;
    fWeightTrimRate  : LREAL;
    ipClassPriors    : ITcVnContainer;
    hrPrev           : HRESULT;
END_VAR

F_VN_CreateBoostClassifierExp2 2: Inputs

Name

Type

Description

ipMlModel

Reference To ITcVnMlModel

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

eType

ETcVnBoostClassifierType

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).

ipClassPriors

ITcVnContainer

Class priors (ContainerType_Vector_REAL or ContainerType_Vector_LREAL; only for classifiers; optional, set to 0 if not required or not allowed; default: 0)

hrPrev

HRESULT

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

F_VN_CreateBoostClassifierExp2 3: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_CreateBoostClassifierExp2 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.

Class-Priors

ipClassPriors ist ein Container, mit dem die Apriori-Wahrscheinlichkeiten der einzelnen Klassen angegeben werden können.

Anwendung

Ein Boost-Klassifikator Modell kann z.B. so erstellt werden:

hr := F_VN_CreateBoostClassifierExp2(
    ipMlModel           := ipMlModel,
    eType               := TCVN_BCT_REAL,
    nMaxDepth           := 1,
    nMinSamples         := 10,
    nWeakClassifiers    := 100,
    fWeightTrimRate     := 0.95,
    ipClassPriors       := 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