FANN fann_set_ - eiichiromomma/CVMLAB GitHub Wiki
FANN) fann_set_*
(fann_set_training_algorithm
学習アルゴリズムの設定。
FANN_EXTERNAL void FANN_API fann_set_training_algorithm(
struct fann *ann,
enum fann_train_enum training_algorithm
)
fann_set_train_stop_function
終了の判定に使う関数を設定。
FANN_EXTERNAL void FANN_API fann_set_train_stop_function(
struct fann * ann,
enum fann_stopfunc_enum train_stop_function
)
関数はfann_stopfunc_enumで定義される値を返す。
fann_set_train_error_function
学習で誤差を求めるのに使う関数を指定。
FANN_EXTERNAL void FANN_API fann_set_train_error_function(
struct fann * ann,
enum fann_errorfunc_enum train_error_function
)
関数はfann_errorfunc_enum参照。
fann_set_learning_rate
learning rateを設定。詳細はfann_get_learning_rateに。
FANN_EXTERNAL void FANN_API fann_set_learning_rate(struct fann *ann,
float learning_rate)
fann_set_bit_fail_limit
失敗ビット許容数を設定する。
FANN_EXTERNAL void FANN_API fann_set_bit_fail_limit( struct fann * ann,
fann_type bit_fail_limit )
fann_set_activation_steepness
layer層のneuron番目のニューロンの関数の勾配を設定する。
FANN_EXTERNAL void FANN_API fann_set_activation_steepness( struct fann * ann,
fann_type steepness,
int layer,
int neuron )
入力層には指定不能。
勾配は入力を最小、最大に割り振る速さを表わし、値が大きいとよりアグレッシブな学習になる。
出力値を極端に(関数にもよるが0または1)したい場合は1.0にする。 デフォルトは0.5。
fann_set_activation_steepness_output
出力層のニューロンの関数の勾配を指定
FANN_EXTERNAL void FANN_API fann_set_activation_steepness_output(
struct fann * ann,
fann_type steepness
)
fann_set_activation_steepness_layer
layer層(入力層が0としてカウント)の全ニューロンの関数の勾配を設定。
FANN_EXTERNAL void FANN_API fann_set_activation_steepness_layer(
struct fann * ann,
fann_type steepness,
int layer
)
入力層には使えない。
fann_set_activation_steepness_hidden
中間層の全ニューロンの関数の勾配を設定。
FANN_EXTERNAL void FANN_API fann_set_activation_steepness_hidden(
struct fann * ann,
fann_type steepness
)
fann_set_activation_function_output
出力層のニューロンの関数を設定。
FANN_EXTERNAL void FANN_API fann_set_activation_function_output(
struct fann * ann,
enum fann_activationfunc_enum activation_function
)
fann_set_activation_function_layer
layer層の全ニューロンの関数を指定する。
FANN_EXTERNAL void FANN_API fann_set_activation_function_layer(
struct fann * ann,
enum fann_activationfunc_enum activation_function,
int layer
)
layerは入力層を0としてカウント。 入力層には使えない。
fann_set_activation_function_hidden
中間層のニューロンの関数を設定する。
FANN_EXTERNAL void FANN_API fann_set_activation_function_hidden(
struct fann * ann,
enum fann_activationfunc_enum activation_function
)
fann_set_activation_function
layer層のneuron番目のニューロンの関数を指定する。
FANN_EXTERNAL void FANN_API fann_set_activation_function(
struct fann * ann,
enum fann_activationfunc_enum activation_function,
int layer,
int neuron
)
layerは入力層を0として数える。
ちなみに入力層の関数は設定できない。(というか意味がない)
関数によって有効なレンジが違うことに注意。 FANN_SIGMOIDは0から1。FANN_SIGMOID_SYMMETRICは-1から1。 FANN_LINEARは無制限。
関数についての詳細はfann_activationfunc_enumを参照。
デフォルトはFANN_SIGMOID_STEPWISE。