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。