ロジスティック回帰

シグモイド関数から最尤推定、交差エントロピー損失まで、インタラクティブなデモで学ぶロジスティック回帰の基礎。

RegressionClassificationGLM

線形回帰からロジスティック回帰へ

単回帰では、連続値の目的変数 yyxx の一次関数としてモデル化しました。しかし、yy二値(0 か 1)の場合はどうでしょうか?

例えば:患者が病気を発症するか?顧客が広告をクリックするか?

線形回帰は [0,1][0, 1] の範囲外の値を予測してしまうことがあり、確率としては不適切です。常に 0 と 1 の間の値を出力するモデルが必要です。

これこそが ロジスティック回帰 の役割であり、一般化線形モデル(GLM)の枠組みにおいてベルヌーイ分布とロジットリンク関数を持つ特殊なケースとして自然に位置づけられます。

問題設定

以下を考えます:

  • 特徴量 x=(x1,x2,,xn)x = (x_1, x_2, \ldots, x_n)
  • 二値の目的変数 y{0,1}y \in \{0, 1\}
  • 線形予測子 z=wx+bz = w^\top x + b

ここでの重要な問いは:z(,)z \in (-\infty, \infty) をどうやって確率 p(0,1)p \in (0, 1) に変換するか?

シグモイド関数

その答えが シグモイド(ロジスティック)関数です:

P(y=1x)=ez1+ez=11+ezP(y = 1 \mid x) = \frac{e^z}{1 + e^z} = \frac{1}{1 + e^{-z}}

この関数には次のような性質があります:

  • 任意の実数 zz に対して、出力は常に 0 と 1 の間:  0<ez1+ez<1\;0 < \frac{e^z}{1+e^z} < 1
  • z=0z = 0 のとき、確率はちょうど 0.5
  • z+z \to +\infty のとき、確率は 1 に近づく
  • zz \to -\infty のとき、確率は 0 に近づく

シグモイド関数は実数全体を滑らかに区間 (0,1)(0, 1) に「押しつぶす」ことで、有効な確率を与えてくれます。

最尤推定

最適なパラメータ wwbb はどのように求めるのでしょうか?**最尤推定(MLE)**を使います。つまり、観測データが最も起こりやすくなるパラメータを見つけます。

1つのデータ点 (xi,yi)(x_i, y_i) に対する尤度は:

P(yixi)=piyi(1pi)1yiP(y_i \mid x_i) = p_i^{\,y_i} (1 - p_i)^{1 - y_i}

ここで pi=ezi1+ezip_i = \frac{e^{z_i}}{1 + e^{z_i}}zi=wxi+bz_i = w^\top x_i + b です。

全データセットに対する尤度は、すべての観測値の積です:

L=i=1npiyi(1pi)1yiL = \prod_{i=1}^{n} p_i^{\,y_i} (1 - p_i)^{1 - y_i}

対数を取ると 対数尤度 が得られます:

logL=i=1n[yilogpi+(1yi)log(1pi)]\log L = \sum_{i=1}^{n} \left[ y_i \log p_i + (1 - y_i) \log(1 - p_i) \right]

交差エントロピー損失

線形回帰の OLS とは異なり、微分して 0 とおく方法では解けません — 閉じた形の解が存在しないのです。

代わりに、負の対数尤度である交差エントロピー損失を最小化します:

L=i=1n[yilog(pi)+(1yi)log(1pi)]\mathcal{L} = -\sum_{i=1}^{n} \left[ y_i \log(p_i) + (1 - y_i) \log(1 - p_i) \right]

この損失関数は、確信を持った誤った予測に対して大きなペナルティを与えます:

  • yi=1y_i = 1 なのにモデルが pi0p_i \approx 0 と予測すると、損失 log(pi)-\log(p_i) が非常に大きくなる
  • yi=0y_i = 0 なのにモデルが pi1p_i \approx 1 と予測すると、損失 log(1pi)-\log(1 - p_i) が非常に大きくなる

この最適化には勾配降下法などの反復的手法を使います:

wwαLw,bbαLbw \leftarrow w - \alpha \frac{\partial \mathcal{L}}{\partial w}, \qquad b \leftarrow b - \alpha \frac{\partial \mathcal{L}}{\partial b}

インタラクティブ・デモ

ロジスティック回帰を体感してみましょう。重みとバイアスのスライダーを動かしてシグモイド曲線の変化を観察したり、Start Gradient Descent をクリックして最適なパラメータを自動で学習する様子を確認できます。

-4-3-2-101234z = wx + b00.250.50.751P(y=1|x)boundary: x=0.00

Click on the chart to add data points (top half → y=1, bottom half → y=0)

Iteration
0
Log Loss
0.0000
Accuracy
92.9%
y = 1y = 0SigmoidDecision Boundary

操作ガイド

  • チャートをクリックしてデータ点を追加(上半分 → y=1、下半分 → y=0)
  • 「Cross-Entropy Loss」タブに切り替えて、損失ランドスケープのヒートマップを確認できます
    • 濃い青色は損失が低い(モデルの当てはまりが良い)領域を示します
    • 明るい緑・黄色系は損失が高い(当てはまりが悪い)領域を示します
    • 赤い点は現在の (w,b)(w, b) の位置 — 勾配降下法で青い領域に向かって移動します
  • 勾配降下法を開始して、赤い点が損失面の最小値へ向かう様子を観察しましょう
  • 重なる位置にデータ点を追加(例:x=−2 付近に y=1)して、ノイズに対するモデルの振る舞いを確認しましょう

GLM との関係

ロジスティック回帰は一般化線形モデル(GLM)の特殊なケースです:

構成要素選択
分布ベルヌーイ分布
リンク関数ロジット:g(μ)=logμ1μg(\mu) = \log\frac{\mu}{1-\mu}
線形予測子η=wx+b\eta = w^\top x + b

分類結果の評価には、感度・特異度・ROC曲線が役立ちます。

まとめ

ロジスティック回帰は、シグモイド関数によって線形予測子を確率に変換し、交差エントロピー損失を反復的に最適化することで最適なパラメータを求めます。統計学と機械学習における最も基本的な分類モデルの一つであり、解釈しやすく、実用的な応用にも十分な性能を発揮します。

← 図鑑に戻る