Start · Sprachen · PHP · Referenz · fann_get_cascade_candidate_stagnation_epochs

fann_get_cascade_candidate_stagnation_epochs

Funktion

Gibt die Anzahl der Cascade-Candidate-Stagnation-Epochen eines FANN-Netzes zurück.

seit PHP 5.2.0 Kategorie: misc

Signatur

fann_get_cascade_candidate_stagnation_epochs(resource $ann): int

Beschreibung

fann_get_cascade_candidate_stagnation_epochs liest aus einem bestehenden FANN-Netz (Fast Artificial Neural Network) die Anzahl der Epochen aus, nach denen ein Kandidaten-Neuron als stagnierend gilt. Stagnation bedeutet dabei, dass sich der Fehler eines Kandidaten-Neurons über diese Anzahl von Epochen hinweg nicht ausreichend verbessert hat.

Im Cascade-Correlation-Algorithmus werden Kandidaten-Neuronen solange trainiert, bis entweder eine ausreichende Fehlerverbesserung erzielt wurde oder die maximale Anzahl an Kandidaten-Epochen überschritten wurde. Die Stagnation-Epochen definieren, nach wie vielen aufeinanderfolgenden Epochen ohne signifikante Verbesserung das Training eines Kandidaten abgebrochen wird.

Dieser Wert ist ein wichtiger Tuning-Parameter für das Cascade-Training: Ein zu kleiner Wert kann dazu führen, dass vielversprechende Kandidaten zu früh verworfen werden, während ein zu großer Wert das Training unnötig verlangsamt. Der Standardwert beträgt typischerweise 12 Epochen.

Mit fann_set_cascade_candidate_stagnation_epochs kann dieser Wert angepasst werden.

Parameter

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

Rückgabewert

Typ
int
Beschreibung
Gibt die Anzahl der Cascade-Candidate-Stagnation-Epochen als positive Ganzzahl zurück, oder false bei einem Fehler (z. B. ungültige Ressource).

Beispiele

Stagnation-Epochen eines FANN-Netzes auslesen

<?php
// FANN-Netz erstellen
$ann = fann_create_standard(3, 2, 4, 1);

if ($ann) {
    // Aktuelle Stagnation-Epochen ausgeben
    $stagnationEpochs = fann_get_cascade_candidate_stagnation_epochs($ann);
    echo "Cascade Candidate Stagnation Epochs: " . $stagnationEpochs . PHP_EOL;

    // Ressource freigeben
    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des FANN-Netzes." . PHP_EOL;
}
?>
Cascade Candidate Stagnation Epochs: 12

Stagnation-Epochen lesen, anpassen und bestätigen

<?php
// FANN-Netz aus einer Datei laden
$ann = fann_create_from_file('mein_netz.net');

if ($ann) {
    // Aktuellen Wert lesen
    $altWert = fann_get_cascade_candidate_stagnation_epochs($ann);
    echo "Alter Wert: " . $altWert . PHP_EOL;

    // Wert auf 20 setzen
    fann_set_cascade_candidate_stagnation_epochs($ann, 20);

    // Neuen Wert bestätigen
    $neuerWert = fann_get_cascade_candidate_stagnation_epochs($ann);
    echo "Neuer Wert: " . $neuerWert . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Fehler beim Laden des FANN-Netzes." . PHP_EOL;
}
?>
Alter Wert: 12 Neuer Wert: 20

// Wichtig · Fallstricke

Hinweis: Diese Funktion ist nur verfügbar, wenn die PHP-FANN-Erweiterung installiert und aktiviert ist. Sie kann über PECL installiert werden (pecl install fann). Stellen Sie sicher, dass die Bibliothek libfann auf dem System vorhanden ist.

Die Funktion ist ausschließlich für Netze relevant, die mit dem Cascade-Correlation-Trainingsalgorithmus trainiert werden (FANN_TRAIN_CASCADE). Bei anderen Trainingsalgorithmen hat dieser Parameter keine Auswirkung.