Start · Sprachen · PHP · Referenz · fann_get_cascade_max_out_epochs

fann_get_cascade_max_out_epochs

Funktion

Gibt die maximale Anzahl der Ausgabe-Epochen (Out-Epochen) zurück, die beim Cascade-Correlation-Training verwendet werden.

seit PHP 5.3.0 Kategorie: misc

Signatur

fann_get_cascade_max_out_epochs(resource $ann): int

Beschreibung

fann_get_cascade_max_out_epochs() liest aus einem FANN-Netzwerk (Fast Artificial Neural Network) den Konfigurationswert für die maximale Anzahl der sogenannten Out-Epochen aus. Out-Epochen beschreiben die Trainingsiterationen, die ausgeführt werden, um die Ausgabe-Gewichte anzupassen, nachdem eine neue versteckte Neuron-Kandidat-Schicht dem Netzwerk im Rahmen des Cascade-Correlation-Algorithmus hinzugefügt wurde.

Beim Cascade-Correlation-Training wird das Netzwerk schrittweise aufgebaut: Zuerst werden Kandidatenneuronen trainiert (In-Epochen), anschließend wird das Ausgabeverhalten des gesamten Netzwerks mit den Out-Epochen optimiert. Diese Funktion gibt den oberen Grenzwert dieser Out-Epochen zurück, damit das Training nicht endlos läuft.

Der zurückgegebene Wert lässt sich mit fann_set_cascade_max_out_epochs() anpassen. Typisch sind Werte zwischen 100 und 1000, je nach Komplexität der Aufgabe und gewünschter Trainingsgenauigkeit.

Diese Funktion ist Teil der FANN-Erweiterung (ext/fann) und erfordert, dass PHP mit der entsprechenden Bibliothek kompiliert oder als Erweiterung geladen wurde.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine FANN-Netzwerk-Ressource, die zuvor mit fann_create_standard(), fann_create_sparse() oder einer ähnlichen Funktion erzeugt wurde.

Rückgabewert

Typ
int
Beschreibung
Gibt die aktuell eingestellte maximale Anzahl der Out-Epochen als ganzzahligen Wert zurück. Im Fehlerfall (ungültige Ressource) wird false zurückgegeben.

Beispiele

Maximale Out-Epochen auslesen und ausgeben

<?php
// FANN-Netzwerk erstellen (3 Schichten: 2 Eingaben, 3 versteckte, 1 Ausgabe)
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    $max_out_epochs = fann_get_cascade_max_out_epochs($ann);
    echo "Maximale Out-Epochen: " . $max_out_epochs . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des Netzwerks." . PHP_EOL;
}
?>
Maximale Out-Epochen: 150

Out-Epochen lesen, anpassen und verifizieren

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

if ($ann) {
    // Aktuellen Wert auslesen
    $vorher = fann_get_cascade_max_out_epochs($ann);
    echo "Vorher: " . $vorher . PHP_EOL;

    // Wert auf 500 setzen
    fann_set_cascade_max_out_epochs($ann, 500);

    // Neuen Wert verifizieren
    $nachher = fann_get_cascade_max_out_epochs($ann);
    echo "Nachher: " . $nachher . PHP_EOL;

    fann_destroy($ann);
}
?>
Vorher: 150 Nachher: 500

// Wichtig · Fallstricke

Die FANN-Erweiterung muss in PHP installiert und aktiviert sein (z. B. über extension=fann in der php.ini). Ohne diese Erweiterung sind alle fann_*-Funktionen nicht verfügbar.

Der Standardwert der maximalen Out-Epochen beträgt üblicherweise 150, kann aber je nach FANN-Version variieren. Ein zu niedriger Wert kann dazu führen, dass das Netzwerk nicht ausreichend trainiert wird; ein zu hoher Wert verlängert die Trainingszeit erheblich.

Diese Funktion ist nur relevant, wenn das Netzwerk mit fann_cascadetrain_on_data() oder verwandten Cascade-Trainings-Funktionen trainiert wird. Für standard Backpropagation-Training hat dieser Wert keine Auswirkung.