KlassenKlassenKlassenKlassen | | | | Operatoren

train_class_knnT_train_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn (Operator)

Name

train_class_knnT_train_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn — Erstellt die Suchbäume eines k-NN-Klassifikators.

Signatur

train_class_knn( : : KNNHandle, GenParamNames, GenParamValues : )

Herror T_train_class_knn(const Htuple KNNHandle, const Htuple GenParamNames, const Htuple GenParamValues)

Herror train_class_knn(const HTuple& KNNHandle, const HTuple& GenParamNames, const HTuple& GenParamValues)

void HClassKnn::TrainClassKnn(const HTuple& GenParamNames, const HTuple& GenParamValues) const

void TrainClassKnn(const HTuple& KNNHandle, const HTuple& GenParamNames, const HTuple& GenParamValues)

void HClassKnn::TrainClassKnn(const HTuple& GenParamNames, const HTuple& GenParamValues) const

void HOperatorSetX.TrainClassKnn(
[in] VARIANT KNNHandle, [in] VARIANT GenParamNames, [in] VARIANT GenParamValues)

void HClassKnnX.TrainClassKnn(
[in] VARIANT GenParamNames, [in] VARIANT GenParamValues)

static void HOperatorSet.TrainClassKnn(HTuple KNNHandle, HTuple genParamNames, HTuple genParamValues)

void HClassKnn.TrainClassKnn(HTuple genParamNames, HTuple genParamValues)

Beschreibung

train_class_knntrain_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn erstellt die Suchbäume eines k-Nearest-Neighbor-Klassifikators.

Die Anzahl der Suchbäume kann in den generischen Parametern GenParamNamesGenParamNamesGenParamNamesGenParamNamesGenParamNamesgenParamNames und GenParamValuesGenParamValuesGenParamValuesGenParamValuesGenParamValuesgenParamValues über 'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees" festgelegt werden. Der Standardwert ist hierbei 4, welcher üblicherweise zu ausreichend guten Ergebnissen führt. Eine höhere Anzahl der Bäume führt zu längeren Laufzeiten und zu höherem Speicherverbrauch, aber zu tendenziell genaueren Ergebnissen, speziell bei höheren Dimensionen der Merkmalsvektoren.

Nach einem erfolgten Training können weitere Daten mit dem Operator add_sample_class_knnadd_sample_class_knnAddSampleClassKnnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnn hinzugefügt werden. Die neu hinzugefügten Daten beeinflussen die Klassifikation erst, wenn train_class_knntrain_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn erneut aufgerufen wurde.

Die automatische Merkmals-Normalisierung kann aktiviert werden, indem der Eingabeparameter GenParamNamesGenParamNamesGenParamNamesGenParamNamesGenParamNamesgenParamNames den Wert 'normalization'"normalization""normalization""normalization""normalization""normalization" und GenParamValuesGenParamValuesGenParamValuesGenParamValuesGenParamValuesgenParamValues an gleicher Stelle 'true'"true""true""true""true""true" enthält. Die Merkmalsvektoren werden in jeder Dimension einzeln normalisiert. Für jede Dimension wird der Mittelwert und die Standardabweichung anhand der übermittelten Trainingsdaten ermittelt. Alle Merkmalsvektoren werden dann dadurch normalisiert, dass in jeder Dimension der Mittelwert abgezogen und durch die Standardabweichung geteilt wird. Solch eine Normalisierung bewirkt, dass die Merkmalsvektoren einen Mittelwert von Null und eine Varianz von 1 nach der Normalisierung besitzen. Falls die Standardabweichung in einer Dimension den Wert Null aufweisen sollte, so wird nur der Mittelwert abgezogen und nicht durch Null dividiert. Man beachte, dass eine Standardabweichung von Null in einer Dimension bedeutet, dass diese Dimension zu dem Klassifikator keine relevante Information beisteuert und man diese Dimension weglassen könnte. Die Automatische Merkmals-Normalisierung bewirkt, dass die gespeicherten Trainingsdaten verändert werden. Diese Veränderungen lassen sich aber ohne Verluste rückgängig machen, indem der Operator train_class_knntrain_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn erneut aufgerufen wird, wobei 'normalization' auf 'false' gesetzt werden muss. Falls Normalisierung eingesetzt wird, interpretiert der Operator classify_class_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn die ihm übergebenen Merkmalsvektoren als nicht normalisiert und es wird intern eine Normalisierung durchgeführt, die durch den letzten Aufruf von train_class_knntrain_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn definiert ist.

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleKNNHandle (input_control, Zustand wird modifiziert)  class_knn HClassKnn, HTupleHTupleHClassKnn, HTupleHClassKnnX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des k-NN-Klassifikators.

GenParamNamesGenParamNamesGenParamNamesGenParamNamesGenParamNamesgenParamNames (input_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der generischen Parameter, die für das Training des k-NN-Klassifikators angepasst werden können.

Defaultwert: []

Werteliste: 'normalization'"normalization""normalization""normalization""normalization""normalization", 'num_trees'"num_trees""num_trees""num_trees""num_trees""num_trees"

GenParamValuesGenParamValuesGenParamValuesGenParamValuesGenParamValuesgenParamValues (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (integer / string / real) (int / long / string / double) (Hlong / HString / double) (Hlong / char* / double) (Hlong / BSTR / double) (Hlong / char* / double)

Werte der generischen Parameter, die für das Training des k-NN-Klassifikators angepasst werden können.

Defaultwert: []

Werteliste: 4, 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

Ergebnis

Sind die Eingabeparameter korrekt, dann liefert train_class_knntrain_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

add_sample_class_knnadd_sample_class_knnAddSampleClassKnnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnn, read_class_knnread_class_knnReadClassKnnread_class_knnReadClassKnnReadClassKnn

Alternativen

select_feature_set_knnselect_feature_set_knnSelectFeatureSetKnnselect_feature_set_knnSelectFeatureSetKnnSelectFeatureSetKnn

Siehe auch

create_class_knncreate_class_knnCreateClassKnncreate_class_knnCreateClassKnnCreateClassKnn, read_class_knnread_class_knnReadClassKnnread_class_knnReadClassKnnReadClassKnn

Literatur

Marius Muja, David G. Lowe: „Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration“; International Conference on Computer Vision Theory and Applications (VISAPP 09); 2009.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren