【初心者向け】ロジスティック回帰とシグモイド関数・ソフトマックス関数の関係をやさしく解説!

ロジスティック回帰・ソフトマックス関数・シグモイド関数の違いとつながりをやさしく解説!

こんにちは。ゆうせいです。

今回は「ロジスティック回帰」と「ソフトマックス関数」「シグモイド関数」の関係について解説します。
機械学習や統計学を学んでいると、似たような用語がたくさん出てきて混乱しますよね?
特にこの3つ、「なんか全部分類に使いそうだけど、どう違うの?」と感じた方も多いはず。

大丈夫です!この記事を読めば、それぞれの役割やつながりがスッキリわかるようになります。


そもそも「ロジスティック回帰」って何?

まず最初に、ロジスティック回帰とは何かをおさえましょう。

ロジスティック回帰(Logistic Regression)とは、

ある事象が起きる確率を予測するためのモデル

です。特に「2値分類(二項分類)」と呼ばれる、「はい/いいえ」「合格/不合格」など、2つのクラスのどちらかに分類したいときに使います。

例:

  • メールがスパムかスパムじゃないか
  • 商品を買うか買わないか
  • 患者が病気かどうか

シグモイド関数とは?

ロジスティック回帰の心臓部ともいえるのがシグモイド関数(Sigmoid function)です。

この関数の形は「S字カーブ」になっていて、どんな値を入れても出力は0〜1の間になります。
つまり、「確率っぽい値」を出力できるんですね。

数式(LaTeX形式)

\sigma(x) = \frac{1}{1 + e^{-x}}

読み方:
シグマ(x) = 1 ÷ (1 + eのマイナスx乗)

この関数を使うことで、「ある入力がクラス1に属する確率」を計算できるようになります。

図:シグモイド関数のグラフ

(以下のようなイメージです)

  • x軸:入力(例えばスコアや重み付き和)
  • y軸:出力(0〜1の確率)
        |
    1.0 |                         ●
        |                      ●
    0.5 |-----------●-----------
        |     ●
    0.0 |__●____________________
           -6  -3   0   3   6

ソフトマックス関数とは?

さて、ここで登場するのがソフトマックス関数(Softmax function)です。

シグモイド関数が「2クラス(はい/いいえ)」の分類に使われるのに対して、ソフトマックス関数は3クラス以上の分類(多クラス分類)に使われます。

例:

  • 画像が「犬・猫・鳥」のどれか
  • 記事のジャンルが「スポーツ・政治・経済・エンタメ」のどれか

この関数は、すべてのクラスに対してスコアを出して、その合計を1にするように確率として正規化します。

数式(LaTeX形式)

\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}

読み方:
ソフトマックス(z_i) = eのz_i乗 ÷ (すべてのクラスのeのz_j乗の合計)

Kはクラス数、z_iは各クラスに対するスコア(ロジット)です。

図:ソフトマックスのイメージ

クラススコア(z)exp(z)ソフトマックス出力(確率)
A2.07.397.39 / (7.39 + 2.72 + 1.0) ≒ 0.66
B1.02.72≒ 0.24
C0.01.0≒ 0.09

3つの関係まとめ

ここで、ロジスティック回帰・シグモイド関数・ソフトマックス関数の関係性を図でまとめてみましょう。

要素用途数学的役割適用対象
ロジスティック回帰分類モデルシグモイド関数を使って確率を出力2クラス分類
シグモイド関数活性化関数スカラーを0~1に圧縮2クラス分類
ソフトマックス関数活性化関数複数のスコアを確率に正規化多クラス分類

重要なポイントはここです:

  • ロジスティック回帰=シグモイド関数を使った分類モデル
  • シグモイド関数はソフトマックス関数の特別なケース(クラス数が2の場合)
  • ソフトマックス関数=シグモイドの多クラス版

たとえ話で理解しよう!

最後に、日常生活の例で理解を深めてみましょう。

シグモイド関数のたとえ:

あなたがジャンケンで勝つか負けるかを予想したいとします。
勝つ確率が「70%」だったら、それをそのまま出してくれるのがシグモイド関数です。

ソフトマックス関数のたとえ:

今度はサッカー、野球、バスケのどれを友達が好きかを予想する場合。
どれも好きそうだけど、サッカー50%、野球30%、バスケ20%みたいに全体で100%になるように出力するのがソフトマックス関数です。


今後の学習の指針

ここまで理解できたら、次は以下のステップへ進むと効果的です!

  1. 実装で確かめよう
    Pythonのscikit-learnやTensorFlowなどを使って、実際にロジスティック回帰やソフトマックスを使ってみましょう。
  2. 交差エントロピー損失関数(Cross Entropy)について学ぶ
    確率を出力するモデルととても相性がよい損失関数です。
  3. ニューラルネットワークとロジスティック回帰のつながりを確認
    実はロジスティック回帰は、単層のニューラルネットワークと同じ構造なんです!

生成AI研修のおすすめメニュー

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。