Signatur
Beschreibung
Die Funktion fann_get_train_error_function gehört zur FANN-Erweiterung (Fast Artificial Neural Network Library) für PHP und ermöglicht es, die aktuell konfigurierte Fehlerfunktion eines neuronalen Netzwerks abzufragen. Die Fehlerfunktion bestimmt, wie der Fehler zwischen dem tatsächlichen und dem erwarteten Ausgabewert während des Trainings berechnet wird.
Das zurückgegebene Ergebnis ist eine ganzzahlige Konstante, die einer der vordefinierten FANN-Fehlerfunktionen entspricht. Typische Werte sind FANN_ERRORFUNC_LINEAR (linearer Fehler) und FANN_ERRORFUNC_TANH (Tangens-Hyperbolicus-Fehler). Die Wahl der Fehlerfunktion beeinflusst maßgeblich die Trainingsgeschwindigkeit und -qualität des Netzwerks.
Diese Funktion wird häufig verwendet, um die aktuelle Konfiguration eines neuronalen Netzwerks zu inspizieren oder zu protokollieren, bevor das Training beginnt, oder um sicherzustellen, dass nach dem Laden eines gespeicherten Netzwerks die korrekte Fehlerfunktion gesetzt ist. In Kombination mit fann_set_train_error_function lässt sich die Fehlerfunktion vollständig steuern.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Ein gültiges FANN-Netzwerk-Resource-Handle, wie es von Funktionen wie fann_create_standard oder fann_create_from_file zurückgegeben wird. |
Rückgabewert
FANN_ERRORFUNC_LINEAR und FANN_ERRORFUNC_TANH. Bei einem Fehler wird false zurückgegeben.Beispiele
Aktuelle Fehlerfunktion eines Netzwerks abfragen
<?php
// Einfaches neuronales Netz erstellen (2 Eingaben, 1 versteckte Schicht mit 3 Neuronen, 1 Ausgabe)
$ann = fann_create_standard(3, 2, 3, 1);
if ($ann) {
$errorFunc = fann_get_train_error_function($ann);
switch ($errorFunc) {
case FANN_ERRORFUNC_LINEAR:
echo "Fehlerfunktion: LINEAR" . PHP_EOL;
break;
case FANN_ERRORFUNC_TANH:
echo "Fehlerfunktion: TANH" . PHP_EOL;
break;
default:
echo "Fehlerfunktion: Unbekannt (" . $errorFunc . ")" . PHP_EOL;
}
fann_destroy($ann);
} else {
echo "Fehler beim Erstellen des neuronalen Netzwerks." . PHP_EOL;
}
?>
Fehlerfunktion setzen und anschließend überprüfen
<?php
// Netzwerk aus einer Datei laden
$ann = fann_create_from_file('mein_netzwerk.net');
if ($ann) {
// Fehlerfunktion auf TANH setzen
fann_set_train_error_function($ann, FANN_ERRORFUNC_TANH);
// Überprüfen, ob die Funktion korrekt gesetzt wurde
$errorFunc = fann_get_train_error_function($ann);
if ($errorFunc === FANN_ERRORFUNC_TANH) {
echo "Fehlerfunktion erfolgreich auf TANH gesetzt." . PHP_EOL;
} else {
echo "Fehlerfunktion konnte nicht gesetzt werden!" . PHP_EOL;
}
fann_destroy($ann);
} else {
echo "Netzwerk konnte nicht geladen werden." . PHP_EOL;
}
?>
// Wichtig · Fallstricke
Die Funktion ist nur verfügbar, wenn die FANN-Erweiterung (php_fann) installiert und aktiviert ist. Diese Erweiterung ist nicht standardmäßig in PHP enthalten und muss separat kompiliert oder über PECL installiert werden.
Die Standard-Fehlerfunktion nach dem Erstellen eines neuen Netzwerks ist in der Regel FANN_ERRORFUNC_TANH. Die Fehlerfunktion FANN_ERRORFUNC_TANH empfiehlt sich besonders bei Klassifikationsproblemen, da sie große Fehler stärker bestraft und kleine Fehler weniger aggressiv korrigiert als die lineare Variante.