函式名:fann_set_training_algorithm()
適用版本:FANN >= 1.0.0
用法:fann_set_training_algorithm(resource $ann, int $training_algorithm) : bool
此函式用於設定神經網路的訓練演演演算法。神經網路庫(FANN)提供了多種訓練演演演算法供選擇,該函式可以用來切換不同的訓練演演演算法。
引數:
- $ann:神經網路資源(由fann_create_standard()或fann_create_from_file()函式建立)
- $training_algorithm:訓練演演演算法的編號,取值範圍為0到5,具體對應關係如下: 0 - FANN_TRAIN_INCREMENTAL:增量訓練演演演算法 1 - FANN_TRAIN_BATCH:批次訓練演演演算法 2 - FANN_TRAIN_RPROP:RPROP(逆傳播)訓練演演演算法 3 - FANN_TRAIN_QUICKPROP:Quickprop訓練演演演算法 4 - FANN_TRAIN_SARPROP:SARPROP訓練演演演算法 5 - FANN_TRAIN_SOM:自組織對映(SOM)訓練演演演算法
返回值:成功時返回true,失敗時返回false。
示例:
$ann = fann_create_standard(2, 2, 1); // 建立一個2層的神經網路,每層分別有2個和1個神經元
fann_set_training_algorithm($ann, FANN_TRAIN_RPROP); // 使用RPROP演演演算法進行訓練
// 設定其他引數(省略)
fann_train_on_data($ann, $train_data, $max_epochs, $epochs_between_reports, $desired_error); // 使用所選訓練演演演算法進行訓練
上述示例中,我們首先建立了一個2層的神經網路,然後使用fann_set_training_algorithm()函式將訓練演演演算法設定為RPROP演演演算法。接下來,我們可以設定其他相關引數(如學習率、動量等),最後使用fann_train_on_data()函式開始訓練過程。在訓練過程中,所選的訓練演演演算法將被應用於神經網路的更新和最佳化過程。