Start · Sprachen · PHP · Referenz · fann_get_quickprop_decay

fann_get_quickprop_decay

Funktion

Gibt den Quickprop-Decay-Faktor des neuronalen Netzes zurück, der das Gewichtswachstum beim Quickprop-Training begrenzt.

seit PHP 5.6.0 Kategorie: misc

Signatur

fann_get_quickprop_decay(resource $ann): float

Beschreibung

fann_get_quickprop_decay liefert den aktuell eingestellten Decay-Faktor (Zerfallsrate) für den Quickprop-Trainingsalgorithmus eines FANN-Netzwerks (Fast Artificial Neural Network). Der Decay-Faktor ist ein kleiner negativer Wert, der dazu dient, die Gewichte im Netz leicht zu bestrafen und so ein unbegrenztes Anwachsen der Verbindungsgewichte zu verhindern.

Quickprop ist ein schneller Backpropagation-Algorithmus, der im Gegensatz zum Standard-Gradientenabstieg Informationen über die zweite Ableitung der Fehlerfunktion nutzt. Der Decay-Wert wirkt als Regularisierungsterm: Je größer der Betrag dieses (negativen) Wertes, desto stärker werden große Gewichte bestraft und desto kleiner bleiben die erlernten Gewichte insgesamt.

Der Standardwert beträgt typischerweise -0.0001. Um den Wert zu verändern, wird fann_set_quickprop_decay verwendet. Diese Funktion ist Teil der FANN-PHP-Erweiterung und setzt eine installierte fann-Bibliothek voraus.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netzwerk-Ressource, die zuvor mit fann_create_standard oder einer ähnlichen Funktion erstellt wurde.

Rückgabewert

Typ
float
Beschreibung
Gibt den aktuellen Quickprop-Decay-Faktor als Gleitkommazahl zurück. Im Fehlerfall (ungültige Ressource) wird false zurückgegeben.

Beispiele

Aktuellen Quickprop-Decay-Faktor auslesen

<?php
// Neuronales Netz mit 2 Eingaben, 1 versteckter Schicht (3 Neuronen) und 1 Ausgabe erstellen
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    // Quickprop-Trainingsalgorithmus setzen
    fann_set_training_algorithm($ann, FANN_TRAIN_QUICKPROP);

    // Aktuellen Decay-Faktor auslesen
    $decay = fann_get_quickprop_decay($ann);
    echo "Quickprop Decay-Faktor: " . $decay . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des neuronalen Netzes." . PHP_EOL;
}
?>
Quickprop Decay-Faktor: -0.0001

Decay-Faktor auslesen und anpassen

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

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

    // Vorherigen Wert sichern
    $oldDecay = fann_get_quickprop_decay($ann);
    echo "Alter Decay-Faktor: " . $oldDecay . PHP_EOL;

    // Neuen, stärkeren Decay-Faktor setzen
    fann_set_quickprop_decay($ann, -0.0005);

    // Neuen Wert prüfen
    $newDecay = fann_get_quickprop_decay($ann);
    echo "Neuer Decay-Faktor: " . $newDecay . PHP_EOL;

    fann_destroy($ann);
}
?>
Alter Decay-Faktor: -0.0001 Neuer Decay-Faktor: -0.0005

// Wichtig · Fallstricke

Hinweis: Diese Funktion ist nur verfügbar, wenn die PHP-FANN-Erweiterung installiert und aktiviert ist. Der Decay-Faktor wird nur beim Quickprop-Algorithmus (FANN_TRAIN_QUICKPROP) berücksichtigt; bei anderen Trainingsalgorithmen wie FANN_TRAIN_RPROP oder FANN_TRAIN_BACKPROP hat dieser Wert keinen Einfluss.

Der Decay-Wert sollte stets negativ sein. Ein Wert von 0.0 deaktiviert den Decay-Effekt, während zu große negative Werte dazu führen können, dass das Netz schlechter konvergiert, da die Gewichte zu stark bestraft werden.