Signatur
Beschreibung
fann_get_train_stop_function liefert die aktuell konfigurierte Stoppfunktion des angegebenen künstlichen neuronalen Netzes (FANN). Die Stoppfunktion bestimmt, anhand welches Kriteriums das Training beendet wird – sobald der berechnete Fehler einen vorgegebenen Schwellwert unterschreitet.
Der Rückgabewert ist eine ganzzahlige Konstante, die einer der FANN-Stoppfunktionen entspricht: FANN_STOPFUNC_MSE (mittlerer quadratischer Fehler, Mean Squared Error) oder FANN_STOPFUNC_BIT (Anzahl der Bits, die einen bestimmten Fehlerschwellwert überschreiten). Die Wahl der Stoppfunktion beeinflusst, wie das Netz die Trainingsqualität misst.
Diese Funktion ist nützlich, wenn man zur Laufzeit überprüfen möchte, welche Stoppstrategie aktiv ist, bevor man Parameter wie den Fehler-Schwellwert (fann_set_train_stop_function) oder den Bit-Fehlerschwellwert anpasst. Sie gehört zur FANN-Erweiterung (Fast Artificial Neural Network) und setzt voraus, dass diese in PHP installiert und aktiviert ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Netz-Ressource, die zuvor mit Funktionen wie fann_create_standard oder fann_read_train_from_file erstellt wurde. |
Rückgabewert
FANN_STOPFUNC_MSE (0) für den mittleren quadratischen Fehler oder FANN_STOPFUNC_BIT (1) für die Bit-Fehler-Methode. Im Fehlerfall wird false zurückgegeben.Beispiele
Aktuelle Stoppfunktion eines Netzes auslesen
<?php
// Netz mit 2 Eingabe-, 3 versteckten und 1 Ausgabe-Neuron erstellen
$ann = fann_create_standard(3, 2, 3, 1);
if ($ann) {
$stopFunc = fann_get_train_stop_function($ann);
switch ($stopFunc) {
case FANN_STOPFUNC_MSE:
echo "Stoppfunktion: MSE (Mittlerer quadratischer Fehler)" . PHP_EOL;
break;
case FANN_STOPFUNC_BIT:
echo "Stoppfunktion: BIT (Bit-Fehler-Methode)" . PHP_EOL;
break;
default:
echo "Unbekannte Stoppfunktion: " . $stopFunc . PHP_EOL;
}
fann_destroy($ann);
}
?>
Stoppfunktion prüfen und ggf. ändern
<?php
$ann = fann_create_standard(3, 2, 4, 1);
if ($ann) {
// Stoppfunktion auf BIT setzen
fann_set_train_stop_function($ann, FANN_STOPFUNC_BIT);
// Aktuell gesetzte Stoppfunktion auslesen
$stopFunc = fann_get_train_stop_function($ann);
if ($stopFunc === FANN_STOPFUNC_BIT) {
echo "Netz verwendet die BIT-Stoppfunktion." . PHP_EOL;
// Bit-Fehlerschwellwert festlegen
fann_set_bit_fail_limit($ann, 0.35);
echo "Bit-Fehlerschwellwert gesetzt auf 0.35" . PHP_EOL;
}
fann_destroy($ann);
}
?>
// Wichtig · Fallstricke
Die FANN-Erweiterung ist nicht Bestandteil der Standard-PHP-Distribution und muss separat installiert werden (z. B. über PECL: pecl install fann). Ohne diese Erweiterung ist die Funktion nicht verfügbar.
Standardmäßig verwendet ein neu erstelltes FANN-Netz FANN_STOPFUNC_MSE als Stoppfunktion. Die Stoppfunktion kann mit fann_set_train_stop_function geändert werden. Der zugehörige Fehler-Schwellwert wird separat über fann_set_train_error_function oder fann_set_bit_fail_limit konfiguriert.