set_rejection_params_class_mlpT_set_rejection_params_class_mlpSetRejectionParamsClassMlpSetRejectionParamsClassMlpset_rejection_params_class_mlp — Setzen der Parameter einer Rückweisungsklasse.
set_rejection_params_class_mlpset_rejection_params_class_mlpSetRejectionParamsClassMlpSetRejectionParamsClassMlpset_rejection_params_class_mlp setzt die Parameter einer
automatisch generierten Rückweisungsklasse innerhalb eines
mehrschichtigen Perzeptrons (MLP), das in MLPHandleMLPHandleMLPHandleMLPHandlemlphandle
übergeben wurde. In einigen Anwendungen ist es erstrebenswert zu
wissen, ob ein Merkmalsvektor ähnlich zu einem aus der
Trainingsmenge ist. Falls ein Merkmalsvektor außerhalb der zur
Verfügung stehenden Trainingsmenge liegt, soll er als eine spezielle
Rückweisungsklasse klassifiziert werden. Das bedeutet, dass der
Merkmalsvektor sich von dem Konfidenzbereich des Klassifikators
unterscheidet. Falls man die Benutzung einer zusätzlichen
Rückweisungsklasse beabsichtigt, muss eine zusätzliche Klasse beim
Erzeugen des Klassifikators in create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpcreate_class_mlp angegeben
werden. Hier muss entsprechend der Parameter NumOutputNumOutputNumOutputnumOutputnum_output um
eins erhöht werden.
Zur Zeit existieren drei
Strategien, um Datensätze der Rückweisungsklasse zu erzeugen. Diese
Strategien können durch Setzen von GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name auf
'sampling_strategy'"sampling_strategy""sampling_strategy""sampling_strategy""sampling_strategy" und GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value auf
'hyperbox_around_all_classes'"hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes",
'hyperbox_around_each_class'"hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class" oder
'hyperbox_ring_around_each_class'"hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class" gesetzt werden. Die
Abtaststrategie 'hyperbox_around_all_classes'"hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes""hyperbox_around_all_classes" nimmt das
umschließende Rechteck um alle Trainingsdaten, die bisher angegeben
wurden. Die Abtaststrategie 'hyperbox_around_each_class'"hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class"
ist ähnlich, mit dem Unterschied, dass das umschließende Rechteck um
jede Klasse einzeln erzeugt wird, aus dem dann die Rückweisungsdaten
generiert werden. Die Abtaststrategie
'hyperbox_ring_around_each_class'"hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class" generiert Daten nur in
dem vergrößerten Bereich um das umschließende Rechteck um jede
Klasse, sozusagen nur einen Ring um die Originaldaten.
Es ist zu beachten, dass mit steigender Dimensionalität die
Abtaststrategien 'hyperbox_around_each_class'"hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class""hyperbox_around_each_class" und
'hyperbox_ring_around_each_class'"hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class""hyperbox_ring_around_each_class" das gleiche Ergebnis
liefern. Falls keine Rückweisungsklasse verwendet werden soll,
was der Standardfall ist, muss GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value auf
'no_rejection_class'"no_rejection_class""no_rejection_class""no_rejection_class""no_rejection_class" gesetzt werden.
Der Faktor
'hyperbox_tolerance'"hyperbox_tolerance""hyperbox_tolerance""hyperbox_tolerance""hyperbox_tolerance" beschreibt, um welchen das
umschließende Rechteck in alle Dimensionen vergrößert werden soll.
Innerhalb dieses Rechtecks werden zufällig Daten mit einer
gleichverteilten Wahrscheinlichkeit erzeugt. Der Standartwert
beträgt 0.2.
Die Anzahl von
Rückweisungsdaten ist die Anzahl von übergebenen Daten multipliziert
mit 'rejection_sample_factor'"rejection_sample_factor""rejection_sample_factor""rejection_sample_factor""rejection_sample_factor". Falls nicht genügend Daten
erzeugt werden, wird die Rückweisungsklasse nicht korrekt
klassifiziert. Falls die Rückweisungsklasse zu viele Daten enthält,
werden normale Klassen als Rückweisungsklasse klassifiziert. Der
Standardwert beträgt 1.0.
Die Trainingsdauer wird um den Faktor erhöht, wobei
der Wert aus 'rejection_sample_factor'"rejection_sample_factor""rejection_sample_factor""rejection_sample_factor""rejection_sample_factor" ist.
Um reproduzierbare Ergebnisse
sicherzustellen, kann mit 'random_seed'"random_seed""random_seed""random_seed""random_seed" ein Anfangswert für
den Zufallsgenerator gesetzt werden. Der Standardwert beträgt 42.
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.
Sind die Parameterwerte korrekt, dann liefert
set_rejection_params_class_mlpset_rejection_params_class_mlpSetRejectionParamsClassMlpSetRejectionParamsClassMlpset_rejection_params_class_mlp den Wert 2 (
H_MSG_TRUE)
.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.