Signatur
Beschreibung
Die Funktion fann_set_cascade_weight_multiplier legt den Gewichtsmultiplikator fest, der während des kaskadierten Trainings (Cascade Correlation) verwendet wird. Dieser Wert beeinflusst, wie stark die Verbindungsgewichte zwischen den Neuronen beim Hinzufügen neuer Kandidatenneuronen skaliert werden.
Beim kaskadierten Training (Cascade2) werden neue versteckte Neuronen schrittweise zum Netz hinzugefügt. Der Gewichtsmultiplikator bestimmt dabei, wie die bereits trainierten Gewichte gewichtet werden, wenn ein neues Neuron integriert wird. Ein kleinerer Wert dämpft den Einfluss der vorhandenen Verbindungen stärker, während ein größerer Wert den bisherigen Zustand stärker beibehält.
Der Standardwert für den Gewichtsmultiplikator liegt typischerweise bei 0.4. Dieser Parameter wird nur im Rahmen des kaskadierten Lernalgorithmus (z. B. mit fann_cascadetrain_on_data) verwendet und hat keinen Effekt beim normalen Backpropagation-Training.
Die FANN-Erweiterung muss installiert und aktiviert sein. Für den Einsatz ist die FANN-Bibliothek (Fast Artificial Neural Network Library) Voraussetzung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Netzwerk-Ressource, die zuvor mit Funktionen wie fann_create_standard erzeugt wurde. |
|
| $cascade_weight_multiplier Pflicht | float | Der neue Gewichtsmultiplikator als Gleitkommazahl. Typische Werte liegen im Bereich 0.0 bis 1.0. Der Standardwert der FANN-Bibliothek beträgt 0.4. |
Rückgabewert
true zurück, wenn der Gewichtsmultiplikator erfolgreich gesetzt wurde. Gibt false zurück, wenn ein Fehler aufgetreten ist, etwa weil eine ungültige Netzwerk-Ressource übergeben wurde.Beispiele
Gewichtsmultiplikator vor dem kaskadierten Training setzen
<?php
// Neuronales Netz erstellen: 2 Eingaben, 1 Ausgabe
$ann = fann_create_standard(2, 2, 1);
if ($ann) {
// Gewichtsmultiplikator auf 0.5 setzen
if (fann_set_cascade_weight_multiplier($ann, 0.5)) {
echo "Gewichtsmultiplikator erfolgreich gesetzt." . PHP_EOL;
// Aktuellen Wert zur Kontrolle auslesen
$value = fann_get_cascade_weight_multiplier($ann);
echo "Aktueller Gewichtsmultiplikator: " . $value . PHP_EOL;
} else {
echo "Fehler beim Setzen des Gewichtsmultiplikators." . PHP_EOL;
}
fann_destroy($ann);
}
Gewichtsmultiplikator konfigurieren und kaskadierten Training starten
<?php
$train_file = '/pfad/zu/trainingsdaten.data';
$ann = fann_create_standard(2, 2, 1);
if ($ann) {
// Kaskadierten Parameter konfigurieren
fann_set_cascade_weight_multiplier($ann, 0.4);
fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);
$train_data = fann_read_train_from_file($train_file);
if ($train_data) {
// Kaskadierten Training starten
fann_cascadetrain_on_data($ann, $train_data, 300, 10, 0.001);
echo "Training abgeschlossen." . PHP_EOL;
fann_save($ann, '/pfad/zu/netz.net');
fann_destroy_train($train_data);
}
fann_destroy($ann);
}
// Wichtig · Fallstricke
Hinweis zur Erweiterung: Die fann_*-Funktionen sind Teil der PECL-Erweiterung fann, die nicht standardmäßig in PHP enthalten ist. Sie muss separat installiert werden (pecl install fann) und setzt die native FANN-Bibliothek voraus.
Veraltung: Ab PHP 8.0 verwendet die FANN-Erweiterung Objekte statt Ressourcen. Stellen Sie sicher, dass Sie die zur PHP-Version passende API verwenden. In neueren Versionen der Erweiterung kann ein FANNConnection-Objekt übergeben werden.
Ein falsch gewählter Gewichtsmultiplikator kann die Konvergenz des kaskadierten Trainings negativ beeinflussen. Es empfiehlt sich, mit dem Standardwert 0.4 zu beginnen und diesen bei Bedarf experimentell anzupassen.