Start · Sprachen · PHP · Referenz · fann_get_learning_rate

fann_get_learning_rate

Funktion

Gibt die aktuelle Lernrate eines FANN-Neuronalen-Netzes zurück.

seit PHP 5.6.0 Kategorie: misc

Signatur

fann_get_learning_rate(resource $ann): float

Beschreibung

fann_get_learning_rate() liest die aktuell eingestellte Lernrate (learning rate) eines mit der FANN-Erweiterung (Fast Artificial Neural Network Library) erstellten neuronalen Netzes aus. Die Lernrate steuert, wie stark die Gewichte des Netzes bei jedem Trainingsschritt angepasst werden.

Eine hohe Lernrate kann das Training beschleunigen, führt jedoch häufig zu Instabilität oder Divergenz. Eine niedrige Lernrate sorgt für stabileres, aber langsameres Lernen. Mit fann_get_learning_rate() lässt sich der aktuelle Wert vor oder nach dem Training prüfen, um sicherzustellen, dass er korrekt gesetzt wurde – etwa nach Verwendung von fann_set_learning_rate().

Die Funktion ist Teil der PHP-FANN-Erweiterung und erfordert, dass diese korrekt installiert und aktiviert ist. Das Netz-Handle $ann muss zuvor mit einer Funktion wie fann_create_standard() oder fann_create_from_file() erzeugt worden sein.

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Eine gültige FANN-Netz-Ressource, die mit einer fann_create_*()-Funktion erstellt wurde.

Rückgabewert

Typ
float
Beschreibung
Gibt die aktuelle Lernrate des neuronalen Netzes als Gleitkommazahl zurück. Im Fehlerfall (ungültige Ressource) wird false zurückgegeben.

Beispiele

Lernrate eines neuen Netzes auslesen

<?php
// Netz erstellen: 2 Eingabe-Neuronen, 1 versteckte Schicht mit 3 Neuronen, 1 Ausgabe-Neuron
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    $lernrate = fann_get_learning_rate($ann);
    echo "Aktuelle Lernrate: " . $lernrate . PHP_EOL;
    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des Netzes." . PHP_EOL;
}
?>
Aktuelle Lernrate: 0.7

Lernrate setzen und anschließend prüfen

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

if ($ann) {
    // Lernrate auf einen benutzerdefinierten Wert setzen
    fann_set_learning_rate($ann, 0.3);

    // Sicherstellen, dass der Wert korrekt gesetzt wurde
    $lernrate = fann_get_learning_rate($ann);
    if (abs($lernrate - 0.3) < 0.0001) {
        echo "Lernrate erfolgreich auf 0.3 gesetzt." . PHP_EOL;
    } else {
        echo "Unerwartete Lernrate: " . $lernrate . PHP_EOL;
    }

    fann_destroy($ann);
}
?>
Lernrate erfolgreich auf 0.3 gesetzt.

// Wichtig · Fallstricke

Die Standard-Lernrate bei neu erstellten FANN-Netzen beträgt 0.7. Dieser Wert eignet sich für viele einfache Aufgaben, sollte jedoch je nach Problemstellung und verwendetem Trainingsalgorithmus angepasst werden.

Die FANN-Erweiterung für PHP ist nicht standardmäßig enthalten und muss separat über PECL installiert werden (pecl install fann). Ohne diese Erweiterung steht fann_get_learning_rate() nicht zur Verfügung.