FANN CASCADE - eiichiromomma/CVMLAB GitHub Wiki

(FANN) CASCADE

渡されたデータについて、Cascade2学習アルゴリズムを行なう。

FANN_EXTERNAL void FANN_API fann_cascadetrain_on_data(
  struct fann *ann,
  struct fann_train_data *data,
  unsigned int max_neurons,
  unsigned int neurons_between_reports,
  float desired_error
)

同手法は学習中にニューロンを増やす。そのため最初は中間層の無い状態から始める必要がある。 ネットワークはショートカット接続を使い、fann_create_shortcutを以下のように使う。

struct fann *ann = fann_create_shortcut(2, fann_num_input_train_data(train_data), fann_num_input_train_data(train_data));

この学習はfann_set_cascade_...のパラメータを使うが学習アルゴリズムはFANN_TRAIN_RPROPかFANN_TRAIN_QUICKPROPを使う。 変えたパラメータは全部の学習に機能する。

引数

  • ann
  • -The neural network
  • data
  • -学習data
  • max_neuron
  • -ニューロンの上限
  • neurons_between_reports
  • -幾つニューロンを増やす毎にレポートを出力するか。0だと何も出さない。
  • desired_error
  • -fann_get_MSEfann_get_bit_failを満たす条件。

fann_set_train_stop_functionでどっちを使うか決定

なお、fann_set_callbackを使えばレポートのカスタマイズができる。