Start · Sprachen · PHP · Referenz · fann_get_sarprop_weight_decay_shift

fann_get_sarprop_weight_decay_shift

Funktion

Gibt die SARPROP-Gewichts-Decay-Verschiebung (Weight Decay Shift) des neuronalen Netzes zurück.

seit PHP 5.3.0 Kategorie: misc

Signatur

fann_get_sarprop_weight_decay_shift(resource $ann): float

Beschreibung

fann_get_sarprop_weight_decay_shift liest den aktuellen Wert der Gewichts-Decay-Verschiebung (weight decay shift) aus einem neuronalen Netz, das mit dem SARPROP-Trainingsalgorithmus trainiert wird. Der Rückgabewert ist ein Gleitkommazahl, die den Verschiebungsparameter für den Gewichts-Verfall beschreibt.

Der SARPROP-Algorithmus (Self-Adapting Resilient Propagation) ist eine Erweiterung des RPROP-Verfahrens und enthält mehrere Hyperparameter, darunter den Weight Decay Shift. Dieser Parameter beeinflusst, wie stark die Gewichte während des Trainings verkleinert werden, um Überanpassung (Overfitting) zu reduzieren.

Diese Funktion ist Teil der FANN-Erweiterung (Fast Artificial Neural Network Library) für PHP und setzt voraus, dass das PHP-FANN-Modul installiert und aktiviert ist. Sie ist nützlich, wenn man die aktuellen Trainingsparameter eines Netzes überprüfen oder protokollieren möchte, bevor oder nachdem man sie mit fann_set_sarprop_weight_decay_shift anpasst.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netzwerk-Ressource, die zuvor mit z. B. fann_create_standard oder fann_create_from_file erzeugt wurde.

Rückgabewert

Typ
float
Beschreibung
Gibt den aktuellen Wert der SARPROP-Gewichts-Decay-Verschiebung als float zurück. Schlägt der Aufruf fehl (z. B. ungültige Ressource), wird false zurückgegeben.

Beispiele

SARPROP Weight Decay Shift 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) {
    // Trainingsalgorithmus auf SARPROP setzen
    fann_set_training_algorithm($ann, FANN_TRAIN_SARPROP);

    // Aktuellen Weight Decay Shift auslesen
    $weightDecayShift = fann_get_sarprop_weight_decay_shift($ann);
    echo "SARPROP Weight Decay Shift: " . $weightDecayShift . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des neuronalen Netzes." . PHP_EOL;
}
?>
SARPROP Weight Decay Shift: -6.644

Weight Decay Shift setzen und anschließend überprüfen

<?php
$ann = fann_create_standard(3, 2, 4, 1);

if ($ann) {
    fann_set_training_algorithm($ann, FANN_TRAIN_SARPROP);

    // Neuen Wert setzen
    fann_set_sarprop_weight_decay_shift($ann, -6.0);

    // Gesetzten Wert zurücklesen und überprüfen
    $shift = fann_get_sarprop_weight_decay_shift($ann);
    echo "Neuer SARPROP Weight Decay Shift: " . $shift . PHP_EOL;

    fann_destroy($ann);
}
?>
Neuer SARPROP Weight Decay Shift: -6

// Wichtig · Fallstricke

Voraussetzung: Die FANN-Erweiterung muss in PHP installiert sein (PECL-Paket fann). Der SARPROP-Trainingsalgorithmus muss aktiv gesetzt sein (fann_set_training_algorithm($ann, FANN_TRAIN_SARPROP)), damit dieser Parameter relevant ist. Bei anderen Trainingsalgorithmen wie RPROP oder Backpropagation hat der Wert keine Auswirkung auf das Training.

Der Standardwert für den SARPROP-Gewichts-Decay-Shift ist laut FANN-Dokumentation in der Regel -6.644. Änderungen an diesem Parameter sollten nur vorgenommen werden, wenn man die Auswirkungen auf das Lernverhalten des Netzes versteht.