函式名稱:fann_descale_train()
適用版本:PHP 5, PHP 7
函式說明:該函式用於根據之前使用fann_scale_train()函式對訓練資料進行縮放後的結果,對神經網路的輸出進行反縮放。反縮放可以用於將神經網路的輸出轉換為原始資料的形式。
語法:bool fann_descale_train(resource $ann, array $train_data)
引數: $ann:訓練好的神經網路資源(由fann_create_from_file()或fann_create()等函式返回)。 $train_data:陣列形式的訓練資料,其中每個元素必須是等於神經網路的輸出數量的子陣列。如果陣列中的元素數量大於1,則按照前面的資料順序進行反縮放,如果不足則只對第一個輸出進行反縮放。
返回值:如果反縮放成功,則返回true;否則返回false。
示例:
$data = array(
array(0.1, 0.2, 0.3), // 第一個輸出為0.1,第二個輸出為0.2,第三個輸出為0.3
array(0.9, 0.8, 0.7) // 第一個輸出為0.9,第二個輸出為0.8,第三個輸出為0.7
);
$ann = fann_create_from_file("trained_network.fann");
if ($ann) {
if (fann_descale_train($ann, $data)) {
echo "反縮放成功!";
print_r($data);
} else {
echo "反縮放失敗!";
}
fann_destroy($ann);
} else {
echo "無法載入神經網路!";
}
上述示例中,我們首先建立了一個包含兩個樣本的訓練資料陣列$data。然後使用fann_create_from_file()函式載入一個事先訓練好的神經網路。接著使用fann_descale_train()函式對訓練資料進行反縮放操作。最後,列印反縮放後的資料結果。如果反縮放成功,則輸出"反縮放成功!",並列印反縮放後的資料;否則輸出"反縮放失敗!"。最後,使用fann_destroy()函式銷燬神經網路資源。
注意:在使用該函式之前,必須先使用fann_set_output_scaling_params()函式設定神經網路的輸出反縮放引數。