Start · Sprachen · PHP · Referenz · fann_get_cascade_activation_functions

fann_get_cascade_activation_functions

Funktion

Gibt die Liste der Aktivierungsfunktionen zurück, die beim Cascade-Correlation-Training verwendet werden.

seit PHP 5.6.0 Kategorie: misc

Signatur

fann_get_cascade_activation_functions(resource $ann): array|false

Beschreibung

fann_get_cascade_activation_functions liefert ein Array mit den Aktivierungsfunktionen, die während des Cascade-Correlation-Trainings für neu hinzugefügte Neuronen ausprobiert werden. Cascade-Correlation ist ein Lernverfahren, bei dem das Netz schrittweise um neue Neuronen erweitert wird, um die beste Konfiguration zu finden.

Beim Cascade-Training testet die FANN-Bibliothek jede Kombination aus Aktivierungsfunktionen (aus dieser Liste) und Steigungswerten (fann_get_cascade_activation_steepnesses), um das Kandidaten-Neuron mit der besten Leistung zu ermitteln. Je mehr Funktionen in dieser Liste enthalten sind, desto länger dauert das Training, aber desto besser wird die Suche nach dem optimalen Neuron.

Die zurückgegebenen Werte sind Integer-Konstanten, die den FANN-Aktivierungsfunktionen entsprechen, wie z. B. FANN_SIGMOID, FANN_SIGMOID_SYMMETRIC oder FANN_GAUSSIAN. Die Standardliste enthält typischerweise FANN_SIGMOID und FANN_SIGMOID_SYMMETRIC.

Diese Funktion ist nur verfügbar, wenn die FANN-Erweiterung installiert ist. Sie eignet sich besonders für die Analyse und Anpassung von Cascade-Trainingsparametern.

Parameter

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

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit den Aktivierungsfunktions-Konstanten zurück, die beim Cascade-Training verwendet werden. Bei einem Fehler (z. B. ungültige Ressource) wird false zurückgegeben.

Beispiele

Aktuelle Cascade-Aktivierungsfunktionen ausgeben

<?php
// Neuronales Netz mit 2 Eingaben, 1 versteckter Schicht und 1 Ausgabe erstellen
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    $functions = fann_get_cascade_activation_functions($ann);
    if ($functions !== false) {
        echo "Cascade-Aktivierungsfunktionen:" . PHP_EOL;
        foreach ($functions as $func) {
            echo "  Funktions-ID: " . $func . PHP_EOL;
        }
    } else {
        echo "Fehler beim Abrufen der Aktivierungsfunktionen." . PHP_EOL;
    }
    fann_destroy($ann);
}
Cascade-Aktivierungsfunktionen: Funktions-ID: 3 Funktions-ID: 5

Vergleich: Funktionen lesen, ändern und erneut lesen

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

if ($ann) {
    // Aktuelle Funktionen ausgeben
    $before = fann_get_cascade_activation_functions($ann);
    echo "Vorher: " . implode(', ', $before) . PHP_EOL;

    // Neue Aktivierungsfunktionen setzen (nur FANN_SIGMOID_SYMMETRIC und FANN_GAUSSIAN)
    fann_set_cascade_activation_functions($ann, [FANN_SIGMOID_SYMMETRIC, FANN_GAUSSIAN]);

    // Geänderte Funktionen ausgeben
    $after = fann_get_cascade_activation_functions($ann);
    echo "Nachher: " . implode(', ', $after) . PHP_EOL;

    fann_destroy($ann);
}
Vorher: 3, 5 Nachher: 5, 6

// Wichtig · Fallstricke

Voraussetzung: Die FANN-Erweiterung (Fast Artificial Neural Network Library) muss installiert und aktiviert sein. Sie ist nicht Teil der PHP-Standardinstallation und muss separat über PECL installiert werden (pecl install fann).

Die zurückgegebenen Integer-Werte entsprechen den FANN-Aktivierungsfunktions-Konstanten. Eine Übersicht der verfügbaren Konstanten (z. B. FANN_SIGMOID = 3, FANN_SIGMOID_SYMMETRIC = 5, FANN_GAUSSIAN = 6) findet sich in der FANN-Dokumentation.

Diese Funktion hat keinen direkten Einfluss auf das Training eines bereits fertig trainierten Netzes – sie ist ausschließlich für das Cascade-Correlation-Training relevant, das über fann_cascadetrain_on_data gestartet wird.