函式名:fann_cascadetrain_on_data()
函式適用版本:PHP FANN擴充套件版本 >= 1.0.0
函式用法:fann_cascadetrain_on_data(resource $ann, resource $data, int $max_neurons, int $neurons_between_reports, float $desired_error)
函式說明:fann_cascadetrain_on_data()函式使用級聯訓練演演演演算法對神經網路進行訓練。級聯訓練演演演演算法會在一個小時內連續增加神經元,並訓練他們,直到達到指定的誤差。
引數:
- $ann:神經網路資源,透過fann_create_standard()、fann_create_shortcut()或fann_create_from_file()函式建立。
- $data:資料集資源,透過fann_read_train_from_file()、fann_create_train()等函式建立。
- $max_neurons:最大神經元數(整數),當達到指定神經元數時,級聯訓練會停止。
- $neurons_between_reports:報告之間的神經元數(整數),這是在函式執行過程中列印報告的間隔。
- $desired_error:所期望的最大誤差值(浮點數),一旦訓練達到該誤差,級聯訓練將停止。
返回值:布林值,如果成功則返回true,否則返回false。
示例:
<?php
// 建立神經網路
$ann = fann_create_standard(3, 2, 3, 1);
// 從檔案載入訓練資料
$data = fann_read_train_from_file("train.data");
// 設定級聯訓練引數
$max_neurons = 100;
$neurons_between_reports = 10;
$desired_error = 0.001;
// 執行級聯訓練
if (fann_cascadetrain_on_data($ann, $data, $max_neurons, $neurons_between_reports, $desired_error)) {
echo "級聯訓練成功";
} else {
echo "級聯訓練失敗";
}
// 銷燬神經網路和訓練資料資源
fann_destroy($ann);
fann_destroy_train($data);
?>
上述示例中,首先建立一個具有3個層的神經網路。然後從檔案中載入訓練資料。接下來設定級聯訓練的引數,包括最大神經元數、報告間隔和期望的最大誤差。最後呼叫fann_cascadetrain_on_data()函式執行級聯訓練。如果訓練成功,列印"級聯訓練成功",否則列印"級聯訓練失敗"。最後,銷燬神經網路和訓練資料資源,釋放記憶體。