預(yù)定義常量
下列常量由此擴(kuò)展定義,且僅在此擴(kuò)展編譯入 PHP 或在運(yùn)行時(shí)動(dòng)態(tài)載入時(shí)可用。
訓(xùn)練算法
-
FANN_TRAIN_INCREMENTAL
(integer)
-
標(biāo)準(zhǔn)反向傳播算法,每次訓(xùn)練匹配后權(quán)重都會(huì)更新。這意味著在每個(gè)單歷元中權(quán)重會(huì)被更新很多次。因?yàn)檫@個(gè)原因,很多問(wèn)題使用這個(gè)算法將會(huì)訓(xùn)練的非常快,然而其他更高級(jí)的問(wèn)題的訓(xùn)練效果不是很好。
-
FANN_TRAIN_BATCH
(integer)
-
標(biāo)準(zhǔn)反向傳播算法,計(jì)算均方差誤差后權(quán)重值將會(huì)更新。 這意味著每個(gè)單歷元只會(huì)更新一次。因?yàn)檫@個(gè)原因,很多問(wèn)題使用這個(gè)算法會(huì)訓(xùn)練的很慢。但是計(jì)算出的均方差誤差比增量訓(xùn)練的效果更好,使用這個(gè)算法某些問(wèn)題將會(huì)得到更好的解決方案。
-
FANN_TRAIN_RPROP
(integer)
-
一個(gè)更高級(jí)的批訓(xùn)練算法,對(duì)于很多問(wèn)題該算法還會(huì)獲得很好的結(jié)果。RPROP 訓(xùn)練算法是自適應(yīng)的,因此不需要使用 learning_rate. 其他一些參數(shù)用來(lái)設(shè)置 RPROP 算法工作的方式,只推薦給那些知道 RPROP 算法如何工作的人來(lái)設(shè)置。RPROP 訓(xùn)練算法是被 Riedmiller 和 BraunSome 在1993年提出來(lái)的,實(shí)際上此處使用的是由 Igel 和 Husken 在2000年提出來(lái)的 iRPROP 訓(xùn)練算法,它是標(biāo)準(zhǔn) RPROP 訓(xùn)練算法的一個(gè)變種。
-
FANN_TRAIN_QUICKPROP
(integer)
-
一個(gè)更高級(jí)的批訓(xùn)練算法,對(duì)于很多問(wèn)題該算法還會(huì)獲得很好的結(jié)果。quickprop 訓(xùn)練算法使用 learning_rate 參數(shù)和其他更高級(jí)的參數(shù),
但是只有當(dāng)用戶(hù)真正明白 quickprop 訓(xùn)練算法如何工作的時(shí)候才建議修改這些高級(jí)參數(shù)。 quickprop 訓(xùn)練算法是被 Fahlman 在1988年描述的。
-
FANN_TRAIN_SARPROP
(integer)
-
更高級(jí)的訓(xùn)練算法,只在2.2版本中可用。
Activation functions
-
FANN_LINEAR
(integer)
-
線(xiàn)性激勵(lì)函數(shù)。
-
FANN_THRESHOLD
(integer)
-
閾值激勵(lì)函數(shù)。
-
FANN_THRESHOLD_SYMMETRIC
(integer)
-
閾值激勵(lì)函數(shù)。
-
FANN_SIGMOID
(integer)
-
Sigmoid激勵(lì)函數(shù)。
-
FANN_SIGMOID_STEPWISE
(integer)
-
逐步線(xiàn)性逼近 Sigmoid 激勵(lì)函數(shù)。
-
FANN_SIGMOID_SYMMETRIC
(integer)
-
對(duì)稱(chēng) Sigmoid 激勵(lì)函數(shù), 又名:tanh.
-
FANN_SIGMOID_SYMMETRIC_STEPWISE
(integer)
-
逐步線(xiàn)性逼近對(duì)稱(chēng) Sigmoid 激勵(lì)函數(shù)。
-
FANN_GAUSSIAN
(integer)
-
Gaussian (高斯) 激勵(lì)函數(shù)。
-
FANN_GAUSSIAN_SYMMETRIC
(integer)
-
對(duì)稱(chēng) gaussian (高斯)激勵(lì)函數(shù)。
-
FANN_GAUSSIAN_STEPWISE
(integer)
-
逐步 gaussian (高斯)激勵(lì)函數(shù)。
-
FANN_ELLIOT
(integer)
-
快速(類(lèi)sigmoid)激勵(lì)函數(shù),由 David Elliott 定義的。
-
FANN_ELLIOT_SYMMETRIC
(integer)
-
快速(類(lèi)對(duì)稱(chēng)sigmoid)激勵(lì)函數(shù),由 David Elliott定義的。
-
FANN_LINEAR_PIECE
(integer)
-
有界線(xiàn)性激勵(lì)函數(shù)。
-
FANN_LINEAR_PIECE_SYMMETRIC
(integer)
-
有界線(xiàn)性激勵(lì)函數(shù)。
-
FANN_SIN_SYMMETRIC
(integer)
-
周期sin(正弦)激勵(lì)函數(shù)。
-
FANN_COS_SYMMETRIC
(integer)
-
周期cos(余弦)激勵(lì)函數(shù)。
-
FANN_SIN
(integer)
-
周期sin(正弦)激勵(lì)函數(shù)。
-
FANN_COS
(integer)
-
周期cos(余弦)激勵(lì)函數(shù)。
Error function used during training
-
FANN_ERRORFUNC_LINEAR
(integer)
-
標(biāo)準(zhǔn)線(xiàn)性誤差函數(shù)。
-
FANN_ERRORFUNC_TANH
(integer)
-
Tanh 誤差函數(shù), 通常更好但是要求更低的學(xué)習(xí)率。該誤差函數(shù)當(dāng)有目標(biāo)輸出時(shí)將會(huì)和期望值有很大的不同,然而沒(méi)有目標(biāo)輸出時(shí)只有很小不同。此激勵(lì)函數(shù)在層疊訓(xùn)練和增量訓(xùn)練。
Stop criteria used during training
-
FANN_STOPFUNC_MSE
(integer)
-
停止準(zhǔn)則是均方誤差(MSE)值。
-
FANN_STOPFUNC_BIT
(integer)
-
停止準(zhǔn)則是失敗時(shí)的比特位數(shù)。比特位數(shù)意味著輸出神經(jīng)元的個(gè)數(shù)超過(guò)了失敗時(shí)的比特位數(shù) (參考 fann_get_bit_fail_limit, fann_set_bit_fail_limit). 位數(shù)在所有的訓(xùn)練數(shù)據(jù)中都會(huì)被計(jì)數(shù),所以這個(gè)數(shù)組將會(huì)比訓(xùn)練數(shù)據(jù)的數(shù)量更高。
fann_get_network_type() 是用來(lái)定義網(wǎng)絡(luò)類(lèi)型
-
FANN_NETTYPE_LAYER
(integer)
-
每一層只能連接下一層。
-
FANN_NETTYPE_SHORTCUT
(integer)
-
每一層與所有以下層有連接。
Errors
-
FANN_E_NO_ERROR
(integer)
-
無(wú)誤差。
-
FANN_E_CANT_OPEN_CONFIG_R
(integer)
-
無(wú)法打開(kāi)讀取配置文件。
-
FANN_E_CANT_OPEN_CONFIG_W
(integer)
-
無(wú)法打開(kāi)寫(xiě)入配置文件。
-
FANN_E_WRONG_CONFIG_VERSION
(integer)
-
配置文件的錯(cuò)誤版本。
-
FANN_E_CANT_READ_CONFIG
(integer)
-
從配置文件讀取信息的錯(cuò)誤。
-
FANN_E_CANT_READ_NEURON
(integer)
-
從配置文件讀取神經(jīng)元信息的錯(cuò)誤。
-
FANN_E_CANT_READ_CONNECTIONS
(integer)
-
從配置文件讀取連接的錯(cuò)誤。
-
FANN_E_WRONG_NUM_CONNECTIONS
(integer)
-
連接數(shù)和期望的值不相等。
-
FANN_E_CANT_OPEN_TD_W
(integer)
-
無(wú)法打開(kāi)訓(xùn)練數(shù)據(jù)文件寫(xiě)入內(nèi)容。
-
FANN_E_CANT_OPEN_TD_R
(integer)
-
無(wú)法打開(kāi)訓(xùn)練數(shù)據(jù)文件讀取內(nèi)容。
-
FANN_E_CANT_READ_TD
(integer)
-
從文件讀取訓(xùn)練數(shù)據(jù)錯(cuò)誤。
-
FANN_E_CANT_ALLOCATE_MEM
(integer)
-
無(wú)法分配內(nèi)存。
-
FANN_E_CANT_TRAIN_ACTIVATION
(integer)
-
無(wú)法使用已選的激勵(lì)函數(shù)訓(xùn)練。
-
FANN_E_CANT_USE_ACTIVATION
(integer)
-
無(wú)法使用已選的激勵(lì)函數(shù)。
-
FANN_E_TRAIN_DATA_MISMATCH
(integer)
-
兩個(gè) fann_train_data 結(jié)構(gòu)體之間存在不可調(diào)和的差異。
-
FANN_E_CANT_USE_TRAIN_ALG
(integer)
-
不能使用已選的訓(xùn)練算法。
-
FANN_E_TRAIN_DATA_SUBSET
(integer)
-
嘗試獲取不在訓(xùn)練集內(nèi)的子集。
-
FANN_E_INDEX_OUT_OF_BOUND
(integer)
-
索引超出了界限。
-
FANN_E_SCALE_NOT_PRESENT
(integer)
-
標(biāo)定參數(shù)不存在。
-
FANN_E_INPUT_NO_MATCH
(integer)
-
在人工神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)中的輸入神經(jīng)元個(gè)數(shù)不匹配。
-
FANN_E_OUTPUT_NO_MATCH
(integer)
-
在人工神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)中的輸出神經(jīng)元個(gè)數(shù)不匹配。