シグモイド関数 f(X) = 1/(1+e-X) の記述のうち、最も適切な
ものはどれか。
@ X=−1のとき、値は0である。
A X=0のとき、Xについての第2次導関数の値は1である。
B X=0のとき、値はおよそ0.1である。
C Xの絶対値が5のとき、値はおよそ0.99である。
D 接線の傾きは、X=0において最大となる。
シグモイド関数は、ニューラルネットワークの活性化関数として使われる。
y = 1/f(x) を微分すると
y' = -f'(x)/f(x)2 だから
f(x) = 1/(1+e-X) を微分すると
f'(x) = −(1+e-X)' /(1+e-X)2 = e-X/(1+e-X)2
= 1/(1+e-X) × (1+e-X−1) /(1+e-X)
= f(x) × (1−f(x)) である。
さらに、f'(x) = f(x) × (1−f(x)) を微分すると
f''(x) = f(x)' × (1−f(x)) + f(x) × (1−f(x))'
= f(x) × (1−f(x)) × (1−f(x)) − f(x) × f(x) × (1−f(x))
= f(x)× (1−f(x)) × (1−f(x)−f(x))
= f(x)× (1−f(x)) × (1−2f(x)) である。
また、e=2.718・・・である。
これらを踏まえる。
@ f(−1) = 1/(1+e) = 1/(1+2.718)
A f(0) = 1/(1+e0) = 1/2 より
f''(0) = f(0)× (1−f(0)) × (1−2f(0)) = f(0)× (1−f(0)) × (1−1) = 0
B f(0) = 1/(1+e0) = 1/2
C f(5) = 1/(1+e-5) ≒ 0.9933 だが、
f(−5) = 1/(1+e5) ≒ 0.0067
D 正しい。
f'(x) = f(x) × (1−f(x)) = −(f(x)2 − f(x))
= −(f(x)2 −f(x) + 1/4 − 1/4)
= −(f(x) - 1/2)2 + 1/4
従って、 f(x) = 1/2 の時に接線の傾きが最大で1/4となる。
f(x) = 1/(1+e-X) = 1/2 となるのは x=0の時である。
EXCELのマクロのご相談なら ファーストマクロ へ