シグモイド関数 (G検定)

シグモイド関数

1. 定義と概要

シグモイド関数とは、任意の実数を0から1の範囲の値に変換する関数です。式で表すと f(x)= 1 / (1 + e^(-x)) となり、グラフは点(0、0.5)を通るなめらかなS字型の曲線を描きます。

出力が0から1までの連続値になるため、ある事象が起こる確率のように解釈できます。この性質から、ロジスティック回帰(線形結合の出力をシグモイド関数で確率に変換して分類する統計的な手法)のモデル出力に使われています。また、ニューラルネットワークの二値分類(2つのクラスのどちらかを判定する問題)の出力層(ネットワークの最後にあり最終的な結果を出す層)でも、確率のような値を得るために使われています。

活性化関数(ニューロンが受け取った入力の合計を次の層へ渡す値に変換する関数)は、ニューラルネットワークの歴史とともに変遷してきました。初期の単純パーセプトロン(入力を重み付けして足し合わせ、1つの出力を出す最初期のニューラルネットワーク)では、微分不可能なステップ関数(入力がしきい値を超えたら1、超えなければ0を出力する階段状の関数)が使われていました。

微分(関数の傾き、つまり値がどれだけ変化するかを求める計算)ができないと、誤差逆伝播法(出力側で生じた誤差を逆方向に伝えながら各層の重みを調整する学習手法)で重みを調整できません。この学習手法が普及する過程で、微分可能な関数が求められるようになりました。そこでシグモイド関数が、中間層(入力層と出力層の間にあり計算を担う層)にも広く使われるようになった経緯があります。

しかし層を深く重ねると勾配消失問題(層を重ねるほど誤差の伝わり方が小さくなり学習がほとんど進まなくなる現象)が起こりやすいことが分かりました。そのため、現在の中間層ではReLU関数(入力が0以上ならそのまま、0未満なら0を出力する関数)が主流になっています。

シグモイド関数は現在も、主に二値分類問題の出力層の活性化関数として使われています。中間層の主役が移り変わっても、出力層での役割は変わらずに残っている点が特徴です。

2. 試験対策ポイント

シグモイド関数の定義式は f(x)= 1 / (1 + e^(-x)) で、出力範囲は0から1の間に収まり、点(0、0.5)を通るS字型のグラフになるという性質は基本の論点です。

あわせて微分の性質も重要な論点です。シグモイド関数の導関数(微分によって得られる、傾きの大きさを表す新しい関数)はf’(x)= f(x)(1 – f(x)) という形になり、x=0のとき最大値0.25をとります。この0.25という最大値は1より小さい値であるため、誤差逆伝播法で層をさかのぼるたびに掛け合わされ、深い層ほど勾配(誤差の伝わり方)がほぼゼロに近づく勾配消失問題につながるという関係にあります。

出力が0から1の連続値で確率のように解釈できる性質から、シグモイド関数は二値分類問題の出力層の活性化関数として使われます。ロジスティック回帰も、入力の線形結合(複数の入力にそれぞれ重みをかけて足し合わせた値)をシグモイド関数に通して確率に変換する統計的な手法です。

シグモイド関数は、ニューラルネットワークとロジスティック回帰の双方に共通する要素という関係にあります。分野の異なる2つの手法が、確率への変換という同じ仕組みでつながっている点は整理しておきたい関係です。

多クラス分類の出力層では、ソフトマックス関数(複数の出力の合計が1になるよう正規化し、確率として扱う関数)が使われるという役割の違いも、シグモイド関数と混同しやすい組み合わせです。出力層の設計では、分類の種類と関数が次のように対応します。

分類の種類 出力層で使う関数 出力の扱い
二値分類 シグモイド関数 0から1の連続値を確率のように解釈する
多クラス分類 ソフトマックス関数 複数の出力の合計が1になるよう正規化する

二値分類の出力層にはシグモイド関数、多クラス分類の出力層にはソフトマックス関数という使い分けが、出力層を設計するうえでの基本の区別です。

3. 関連概念との比較・相違点

tanh関数(入力を-1から1の範囲に変換するS字型の関数)との最大の違いは、出力範囲とゼロを中心とするかどうかという点にあります。シグモイド関数の出力は0から1で0.5を中心とするのに対し、tanh関数の出力は-1から1で0を中心とします。

微分の最大値もシグモイド関数の0.25に対しtanh関数は1であり、この差からtanh関数の方が勾配消失が起こりにくいという関係にあります。両者とも滑らかなS字型のグラフを描く点は共通しているため、出力範囲と微分の最大値という2つの数値が違いを見分ける手がかりになります。

ReLU関数(入力が0以上ならそのまま、0未満なら0を出力する関数)との違いは、中間層での使われ方と勾配消失への強さです。シグモイド関数は微分値が最大でも0.25と小さいため、深い中間層で使うと勾配消失が顕著になります。一方でReLU関数は、正の入力に対して微分値が常に1であるため勾配が縮小しにくく、現在の中間層で広く使われています。

3つの関数を出力と微分の観点で並べると、次のように対応します。

関数 出力の範囲・形 微分の最大値 勾配消失との関係
シグモイド関数 0から1のS字型・0.5が中心 0.25 層を深く重ねると起こりやすい
tanh関数 -1から1のS字型・0が中心 1 シグモイド関数より起こりにくい
ReLU関数 入力が0以上ならそのまま、0未満なら0 正の入力では常に1 勾配が縮小しにくい

シグモイド関数とtanh関数が中間層の主役だった時代からReLU関数へ主流が移った背景には、この微分値の違いが関係しています。3つの関数は出力の形も微分の性質も異なるため、それぞれの数値を対応づけて覚えておくと関連問題に対応しやすくなります。

4. ビジネス・実務での活用シナリオ

医療診断支援の分野では、検査データから疾患の陽性・陰性を判定するモデルの出力層にシグモイド関数を使い、陽性である確率を0から1の数値として提示します。閾値(判定の境界となる基準値)の設定次第で判定の厳しさを調整できるため、見逃しを避けたい場面と誤診を避けたい場面のどちらにも対応できます。確率という連続的な値で結果を示せることが、二択の判定だけでは得られない柔軟さにつながっています。

金融・与信審査の分野では、ローン審査モデルで顧客が返済するかどうかを二値分類問題として扱い、線形結合の結果をシグモイド関数で確率に変換して与信スコアの算出に用います。確率という連続値でスコアを表せるため、境界線上の顧客についても判断の根拠を数値で示せます。

マーケティングの分野では、広告のクリック有無やメールの開封有無といった二値の行動を予測するモデルの出力層にシグモイド関数が使われています。行動が起こる確率としてスコアリングに活用され、確率の高い対象に絞ったアプローチが可能になります。

医療・金融・マーケティングのいずれも、二値の結果をそのまま扱うのではなく、確率という連続値に変換してから活用している点が共通しています。

5. 要点まとめ

  • シグモイド関数は入力を0〜1の範囲に変換するS字型の関数で、二値分類問題の出力層で確率のような値を得るために使われます。
  • 微分の最大値はx=0のとき0.25と小さく、層を重ねるほど勾配がほぼゼロに近づく勾配消失問題の主な原因になります。
  • tanh関数(出力-1〜1・微分最大値1)やReLU関数(正の領域で微分値が常に1)と比べて勾配消失が起こりやすく、ロジスティック回帰の出力にも同じ式が使われるという関係にあります。

6. 確認問題

問1シグモイド関数は、任意の実数を0から1の範囲の値に変換する関数であり、出力はS字型の曲線を描く。

解答・解説をみる

○ 正しい

シグモイド関数の定義そのものです。f(x)= 1 / (1 + e^(-x)) という式で表され、点(0、0.5)を通るなめらかなS字型のグラフになります。

問2シグモイド関数の微分の最大値は1であり、tanh関数よりも勾配消失が起こりにくいという特徴を持つ。

解答・解説をみる

× 誤り

微分の最大値が1でtanh関数より勾配消失が起こりにくいのは、tanh関数自身の特徴です。正しくは、シグモイド関数の微分の最大値は0.25であり、tanh関数(微分の最大値1)よりも勾配消失が起こりやすいという関係になります。両者の特徴を取り違えた記述です。

問3シグモイド関数はロジスティック回帰のモデル出力にも用いられており、入力の線形結合の結果を0から1の確率に変換する役割を持つ。

解答・解説をみる

○ 正しい

ロジスティック回帰は、線形結合の出力をシグモイド関数に通して確率に変換する統計的な分類手法です。シグモイド関数はニューラルネットワークとロジスティック回帰の双方に共通する要素という関係にあります。