函式名:fann_set_input_scaling_params()
適用版本:FANN >= 2.2.0
用法:fann_set_input_scaling_params(resource $ann, array $new_input_min, array $new_input_max)
說明:該函式用於設定神經網路的輸入縮放引數,即將輸入資料對映到指定的範圍內。輸入資料將在訓練和測試過程中進行縮放處理,以提高網路的效能和準確性。
引數:
- $ann:神經網路資源,透過fann_create_standard()或fann_create_from_file()等函式建立。
- $new_input_min:包含輸入最小值的陣列,陣列長度必須與輸入層的神經元數量相同。
- $new_input_max:包含輸入最大值的陣列,陣列長度必須與輸入層的神經元數量相同。
返回值:無
示例:
$ann = fann_create_standard(2, 2, 1); // 建立一個擁有2個輸入神經元、2個隱藏神經元和1個輸出神經元的神經網路
// 設定輸入縮放引數
$new_input_min = array(-1, -1); // 輸入最小值
$new_input_max = array(1, 1); // 輸入最大值
fann_set_input_scaling_params($ann, $new_input_min, $new_input_max);
// 訓練神經網路
$train_data = fann_read_train_from_file("training_data.txt"); // 從檔案中讀取訓練資料
fann_train_on_data($ann, $train_data, 1000, 10, 0.01); // 進行1000次訓練迭代
// 使用訓練好的神經網路進行預測
$input = array(0.5, -0.2); // 輸入資料
$output = fann_run($ann, $input); // 執行神經網路
echo "預測結果:" . $output[0]; // 輸出預測結果
在上面的示例中,首先建立了一個具有2個輸入神經元、2個隱藏神經元和1個輸出神經元的神經網路。然後,使用fann_set_input_scaling_params()函式設定了輸入縮放引數,將輸入資料的範圍對映到-1到1之間。接下來,使用fann_train_on_data()函式對神經網路進行1000次訓練迭代。最後,使用fann_run()函式對訓練好的神經網路進行預測,並輸出預測結果。