函式名:fann_descale_output()
適用版本:FANN >= 2.1.0
用法:fann_descale_output(resource $ann, float[] $output_vector) : bool
描述:將神經網路輸出向量反標準化為原始範圍。此函式可以將經過標準化處理的輸出向量反轉回原始範圍,並返回反轉後的向量。
引數:
- $ann (資源型別):神經網路資源,由fann_create_standard()、fann_create_sparse()或fann_create_shortcut()等函式建立。
- $output_vector (浮點數陣列):要反轉標準化的輸出向量。
返回值:
- 成功時返回true,失敗時返回false。
示例:
// 建立神經網路
$ann = fann_create_standard(2, 3, 2, 1);
// 載入訓練好的神經網路資料
fann_read_train_from_file($ann, "train_data.dat");
// 獲取訓練樣本的輸入和輸出向量
$input_vector = [0.5, 0.3];
$output_vector = [0.7, 0.2];
// 使用神經網路進行前向傳播
$result_vector = fann_run($ann, $input_vector);
// 反標準化輸出向量
if (fann_descale_output($ann, $result_vector)) {
echo "反標準化後的輸出向量為:";
print_r($result_vector);
} else {
echo "標準化失敗!";
}
// 釋放神經網路資源
fann_destroy($ann);
注意事項:
- 在呼叫fann_descale_output()函式之前,必須先進行了網路的訓練,並且使用了fann_scale_output()進行了標準化操作。
- 輸出向量的長度必須與神經網路輸出層的神經元數量相匹配。
- 標準化和反標準化操作是在進行神經網路輸入/輸出處理時常用的預處理和後處理步驟,可以用於提高神經網路的效能和輸出的準確性。