Start · Sprachen · PHP · Referenz · fann_set_cascade_min_cand_epochs

fann_set_cascade_min_cand_epochs

Funktion

Setzt die minimale Anzahl der Epochen, die ein Kandidaten-Neuron während des Cascade-Correlation-Trainings trainiert wird.

seit PHP 5.3.0 Kategorie: misc

Signatur

fann_set_cascade_min_cand_epochs(resource $ann, int $cascade_min_cand_epochs): bool

Beschreibung

fann_set_cascade_min_cand_epochs legt die Mindestanzahl von Epochen fest, die jeder Kandidat (potenzielle neue Neuronen) im Cascade-Correlation-Algorithmus mindestens trainiert werden muss, bevor er als Kandidat für die Aufnahme in das Netzwerk bewertet wird. Dies ist ein Steuerparameter für das Cascade-Correlation-Trainingsverfahren (Cascade-2 bzw. Cascade-Correlation).

Der Cascade-Correlation-Algorithmus trainiert zunächst eine Gruppe von Kandidaten-Neuronen parallel, bis ein Abbruchkriterium erfüllt ist. Der Parameter cascade_min_cand_epochs stellt sicher, dass jeder Kandidat mindestens eine bestimmte Anzahl von Epochen trainiert wird, selbst wenn das Abbruchkriterium bereits früher erfüllt wäre.

Ein höherer Mindestwert kann verhindern, dass Kandidaten zu früh abgebrochen werden und gibt ihnen mehr Zeit, ihr Potenzial zu entfalten. Ein zu hoher Wert kann jedoch das Training unnötig verlangsamen. Der Standardwert ist typischerweise 50.

Diese Funktion gehört zur FANN-Erweiterung (Fast Artificial Neural Network Library) für PHP und ist nur verfügbar, wenn die entsprechende Extension installiert ist.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Ressource, die mit fann_create_standard, fann_create_sparse oder fann_create_shortcut erstellt wurde.
$cascade_min_cand_epochs Pflicht int Die minimale Anzahl der Epochen, die ein Kandidaten-Neuron im Cascade-Correlation-Training mindestens absolvieren muss. Muss ein positiver ganzzahliger Wert sein.

Rückgabewert

Typ
bool
Beschreibung
Gibt true zurück, wenn der Wert erfolgreich gesetzt wurde, andernfalls false (z. B. bei einer ungültigen FANN-Ressource oder einem ungültigen Wert).

Beispiele

Minimale Kandidaten-Epochen für Cascade-Training setzen

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

if ($ann) {
    // Minimale Kandidaten-Epochen auf 100 setzen
    if (fann_set_cascade_min_cand_epochs($ann, 100)) {
        echo "cascade_min_cand_epochs erfolgreich gesetzt." . PHP_EOL;

        // Aktuellen Wert zur Kontrolle ausgeben
        $value = fann_get_cascade_min_cand_epochs($ann);
        echo "Aktueller Wert: " . $value . PHP_EOL;
    } else {
        echo "Fehler beim Setzen des Wertes." . PHP_EOL;
    }

    fann_destroy($ann);
}
?>
cascade_min_cand_epochs erfolgreich gesetzt. Aktueller Wert: 100

Cascade-Training mit angepassten Epochen-Grenzen

<?php
// Netz erstellen
$ann = fann_create_shortcut(2, 2, 1);

if ($ann) {
    // Minimale und maximale Kandidaten-Epochen konfigurieren
    fann_set_cascade_min_cand_epochs($ann, 50);
    fann_set_cascade_max_cand_epochs($ann, 200);

    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;

    // Trainingsdaten laden und Cascade-Training starten
    $train_data = fann_read_train_from_file('xor.data');
    if ($train_data) {
        fann_cascadetrain_on_data($ann, $train_data, 300, 1, 0.001);
        fann_save($ann, 'xor_cascade.net');
        fann_destroy_train($train_data);
    }

    fann_destroy($ann);
}
?>
Min. Kandidaten-Epochen: 50 Max. Kandidaten-Epochen: 200

// Wichtig · Fallstricke

Achtung: Die FANN-Erweiterung ist eine PECL-Extension und muss separat installiert und in der php.ini aktiviert werden. Ab PHP 8.0 ist die Verfügbarkeit eingeschränkt — prüfe die Kompatibilität mit deiner PHP-Version.

Der Wert für cascade_min_cand_epochs sollte stets kleiner oder gleich dem Wert von cascade_max_cand_epochs sein, der mit fann_set_cascade_max_cand_epochs gesetzt wird. Andernfalls kann es zu unerwartetem Verhalten beim Training kommen.

Diese Funktion ist nur für das Cascade-Correlation-Trainingsverfahren (fann_cascadetrain_on_data) relevant und hat keinen Einfluss auf das Standard-Backpropagation-Training.