Signatur
Beschreibung
fann_get_sarprop_step_error_shift liest den aktuellen Wert der Schrittfehlerverschiebung (step error shift) aus dem SARPROP-Trainingsalgorithmus eines neuronalen Netzes aus. SARPROP (Simulated Annealing Resilient Backpropagation) ist eine Erweiterung des RPROP-Algorithmus und wird häufig für das Training von Feed-Forward-Netzwerken eingesetzt.
Die Schrittfehlerverschiebung beeinflusst, wie der Fehler bei der Anpassung der Gewichte im SARPROP-Algorithmus berücksichtigt wird. Ein höherer Wert kann die Konvergenz des Trainings verändern und ist ein wichtiger Hyperparameter beim Feinabstimmen des Trainingsverhaltens.
Diese Funktion ist Teil der FANN-Erweiterung (Fast Artificial Neural Network Library) für PHP und erfordert, dass die Erweiterung installiert und aktiviert ist. Den Wert kann man mit fann_set_sarprop_step_error_shift setzen.
Typischerweise wird diese Funktion verwendet, um den aktuellen Zustand eines Netzes zu inspizieren oder Trainingsparameter zu protokollieren, bevor weitere Anpassungen vorgenommen werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Netzwerk-Ressource, die zuvor mit einer der fann_create_*-Funktionen erstellt wurde. |
Rückgabewert
false zurückgegeben.Beispiele
Standardwert der Schrittfehlerverschiebung auslesen
<?php
// Neuronales Netz erstellen: 2 Eingaben, 1 versteckte Schicht mit 3 Neuronen, 1 Ausgabe
$ann = fann_create_standard(3, 2, 3, 1);
if ($ann) {
$shift = fann_get_sarprop_step_error_shift($ann);
echo "SARPROP-Schrittfehlerverschiebung: " . $shift . PHP_EOL;
fann_destroy($ann);
} else {
echo "Fehler beim Erstellen des neuronalen Netzes." . PHP_EOL;
}
?>
Wert setzen und anschließend auslesen
<?php
// Neuronales Netz erstellen
$ann = fann_create_standard(3, 2, 4, 1);
if ($ann) {
// Schrittfehlerverschiebung anpassen
fann_set_sarprop_step_error_shift($ann, 2.0);
// Neu gesetzten Wert auslesen und bestätigen
$shift = fann_get_sarprop_step_error_shift($ann);
echo "Gesetzte SARPROP-Schrittfehlerverschiebung: " . $shift . PHP_EOL;
fann_destroy($ann);
} else {
echo "Fehler beim Erstellen des neuronalen Netzes." . PHP_EOL;
}
?>
// Wichtig · Fallstricke
Die FANN-Erweiterung ist nicht standardmäßig in PHP enthalten und muss separat installiert werden (z. B. über PECL: pecl install fann). Ohne diese Erweiterung ist die Funktion nicht verfügbar und führt zu einem fatalen Fehler.
Der Standardwert der Schrittfehlerverschiebung ist typischerweise 1.385. Änderungen an diesem Parameter sollten mit Bedacht vorgenommen werden, da sie das Trainingsverhalten maßgeblich beeinflussen können. Der SARPROP-Algorithmus wird nur aktiv, wenn er explizit mit fann_set_training_algorithm und dem Parameter FANN_TRAIN_SARPROP gesetzt wurde.