Signatur
Beschreibung
fann_clear_scaling_params() gehört zur FANN-Erweiterung (Fast Artificial Neural Network) und entfernt alle bisher konfigurierten Skalierungsparameter aus dem angegebenen neuronalen Netzwerk. Skalierungsparameter werden verwendet, um Ein- und Ausgabedaten automatisch in einen definierten Wertebereich zu normalisieren bzw. zu denormalisieren, bevor das Netz trainiert oder zur Inferenz genutzt wird.
Nachdem Skalierungsparameter mit Funktionen wie fann_set_scaling_params() oder fann_set_input_scaling_params() gesetzt wurden, können sie mit dieser Funktion vollständig zurückgesetzt werden. Dies ist besonders nützlich, wenn das Netzwerk für einen anderen Datensatz wiederverwendet werden soll oder wenn die Skalierung deaktiviert werden muss, ohne das Netzwerk neu zu erstellen.
Die Funktion wirkt sich auf alle Ein- und Ausgabeneuronen des Netzwerks aus. Nach dem Aufruf werden Daten beim Training oder bei der Ausführung nicht mehr automatisch skaliert, bis neue Skalierungsparameter gesetzt werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Netzwerk-Ressource, die zuvor mit fann_create_standard(), fann_create_from_file() oder einer ähnlichen Funktion erstellt wurde. |
Rückgabewert
true zurück, wenn die Skalierungsparameter erfolgreich gelöscht wurden. Gibt false zurück, wenn ein Fehler aufgetreten ist, z. B. wenn die übergebene Ressource ungültig ist.Beispiele
Skalierungsparameter setzen und anschließend löschen
<?php
// Netzwerk erstellen: 2 Eingabe-, 3 versteckte, 1 Ausgabeneuron
$ann = fann_create_standard(3, 2, 3, 1);
// Skalierungsparameter für Ein- und Ausgabe setzen
// Eingabedaten werden auf [-1.0, 1.0] skaliert
fann_set_input_scaling_params($ann, [[0.0, 255.0], [0.0, 255.0]], -1.0, 1.0);
fann_set_output_scaling_params($ann, [[0.0, 1.0]], 0.0, 1.0);
echo "Skalierungsparameter gesetzt." . PHP_EOL;
// Skalierungsparameter wieder löschen
if (fann_clear_scaling_params($ann)) {
echo "Skalierungsparameter erfolgreich gelöscht." . PHP_EOL;
} else {
echo "Fehler beim Löschen der Skalierungsparameter." . PHP_EOL;
}
fann_destroy($ann);
?>
Netzwerk für neuen Datensatz vorbereiten
<?php
// Netzwerk aus Datei laden
$ann = fann_create_from_file('netzwerk.net');
if ($ann) {
// Alte Skalierungsparameter entfernen, bevor neue gesetzt werden
fann_clear_scaling_params($ann);
// Neue Skalierungsparameter für den neuen Datensatz definieren
// Trainingsdaten laden
$train_data = fann_read_train_from_file('neuer_datensatz.data');
if ($train_data) {
// Automatisch skalieren basierend auf den Trainingsdaten
fann_set_scaling_params($ann, $train_data, -1.0, 1.0, -1.0, 1.0);
echo "Neues Skalierung erfolgreich konfiguriert." . PHP_EOL;
fann_destroy_train($train_data);
}
fann_destroy($ann);
} else {
echo "Netzwerk konnte nicht geladen werden." . PHP_EOL;
}
?>
// Wichtig · Fallstricke
Hinweis zur FANN-Erweiterung: Die FANN-Erweiterung ist ab PHP 7.0 nicht mehr im Standard-Repository enthalten und muss separat installiert werden (z. B. via PECL: pecl install fann). Prüfe die Verfügbarkeit mit extension_loaded('fann').
Das Löschen der Skalierungsparameter hat keine Auswirkung auf die Gewichte oder die Architektur des Netzwerks. Es deaktiviert lediglich die automatische Skalierung der Daten. Wenn danach fann_scale_input() oder fann_scale_output() aufgerufen wird, ohne neue Parameter zu setzen, können unerwartete Ergebnisse auftreten.