add_sample_class_mlpT_add_sample_class_mlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp (Operator)
Name
add_sample_class_mlpT_add_sample_class_mlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp — Hinzufügen eines Trainingsmusters zu den Trainingsdaten eines
mehrschichtigen Perzeptrons.
Signatur
def add_sample_class_mlp(mlphandle: HHandle, features: Sequence[float], target: MaybeSequence[Union[int, float]]) -> None
Beschreibung
add_sample_class_mlpadd_sample_class_mlpAddSampleClassMlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp fügt ein Trainingsmuster zu dem durch
MLPHandleMLPHandleMLPHandleMLPHandleMLPHandlemlphandle gegebenen mehrschichtigen Perzeptron (MLP) hinzu.
Das Trainingsmuster wird durch FeaturesFeaturesFeaturesFeaturesfeaturesfeatures und TargetTargetTargetTargettargettarget
beschrieben. FeaturesFeaturesFeaturesFeaturesfeaturesfeatures ist der Merkmalsvektor des Musters
und muss folglich die Länge NumInputNumInputNumInputNumInputnumInputnum_input besitzen, die in
create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp angegeben worden ist. TargetTargetTargetTargettargettarget ist
der Zielvektor des Musters, der für alle drei
Aktivierungsfunktionen in der Ausgabeschicht des MLP (siehe
create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp) die Länge NumOutputNumOutputNumOutputNumOutputnumOutputnum_output besitzen
muss und aus reellen Zahlen bestehen muss (Ausnahme: s.u.). Falls
das MLP zur Regression (Funktionsapproximation) verwendet wird
(OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'linear'"linear""linear""linear""linear""linear"), ist TargetTargetTargetTargettargettarget
der Funktionswert der Funktion an der Koordinate FeaturesFeaturesFeaturesFeaturesfeaturesfeatures.
In diesem Fall kann TargetTargetTargetTargettargettarget beliebige reelle Zahlen
beinhalten. Für OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'logistic'"logistic""logistic""logistic""logistic""logistic"
können in TargetTargetTargetTargettargettarget nur die Werte 0.0 und
1.0 angegeben werden. Ein Wert von 1.0
spezifiziert das Vorhandensein des jeweiligen Attributes, während
0.0 die Abwesenheit des Attributes spezifiziert. Da in
diesem Fall die Attribute unabhängig voneinander anwesend oder
abwesend sein können, können beliebige Kombinationen von
0.0 und 1.0 übergeben werden. Für
OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'softmax'"softmax""softmax""softmax""softmax""softmax" dürfen die Werte von
TargetTargetTargetTargettargettarget auch nur 0.0 und 1.0 enthalten.
Im Gegensatz zu OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'logistic'"logistic""logistic""logistic""logistic""logistic" muss
der Wert 1.0 an genau einer Stelle des Tupels
TargetTargetTargetTargettargettarget vorkommen. Die Stelle des Tupels bezeichnet die
Klasse des Musters. Zur Vereinfachung kann für
OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'softmax'"softmax""softmax""softmax""softmax""softmax" auch ein einzelner
ganzzahliger Wert übergeben werden, der direkt die Klasse des
Musters bezeichnet. Hierbei werden die Klassen von 0 ab gezählt,
d.h. die Klasse muss ein Wert zwischen 0 und NumOutputNumOutputNumOutputNumOutputnumOutputnum_output -
1 sein. Intern wird die Klasse in einen Zielvektor der Länge
NumOutputNumOutputNumOutputNumOutputnumOutputnum_output konvertiert.
Bevor das MLP mit train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlptrain_class_mlp trainiert werden kann,
müssen alle Trainingsmuster mit
add_sample_class_mlpadd_sample_class_mlpAddSampleClassMlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp zum MLP hinzugefügt werden.
Die Anzahl der abgespeicherten Trainingsmuster kann mit
get_sample_num_class_mlpget_sample_num_class_mlpGetSampleNumClassMlpGetSampleNumClassMlpGetSampleNumClassMlpget_sample_num_class_mlp abgefragt werden. Einzelne
Trainingsmuster können mit get_sample_class_mlpget_sample_class_mlpGetSampleClassMlpGetSampleClassMlpGetSampleClassMlpget_sample_class_mlp wieder
ausgelesen werden.
Im Normalfall ist es günstig, die Trainingsmuster mit
write_samples_class_mlpwrite_samples_class_mlpWriteSamplesClassMlpWriteSamplesClassMlpWriteSamplesClassMlpwrite_samples_class_mlp in eine Datei zu speichern, damit
sie wiederverwendet werden können, und damit bei Bedarf neue
Trainingsmuster zum Datensatz hinzugefügt werden können, und ein
neu erzeugtes MLP mit dem erweiterten Datensatz
neu trainiert werden kann.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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
MLPHandleMLPHandleMLPHandleMLPHandleMLPHandlemlphandle (input_control, Zustand wird modifiziert) class_mlp → HClassMlp, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des MLP.
FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (input_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Merkmalsvektor des zu speichernden
Trainingsmusters.
TargetTargetTargetTargettargettarget (input_control) number(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Klasse oder Zielvektor des zu speichernden
Trainingsmusters.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
add_sample_class_mlpadd_sample_class_mlpAddSampleClassMlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Vorgänger
create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp
Nachfolger
train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlptrain_class_mlp,
write_samples_class_mlpwrite_samples_class_mlpWriteSamplesClassMlpWriteSamplesClassMlpWriteSamplesClassMlpwrite_samples_class_mlp
Alternativen
read_samples_class_mlpread_samples_class_mlpReadSamplesClassMlpReadSamplesClassMlpReadSamplesClassMlpread_samples_class_mlp
Siehe auch
clear_samples_class_mlpclear_samples_class_mlpClearSamplesClassMlpClearSamplesClassMlpClearSamplesClassMlpclear_samples_class_mlp,
get_sample_num_class_mlpget_sample_num_class_mlpGetSampleNumClassMlpGetSampleNumClassMlpGetSampleNumClassMlpget_sample_num_class_mlp,
get_sample_class_mlpget_sample_class_mlpGetSampleClassMlpGetSampleClassMlpGetSampleClassMlpget_sample_class_mlp
Modul
Foundation