Start · Sprachen · PHP · Referenz · fann_set_cascade_max_cand_epochs

fann_set_cascade_max_cand_epochs

Funktion

Setzt die maximale Anzahl der Epochen, die beim Training von Kandidaten-Neuronen im Cascade-Correlation-Verfahren verwendet werden.

seit PHP 5.3.0 Kategorie: misc

Signatur

fann_set_cascade_max_cand_epochs(resource $ann, int $cascade_max_cand_epochs): bool

Beschreibung

fann_set_cascade_max_cand_epochs legt fest, wie viele Trainings-Epochen maximal durchgeführt werden, wenn im Cascade-Correlation-Algorithmus neue Kandidaten-Neuronen trainiert werden. Dieser Wert begrenzt die Trainingszeit für einzelne Kandidaten und verhindert, dass das Training unendlich lang läuft, ohne ausreichenden Fortschritt zu erzielen.

Cascade-Correlation ist ein konstruktives neuronales Netz-Verfahren, bei dem schrittweise neue versteckte Neuronen hinzugefügt werden. Für jeden neuen Kandidaten wird zunächst eine begrenzte Anzahl von Epochen trainiert, um die am besten geeigneten Kandidaten zu identifizieren. Je höher dieser Wert, desto länger wird jeder Kandidat trainiert – was zu besseren Ergebnissen führen kann, aber auch die Gesamttrainingszeit erhöht.

Der Standardwert ist typischerweise 150 Epochen. Dieser Wert sollte in Balance mit fann_set_cascade_min_cand_epochs gesetzt werden, um ein effizientes Training zu gewährleisten. Zu niedrige Werte können dazu führen, dass gute Kandidaten übersehen werden; zu hohe Werte verlängern die Trainingszeit unnötig.

Die Funktion gehört zur FANN-Erweiterung (Fast Artificial Neural Network) und erfordert, dass diese in PHP aktiviert ist.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Ressource, die mit fann_create_standard, fann_create_sparse oder einer ähnlichen Funktion erstellt wurde.
$cascade_max_cand_epochs Pflicht int Die maximale Anzahl der Epochen, die für das Training jedes Kandidaten-Neurons verwendet werden. Muss eine positive ganze Zahl sein und sollte größer oder gleich dem Wert von fann_get_cascade_min_cand_epochs sein.

Rückgabewert

Typ
bool
Beschreibung
Gibt true zurück, wenn der Wert erfolgreich gesetzt wurde, andernfalls false – beispielsweise wenn die übergebene Ressource ungültig ist.

Beispiele

Maximale Kandidaten-Epochen für Cascade-Training setzen

<?php
// Neuronales Netz erstellen: 2 Eingaben, 1 Ausgabe
$ann = fann_create_standard(2, 2, 1);

if ($ann) {
    // Maximale Kandidaten-Epochen auf 200 setzen
    if (fann_set_cascade_max_cand_epochs($ann, 200)) {
        echo "Maximale Kandidaten-Epochen erfolgreich gesetzt: ";
        echo fann_get_cascade_max_cand_epochs($ann) . PHP_EOL;
    } else {
        echo "Fehler beim Setzen der maximalen Kandidaten-Epochen." . PHP_EOL;
    }

    fann_destroy($ann);
}
Maximale Kandidaten-Epochen erfolgreich gesetzt: 200

Min- und Max-Kandidaten-Epochen gemeinsam konfigurieren

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

if ($ann) {
    // Mindest- und Höchstgrenzen für Kandidaten-Epochen setzen
    fann_set_cascade_min_cand_epochs($ann, 50);
    fann_set_cascade_max_cand_epochs($ann, 300);

    echo "Min. Kandidaten-Epochen: " . fann_get_cascade_min_cand_epochs($ann) . PHP_EOL;
    echo "Max. Kandidaten-Epochen: " . fann_get_cascade_max_cand_epochs($ann) . PHP_EOL;

    // Cascade-Training auf Trainingsdaten anwenden
    $train_data = fann_read_train_from_file('training_data.data');
    if ($train_data) {
        fann_cascadetrain_on_data($ann, $train_data, 500, 10, 0.0001);
        fann_save($ann, 'trained_network.net');
        fann_destroy_train($train_data);
    }

    fann_destroy($ann);
}
Min. Kandidaten-Epochen: 50 Max. Kandidaten-Epochen: 300

// Wichtig · Fallstricke

Hinweis zur FANN-Erweiterung: Die FANN-Erweiterung ist nicht standardmäßig in PHP enthalten und muss separat installiert oder kompiliert werden. Ab PHP 7.x ist die Unterstützung eingeschränkt; für neuere PHP-Versionen sollte die Verfügbarkeit vorab geprüft werden.

Wertebereich: Der Wert für cascade_max_cand_epochs muss größer oder gleich dem Wert der minimalen Kandidaten-Epochen sein (gesetzt via fann_set_cascade_min_cand_epochs). Ein inkonsistentes Verhältnis kann zu unerwartetem Verhalten beim Training führen.

Performance: Sehr hohe Werte erhöhen die Trainingszeit erheblich. Es empfiehlt sich, mit dem Standardwert (150) zu beginnen und den Wert bei Bedarf schrittweise anzupassen.