train_class_knnT_train_class_knnTrainClassKnnTrainClassKnn (Operator)

Name

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

Signatur

train_class_knn( : : KNNHandle, GenParamName, GenParamValue : )

Herror T_train_class_knn(const Htuple KNNHandle, const Htuple GenParamName, const Htuple GenParamValue)

void TrainClassKnn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue)

void HClassKnn::TrainClassKnn(const HTuple& GenParamName, const HTuple& GenParamValue) const

static void HOperatorSet.TrainClassKnn(HTuple KNNHandle, HTuple genParamName, HTuple genParamValue)

void HClassKnn.TrainClassKnn(HTuple genParamName, HTuple genParamValue)

Beschreibung

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

Die Anzahl der Suchbäume kann in den generischen Parametern GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue über '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_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnn hinzugefügt werden. Die neu hinzugefügten Daten beeinflussen die Klassifikation erst, wenn train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnn erneut aufgerufen wurde.

Die automatische Merkmals-Normalisierung kann aktiviert werden, indem der Eingabeparameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamName den Wert 'normalization'"normalization""normalization""normalization""normalization" und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue an gleicher Stelle '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_knnTrainClassKnnTrainClassKnnTrainClassKnn erneut aufgerufen wird, wobei 'normalization' auf 'false' gesetzt werden muss. Falls Normalisierung eingesetzt wird, interpretiert der Operator classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnn 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_knnTrainClassKnnTrainClassKnnTrainClassKnn definiert ist.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandle (input_control, Zustand wird modifiziert)  class_knn HClassKnn, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des k-NN-Klassifikators.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  string-array HTupleHTupleHtuple (string) (string) (HString) (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", 'num_trees'"num_trees""num_trees""num_trees""num_trees"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  number-array HTupleHTupleHtuple (integer / string / real) (int / long / string / double) (Hlong / HString / double) (Hlong / char* / double)

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

Defaultwert: []

Wertevorschläge: 4, 'false'"false""false""false""false", 'true'"true""true""true""true"

Ergebnis

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

Vorgänger

add_sample_class_knnadd_sample_class_knnAddSampleClassKnnAddSampleClassKnnAddSampleClassKnn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnn

Alternativen

select_feature_set_knnselect_feature_set_knnSelectFeatureSetKnnSelectFeatureSetKnnSelectFeatureSetKnn

Siehe auch

create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnn

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