Signatur
Beschreibung
fann_set_cascade_max_cand_epochs legt fest, wie viele Trainings-Epochen maximal durchgeführt werden, wenn im Cascade-Correlation-Algorithmus neue Kandidaten-Neuronen trainiert werden. Dieser Wert begrenzt die Trainingszeit für einzelne Kandidaten und verhindert, dass das Training unendlich lang läuft, ohne ausreichenden Fortschritt zu erzielen.
Cascade-Correlation ist ein konstruktives neuronales Netz-Verfahren, bei dem schrittweise neue versteckte Neuronen hinzugefügt werden. Für jeden neuen Kandidaten wird zunächst eine begrenzte Anzahl von Epochen trainiert, um die am besten geeigneten Kandidaten zu identifizieren. Je höher dieser Wert, desto länger wird jeder Kandidat trainiert – was zu besseren Ergebnissen führen kann, aber auch die Gesamttrainingszeit erhöht.
Der Standardwert ist typischerweise 150 Epochen. Dieser Wert sollte in Balance mit fann_set_cascade_min_cand_epochs gesetzt werden, um ein effizientes Training zu gewährleisten. Zu niedrige Werte können dazu führen, dass gute Kandidaten übersehen werden; zu hohe Werte verlängern die Trainingszeit unnötig.
Die Funktion gehört zur FANN-Erweiterung (Fast Artificial Neural Network) und erfordert, dass diese in PHP aktiviert ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Ressource, die mit fann_create_standard, fann_create_sparse oder einer ähnlichen Funktion erstellt wurde. |
|
| $cascade_max_cand_epochs Pflicht | int | Die maximale Anzahl der Epochen, die für das Training jedes Kandidaten-Neurons verwendet werden. Muss eine positive ganze Zahl sein und sollte größer oder gleich dem Wert von fann_get_cascade_min_cand_epochs sein. |
Rückgabewert
true zurück, wenn der Wert erfolgreich gesetzt wurde, andernfalls false – beispielsweise wenn die übergebene Ressource ungültig ist.Beispiele
Maximale Kandidaten-Epochen für Cascade-Training setzen
<?php
// Neuronales Netz erstellen: 2 Eingaben, 1 Ausgabe
$ann = fann_create_standard(2, 2, 1);
if ($ann) {
// Maximale Kandidaten-Epochen auf 200 setzen
if (fann_set_cascade_max_cand_epochs($ann, 200)) {
echo "Maximale Kandidaten-Epochen erfolgreich gesetzt: ";
echo fann_get_cascade_max_cand_epochs($ann) . PHP_EOL;
} else {
echo "Fehler beim Setzen der maximalen Kandidaten-Epochen." . PHP_EOL;
}
fann_destroy($ann);
}
Min- und Max-Kandidaten-Epochen gemeinsam konfigurieren
<?php
$ann = fann_create_standard(3, 3, 2, 1);
if ($ann) {
// Mindest- und Höchstgrenzen für Kandidaten-Epochen setzen
fann_set_cascade_min_cand_epochs($ann, 50);
fann_set_cascade_max_cand_epochs($ann, 300);
echo "Min. Kandidaten-Epochen: " . fann_get_cascade_min_cand_epochs($ann) . PHP_EOL;
echo "Max. Kandidaten-Epochen: " . fann_get_cascade_max_cand_epochs($ann) . PHP_EOL;
// Cascade-Training auf Trainingsdaten anwenden
$train_data = fann_read_train_from_file('training_data.data');
if ($train_data) {
fann_cascadetrain_on_data($ann, $train_data, 500, 10, 0.0001);
fann_save($ann, 'trained_network.net');
fann_destroy_train($train_data);
}
fann_destroy($ann);
}
// Wichtig · Fallstricke
Hinweis zur FANN-Erweiterung: Die FANN-Erweiterung ist nicht standardmäßig in PHP enthalten und muss separat installiert oder kompiliert werden. Ab PHP 7.x ist die Unterstützung eingeschränkt; für neuere PHP-Versionen sollte die Verfügbarkeit vorab geprüft werden.
Wertebereich: Der Wert für cascade_max_cand_epochs muss größer oder gleich dem Wert der minimalen Kandidaten-Epochen sein (gesetzt via fann_set_cascade_min_cand_epochs). Ein inkonsistentes Verhältnis kann zu unerwartetem Verhalten beim Training führen.
Performance: Sehr hohe Werte erhöhen die Trainingszeit erheblich. Es empfiehlt sich, mit dem Standardwert (150) zu beginnen und den Wert bei Bedarf schrittweise anzupassen.