Start · Sprachen · PHP · Referenz · fann_get_cascade_candidate_change_fraction

fann_get_cascade_candidate_change_fraction

Funktion

Gibt den Cascade-Candidate-Change-Fraction-Wert eines FANN-Netzwerks zurück, der steuert, wann das Training eines Kandidaten-Neurons als stagnierend gilt.

seit PHP 5.2.0 Kategorie: misc

Signatur

fann_get_cascade_candidate_change_fraction(resource $ann): float

Beschreibung

Die Funktion fann_get_cascade_candidate_change_fraction gibt den aktuellen Wert der Candidate-Change-Fraction für ein neuronales Netzwerk zurück, das mit dem FANN-Algorithmus (Fast Artificial Neural Network) arbeitet, speziell im Cascade-Correlation-Training.

Die Candidate-Change-Fraction definiert den minimalen relativen Verbesserungsanteil, den ein Kandidaten-Neuron innerhalb einer bestimmten Anzahl von Epochen erzielen muss, um als noch lernend zu gelten. Unterschreitet die Verbesserung diesen Schwellwert, wird das Training des Kandidaten als stagnierend betrachtet und möglicherweise beendet. Der Wert liegt typischerweise zwischen 0.0 und 1.0.

Diese Einstellung ist besonders relevant beim Cascade-Correlation-Algorithmus, bei dem schrittweise neue versteckte Neuronen hinzugefügt werden. Die Candidate-Change-Fraction beeinflusst, wie lange Kandidaten-Neuronen trainiert werden, bevor das beste ausgewählt und in das Netzwerk integriert wird.

Den Wert kann man mit fann_set_cascade_candidate_change_fraction anpassen, um das Gleichgewicht zwischen Trainingsgeschwindigkeit und Qualität der Kandidaten zu steuern.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netzwerk-Ressource, die zuvor mit Funktionen wie fann_create_standard oder fann_create_from_file erstellt wurde.

Rückgabewert

Typ
float
Beschreibung
Gibt den aktuellen Cascade-Candidate-Change-Fraction-Wert als float zurück. Im Fehlerfall (ungültige Ressource) wird false zurückgegeben.

Beispiele

Aktuellen Candidate-Change-Fraction-Wert auslesen

<?php
// Erstelle ein einfaches Cascade-FANN-Netzwerk mit 2 Eingaben und 1 Ausgabe
$ann = fann_create_shortcut(2, 1);

if ($ann) {
    // Standardwert der Candidate-Change-Fraction auslesen
    $fraction = fann_get_cascade_candidate_change_fraction($ann);
    echo "Candidate Change Fraction: " . $fraction . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des Netzwerks." . PHP_EOL;
}
?>
Candidate Change Fraction: 0.01

Wert lesen, anpassen und verifizieren

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

if ($ann) {
    // Aktuellen Wert auslesen
    $oldFraction = fann_get_cascade_candidate_change_fraction($ann);
    echo "Alter Wert: " . $oldFraction . PHP_EOL;

    // Neuen Wert setzen (z. B. höhere Sensitivität gegenüber Stagnation)
    fann_set_cascade_candidate_change_fraction($ann, 0.05);

    // Neuen Wert verifizieren
    $newFraction = fann_get_cascade_candidate_change_fraction($ann);
    echo "Neuer Wert: " . $newFraction . PHP_EOL;

    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des Netzwerks." . PHP_EOL;
}
?>
Alter Wert: 0.01 Neuer Wert: 0.05

// Wichtig · Fallstricke

Diese Funktion ist nur verfügbar, wenn die FANN-Erweiterung installiert und aktiviert ist. Sie ist ausschließlich für Netzwerke sinnvoll, die mit dem Cascade-Correlation-Algorithmus trainiert werden. Bei Standard-Backpropagation-Netzwerken hat dieser Parameter keine Auswirkung.

Ein zu kleiner Wert kann dazu führen, dass Kandidaten-Neuronen sehr lange trainiert werden, ohne das Netz zu verbessern. Ein zu großer Wert kann hingegen dazu führen, dass Kandidaten zu früh aussortiert werden, bevor sie ihr volles Potenzial entfaltet haben.