add_sample_class_mlp
— Hinzufügen eines Trainingsmusters zu den Trainingsdaten eines
mehrschichtigen Perzeptrons.
add_sample_class_mlp
fügt ein Trainingsmuster zu dem durch
MLPHandle
gegebenen mehrschichtigen Perzeptron (MLP) hinzu.
Das Trainingsmuster wird durch Features
und Target
beschrieben. Features
ist der Merkmalsvektor des Musters
und muss folglich die Länge NumInput
besitzen, die in
create_class_mlp
angegeben worden ist. Target
ist
der Zielvektor des Musters, der für alle drei
Aktivierungsfunktionen in der Ausgabeschicht des MLP (siehe
create_class_mlp
) die Länge NumOutput
besitzen
muss und aus reellen Zahlen bestehen muss (Ausnahme: s.u.). Falls
das MLP zur Regression (Funktionsapproximation) verwendet wird
(OutputFunction
= 'linear' ), ist Target
der Funktionswert der Funktion an der Koordinate Features
.
In diesem Fall kann Target
beliebige reelle Zahlen
beinhalten. Für OutputFunction
= 'logistic'
können in Target
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
OutputFunction
= 'softmax' dürfen die Werte von
Target
auch nur 0.0 und 1.0 enthalten.
Im Gegensatz zu OutputFunction
= 'logistic' muss
der Wert 1.0 an genau einer Stelle des Tupels
Target
vorkommen. Die Stelle des Tupels bezeichnet die
Klasse des Musters. Zur Vereinfachung kann für
OutputFunction
= '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 NumOutput
-
1 sein. Intern wird die Klasse in einen Zielvektor der Länge
NumOutput
konvertiert.
Bevor das MLP mit train_class_mlp
trainiert werden kann,
müssen alle Trainingsmuster mit
add_sample_class_mlp
zum MLP hinzugefügt werden.
Die Anzahl der abgespeicherten Trainingsmuster kann mit
get_sample_num_class_mlp
abgefragt werden. Einzelne
Trainingsmuster können mit get_sample_class_mlp
wieder
ausgelesen werden.
Im Normalfall ist es günstig, die Trainingsmuster mit
write_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.
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.
MLPHandle
(input_control, Zustand wird modifiziert) class_mlp →
(handle)
Handle des MLP.
Features
(input_control) real-array →
(real)
Merkmalsvektor des zu speichernden Trainingsmusters.
Target
(input_control) number(-array) →
(integer / real)
Klasse oder Zielvektor des zu speichernden Trainingsmusters.
Sind die Parameterwerte korrekt, dann liefert
add_sample_class_mlp
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
train_class_mlp
,
write_samples_class_mlp
clear_samples_class_mlp
,
get_sample_num_class_mlp
,
get_sample_class_mlp
Foundation