Signatur
Beschreibung
Die Funktion fann_set_cascade_candidate_stagnation_epochs legt fest, wie viele aufeinanderfolgende Trainings-Epochen ein Kandidaten-Neuron beim Cascade-Correlation-Algorithmus keine Verbesserung seines Korrelationswertes erzielen darf, bevor es als stagnierend eingestuft und das Training für diesen Kandidaten abgebrochen wird.
Beim Cascade-Correlation-Training werden zunächst mehrere Kandidaten-Neuronen parallel trainiert, um dasjenige mit der höchsten Korrelation zum aktuellen Fehler zu finden. Der Stagnations-Parameter verhindert dabei, dass ein Kandidat unnötig lange trainiert wird, wenn keine Fortschritte mehr erzielt werden. Ein kleinerer Wert kann das Training beschleunigen, birgt aber das Risiko, vielversprechende Kandidaten zu früh aufzugeben. Ein größerer Wert gibt den Kandidaten mehr Zeit zur Konvergenz, erhöht aber die Trainingszeit.
Der Standardwert beträgt typischerweise 12 Epochen. Der aktuelle Wert kann mit fann_get_cascade_candidate_stagnation_epochs ausgelesen werden.
Diese Funktion ist Teil der FANN-Erweiterung (Fast Artificial Neural Network Library) und steht nur zur Verfügung, wenn PHP mit dieser Erweiterung kompiliert wurde.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Netzwerk-Ressource, die zuvor mit Funktionen wie fann_create_standard erstellt wurde. |
|
| $cascade_candidate_stagnation_epochs Pflicht | int | Die Anzahl der Epochen ohne Verbesserung, nach denen ein Kandidaten-Neuron als stagnierend gilt. Muss ein positiver ganzzahliger Wert sein. |
Rückgabewert
true zurück, wenn der Wert erfolgreich gesetzt wurde, andernfalls false (z. B. bei einer ungültigen Netzwerk-Ressource).Beispiele
Stagnations-Epochen für Cascade-Training setzen
<?php
// Netzwerk erstellen
$ann = fann_create_standard(3, 2, 3, 1);
if ($ann) {
// Standardwert auslesen
$default = fann_get_cascade_candidate_stagnation_epochs($ann);
echo "Standard-Stagnationsepochenanzahl: " . $default . PHP_EOL;
// Neuen Wert setzen: Kandidaten können bis zu 20 Epochen ohne Verbesserung trainieren
if (fann_set_cascade_candidate_stagnation_epochs($ann, 20)) {
echo "Stagnations-Epochen erfolgreich auf 20 gesetzt." . PHP_EOL;
} else {
echo "Fehler beim Setzen der Stagnations-Epochen." . PHP_EOL;
}
// Neuen Wert zur Kontrolle auslesen
$new_value = fann_get_cascade_candidate_stagnation_epochs($ann);
echo "Neuer Wert: " . $new_value . PHP_EOL;
fann_destroy($ann);
}
Cascade-Training mit angepassten Stagnations-Epochen
<?php
$train_file = 'xor.data';
$ann = fann_create_standard(3, 2, 0, 1);
if ($ann) {
// Trainingsparameter für Cascade-Correlation optimieren
fann_set_cascade_candidate_stagnation_epochs($ann, 8); // Schnelleres Training
fann_set_cascade_num_candidate_groups($ann, 2);
fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);
echo "Cascade-Parameter gesetzt:" . PHP_EOL;
echo " Stagnations-Epochen: " . fann_get_cascade_candidate_stagnation_epochs($ann) . PHP_EOL;
// Cascade-Training starten (wenn Trainingsdaten vorhanden)
if (file_exists($train_file)) {
$train_data = fann_read_train_from_file($train_file);
fann_cascadetrain_on_data($ann, $train_data, 300, 1, 0.001);
fann_destroy_train($train_data);
echo "Training abgeschlossen. Neuronen: " . fann_get_num_layers($ann) . PHP_EOL;
}
fann_destroy($ann);
}
// Wichtig · Fallstricke
Hinweis zur FANN-Erweiterung: Diese Funktion ist nur verfügbar, wenn PHP mit der FANN-Erweiterung (php-fann) kompiliert oder als Modul geladen wurde. Prüfe die Verfügbarkeit mit extension_loaded('fann').
Wertebereich: Es sollten ausschließlich positive ganzzahlige Werte verwendet werden. Zu kleine Werte (z. B. 1–3) können dazu führen, dass Kandidaten-Neuronen zu früh verworfen werden und das Netz nicht optimal trainiert wird. Zu große Werte verlängern die Trainingszeit erheblich.
Nur für Cascade-Training relevant: Diese Einstellung hat nur Auswirkung, wenn fann_cascadetrain_on_data oder fann_cascadetrain_on_file verwendet wird, nicht beim Standard-Backpropagation-Training.