1. 高校数学の美しい物語
  2. シグモイド関数の意味と簡単な性質

シグモイド関数の意味と簡単な性質

更新日時 2021/03/07
シグモイド関数

f(x)=11+eax(a>0)f(x)=\dfrac{1}{1+e^{-ax}}\: (a > 0) はシグモイド関数と呼ばれる重要な関数である。

シグモイド関数の性質とグラフを紹介した上で,シグモイド関数の重要性(工学的な応用)について解説します。

目次
  • シグモイド関数の性質とグラフ

  • 微分

  • シグモイド関数とtanh

  • ステップ関数,符号関数

  • 連続近似

シグモイド関数の性質とグラフ

シグモイド関数 f(x)=11+eax(a>0)f(x)=\dfrac{1}{1+e^{-ax}}\: (a > 0) には以下の性質があります。

シグモイド関数の基本的な性質
  1. f(0)=12f(0)=\dfrac{1}{2}

  2. limxf(x)=1\displaystyle\lim_{x\to\infty}f(x)=1limxf(x)=0\displaystyle\lim_{x\to -\infty}f(x)=0

  3. f(x)f(x) は単調増加

  4. f(x)+f(x)=1f(x)+f(-x)=1。つまり y=f(x)y=f(x)(0,12)(0,\tfrac{1}{2}) に関して点対称。

それぞれ簡単な計算で確認できます。

シグモイド関数のグラフは,以下のようになります。 シグモイド関数のグラフ

上記の4つの性質に注目することでグラフの概形が描けます。

aa が大きいほどカーブが急激になり,aa00 に近いほどなだらかな曲線になります。

微分

シグモイド関数の微分

f(x)f'(x) シグモイド関数 f(x)=11+eaxf(x)=\dfrac{1}{1+e^{-ax}} に対して f(x)=af(x)(1f(x))f'(x)=af(x)(1-f(x))

つまり,シグモイド関数の微分は,シグモイド関数そのもの f(x)f(x) を使って簡単に表せます。

証明

商の微分公式を使って計算すると,

f(x)=(1+eax)(1+eax)2=aeax(1+eax)2=a1+eax1+eax11+eax=af(x)(1f(x))f'(x)=\dfrac{-(1+e^{-ax})'}{(1+e^{-ax})^2}\\ =\dfrac{ae^{-ax}}{(1+e^{-ax})^2}\\ =\dfrac{a}{1+e^{-ax}}\cdot\dfrac{1+e^{-ax}-1}{1+e^{-ax}}\\ =af(x)(1-f(x))

シグモイド関数とtanh

  • シグモイド関数は tanh\tanh を用いて表すこともできます:
    11+eax=122e12axe12ax+e12ax=12(1+tanh(12ax))\dfrac{1}{1+e^{-ax}}=\dfrac{1}{2}\dfrac{2e^{\frac{1}{2}ax}}{e^{\frac{1}{2}ax}+e^{-\frac{1}{2}ax}} =\dfrac{1}{2}(1+\tanh(\frac{1}{2}ax))

  • ただし,tanh\tanh はハイパボリックタンジェントと読み,定義は tanhx=exexex+ex\tanh x=\dfrac{e^x-e^{-x}}{e^{x}+e^{-x}} です。→双曲線関数にまつわる重要な公式まとめ

ステップ関数,符号関数

ここからはシグモイド関数の応用の話です。

シグモイド関数には 不連続だがよく使う関数をなめらかな関数で近似するという役割があります。

例えば,工学的に重要な関数としてステップ関数,符号関数があります:

ステップ関数と符号関数のグラフ

  • (単位)ステップ関数 u(x)={0(x<0)1(x0)u(x)=\begin{aligned} \left\{ \begin{array}{l} 0\:\:(x <0)\\ 1\:\:(x \geq 0) \end{array} \right. \end{aligned}

  • 符号関数 sgn(x)={1(x>0)0(x=0)1(x<0)\mathrm{sgn}(x)=\begin{aligned} \left\{ \begin{array}{l} 1\:\:(x > 0)\\ 0\:\:(x = 0)\\ -1\:\:(x <0) \end{array} \right. \end{aligned}

スイッチの切り替えを表現したり,いかにも使いそうな関数です。

連続近似

ステップ関数や符号関数のように不連続な関数は扱いにくいことがあるので連続関数で近似したくなります。場合によっては微分可能であって欲しいこともあります。

シグモイド関数による近似

  • そこで,折れ線でつなぐことで「ステップ関数っぽい連続関数」(赤)を作ることができます。
  • さらに,シグモイド関数を使うことで「ステップ関数っぽいなめらかな関数」(緑)を作ることができます。

符号関数も同様にシグモイド関数を2倍して1を引いたもの(=tanh=\tanh )を使うことで「符号関数っぽいなめらかな関数」が作れます。

また,シグモイド関数の aa が大きいほどよい近似になります。そして,なめらかな関数で近似する方法はたくさんありますが,シグモイド関数は数式も扱いやすい(例えば導関数をもとの関数で表せる)のでよく使われています。

このへんの話は入試には出ませんが,シグモイド関数の重要性がなんとなくお分かりいただけたかと思います。

シグモイド関数は,深層学習モデルにおける活性化関数としても使われる重要な関数です。

Tag:大学入試で頻出の有名な関数まとめ

人気記事
  1. 高校数学の美しい物語
  2. シグモイド関数の意味と簡単な性質