本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成30年度 技術士第一次試験問題【専門科目】

V−14

シグモイド関数 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 において最大となる。


正解

D


解説

シグモイド関数は、ニューラルネットワークの活性化関数として使われる。

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))
f(x) × (1−f(x)) × (1−f(x)) − f(x) × 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 = 0.5

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 の時である。

V−13 目次 V−15