FANN fann_activationfunc_enum - eiichiromomma/CVMLAB GitHub Wiki
(FANN) fann_activationfunc_enum
ニューロンの関数の定義
- x:入力
- y:出力
- s:傾き
- d:derivation
線形関数
- 範囲: -inf < y < inf
- y = xs, d = 1s
- fixed pointには使えない
閾値関数
- x < 0 -> y = 0, x >= 0 -> y = 1
- 学習には使えない
symmetricな閾値関数
- x < 0 -> y = 0(たぶんy=-1の間違い), x >= 0 -> y = 1
- 学習には使えない
シグモイド関数
- よく使われる関数
- 範囲: 0 < y < 1
- y = 1/(1 + exp(-2sx))
- d = 2sy*(1 - y)
線形近似シグモイド関数
- シグモイド関数より高速だが雑
symmetricなシグモイド関数
- 範囲: -1 < y < 1
- y = tanh(sx) = 2/(1 + exp(-2s*x)) - 1
- d = s*(1-(y*y))
symmetricなFANN_SIGMOID_STEPWISE
ガウシアン関数
- 0 when x = -inf, 1 when x = 0 and 0 when x = inf
- 範囲: 0 < y < 1
- y = exp(-xsx*s)
- d = -2xsys
Symmetricなガウシアン関数
- -1 when x = -inf, 1 when x = 0 and 0 when x = inf
- 範囲: -1 < y < 1
- y = exp(-xsx*s)*2-1
- d = -2xs*(y+1)*s
David Elliott考案のシグモイド関数に似て高速な関数
- span: 0 < y < 1
- y = ((xs) / 2) / (1 + |xs|) + 0.5
- d = s1/(2(1+|xs|)(1+|x*s|))
symmetricなFANN_ELLIOT
- span: -1 < y < 1
- y = (xs) / (1 + |xs|)
- d = s1/((1+|xs|)(1+|xs|))
境界付き線形関数
- span: 0 < y < 1
- y = xs, d = 1s
SymmetricなFANN_LINEAR_PIECE
- span: -1 < y < 1
- y = xs, d = 1s