4.4 ロジスティック回帰

「スパムかどうか」を判定する分類器が、ただ「スパムです」と断言するだけでなく、「80%の確率でスパムです」と答えてくれたら—そんな確率出力を直接モデル化するのがロジスティック回帰です。

シグモイド関数というシンプルな変換で、任意の実数を0〜1の確率に変換し、係数をオッズ比として解釈できる。分布の仮定が少なく頑健で、医学研究から機械学習まで幅広く使われる、分類問題の基本手法を一緒に学んでいきましょう。

分類で「確率」を知りたい理由

あなたのメールボックスに1通のメールが届きました。これはスパムでしょうか、それとも大事なメールでしょうか?

分類器が「スパムです」と断言してくれるのも便利ですが、こんな答えの方がもっと便利ではないでしょうか:「80%の確率でスパムです」。

確率がわかれば、私たちは柔軟に対応できます:

医療でも同じです。「心臓病です」という診断と「心臓病の可能性は90%です」という診断では、その後の対応がまったく違います。確率がわかれば、追加検査をするか、すぐに治療を始めるかの判断ができるのです。

前章のLDA(線形判別分析)でもベイズの定理を使えば確率は計算できました。しかし「データがガウス分布(正規分布)に従う」という仮定が必要でした。

ロジスティック回帰は、そうした分布の仮定なしに確率を直接モデル化します。出発点はシンプルです:「確率そのものを予測変数xの関数として表そう」。

離散出力と確率出力の対比を示すアニメーション

確率を直接モデル化する問題

確率 $p(x)$ を予測変数 $x$ の関数として表したい。最も単純なアイデアは線形モデルです:

$$p(x) = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots$$

ここで β₀, β₁, ... はデータから学習するパラメータです。

しかし、これには致命的な問題があります。確率は0から1の間の値でなければなりませんが、線形モデルの出力はどんな値でも取りえます。xが大きくなると p(x) が1.5になったり、小さくなると-0.3になったりしてしまいます。

1.5という確率や、-0.3という確率は意味がありません。

私たちが必要なのは、「任意の実数を0〜1の範囲に押し込める」変換です。

$$p(x) = \beta_0 + \beta_1 x_1 + \cdots \quad \text{(問題:[0,1]に収まらない)}$$

シグモイド関数 - 実数を確率に変換する

この問題を解決するのがシグモイド関数(ロジスティック関数とも呼ばれます)です。

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

e はネイピア数(約2.718)で、数学でよく使われる定数です。

この関数には素晴らしい性質があります:

  1. 出力が常に (0, 1) の範囲 - どんな入力でも確率として使える
  2. S字型の滑らかな曲線 - 極端な値では飽和する
  3. z = 0 のとき σ(0) = 0.5 - ちょうど真ん中

具体的な値を見てみましょう:

シグモイド関数のS字曲線と具体的な値

この関数を使えば、線形モデルの出力を確率に変換できます:

$$p(x) = \sigma(\beta_0 + \beta_1 x_1 + \cdots) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \cdots)}}$$

これがロジスティック回帰の核心です。

決定境界は線形

ロジスティック回帰で「クラス1」と判定するのは、確率が0.5を超えたときです:

$$p(x) > 0.5$$

シグモイド関数の性質から、σ(z) > 0.5 は z > 0 と同じです。したがって:

$$\beta_0 + \beta_1 x_1 + \cdots > 0$$

これは、決定境界が次の式で表されることを意味します:

$$\beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots = 0$$

2次元なら直線、3次元なら平面、それ以上なら超平面です。

前章のLDAと同様に、ロジスティック回帰も線形の境界で分類します

ただし重要な違いがあります:

仮定が少ない分、ロジスティック回帰はより多くの場面で安定して使えます

確率0.5での決定境界と確率分布
$$\text{決定境界:} \quad \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots = 0$$

ここまでのまとめ - ロジスティック回帰の基本形

ここまでの内容を整理しましょう。

ロジスティック回帰の基本アイデア

  1. 確率を直接予測したい
  2. 線形モデルの出力は[0,1]に収まらない
  3. シグモイド関数で変換すれば確率になる

モデルの形

$$p(x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \cdots)}}$$

決定境界:確率 = 0.5 となる線(超平面)

あとは、パラメータ β₀, β₁, ... をデータから学習する方法がわかれば、ロジスティック回帰を実際に使えるようになります。

最尤推定 - パラメータの学習

シグモイドモデルの形は決まりました。あとはパラメータ β をデータから学習する必要があります。

N個の訓練データ (x₁, y₁), (x₂, y₂), ..., (xₙ, yₙ) があるとします。各 yᵢ は0または1です。

学習の基本的な考え方は「尤度(ゆうど)最大化」です。尤度とは「今観測されたデータがどれくらいもっともらしいか」を表す値です。

各観測値について:

すべての観測値についてこの「もっともらしさ」を掛け合わせ(対数を取ると足し算になります)、その値を最大にするようなパラメータを探します。

$$\ell(\beta) = \sum_{i=1}^N \left[ y_i \log p(x_i) + (1-y_i) \log(1-p(x_i)) \right]$$

この式を最大化するパラメータ β を見つけるのが「最尤推定」です。

尤度最大化の概念 - パラメータ調整によるフィット過程

ログオッズという見方

ロジスティック回帰には、もう一つの有用な視点があります。それがログオッズ(対数オッズ)です。

まずオッズという概念から。オッズとは「起こる確率 / 起こらない確率」のことです:

$$\text{オッズ} = \frac{p}{1-p}$$

競馬などで「3倍のオッズ」と言うとき、それは「起こる方が3倍起こりやすい」という意味です。確率が0.75なら、オッズは 0.75/0.25 = 3 です。

このオッズの対数を取ったものがログオッズ

$$\log\frac{p}{1-p}$$

驚くべきことに、ロジスティック回帰ではこのログオッズが入力の線形関数になっているのです:

$$\log\frac{p(x)}{1-p(x)} = \beta_0 + \beta_1 x_1 + \cdots$$

この見方は係数の解釈に役立ちます。β₁ は「x₁ が1増えると、ログオッズがβ₁だけ増える」ことを意味します。

確率→オッズ→ログオッズの3段階変換

係数の解釈 - オッズ比

ロジスティック回帰の大きな強みは、係数を直感的に解釈できることです。

係数 βⱼ は「xⱼ が1単位増加したとき、ログオッズがどれだけ変化するか」を表します。これをオッズの変化に直すと:

$$\text{オッズ比} = e^{\beta_j}$$

具体例:心臓病予測モデルで、喫煙量(生涯のタバコ使用量 kg)の係数が β = 0.081 だとします。

もう少し具体的に言うと:

この解釈のしやすさが、医学研究などでロジスティック回帰が広く使われる理由の一つです。

係数からオッズ比への変換と解釈

LDAとの比較

前章のLDAとロジスティック回帰を比較してみましょう。両者は同じ線形の決定境界を持ちますが、アプローチが異なります。

観点LDAロジスティック回帰
モデル化対象クラス内のデータ分布確率を直接
仮定データが正規分布に従う特になし
強み仮定が正しければ効率的頑健(仮定が少ない)

実践的な選択基準

多くの実践的場面では、ロジスティック回帰がより安全な選択とされています。分布の仮定をしないため、様々なデータタイプに対応できるからです。

一方、データが本当に正規分布に従う場合、LDAの方が約30%効率的(より少ないデータで同じ精度が出せる)という理論的結果もあります。

LDAとロジスティック回帰のアプローチの違い

発展 - 多クラス分類と正則化

ここまでは2クラス分類を見てきましたが、ロジスティック回帰は多クラス分類にも拡張できます。

3クラス以上の場合、各クラスの確率をSoftmax関数で計算します。これは、各クラスに対するスコア(線形関数の出力)を確率に変換する方法です。すべてのクラスの確率を足すと1になります。

多クラス分類の領域分割(3クラス)

また、特徴量が多い高次元データでは過学習(訓練データには合うが新しいデータに合わない)のリスクがあります。これを防ぐために、Lasso(L1正則化)と同様のペナルティを加えることができます。

$$\max_{\beta} \left[ \ell(\beta) - \lambda \sum_{j} |\beta_j| \right]$$

λを大きくすると、より多くの係数がゼロに縮小され、重要な変数だけが残るモデルになります。

まとめ - ロジスティック回帰の位置づけ

ロジスティック回帰は、分類問題に対する強力で解釈しやすい手法です。

核心的アイデア

ロジスティック回帰の全体フロー(入力→線形結合→シグモイド→確率)

実用的な強み

  1. 確率出力 - 予測の確信度がわかる
  2. 解釈可能性 - 係数をオッズ比として理解できる
  3. 頑健性 - 分布の仮定が少ない
  4. 拡張性 - 多クラス、正則化に対応

使い分けの指針

次章では、「クラスを分離する超平面を直接見つける」という別のアプローチ(分離超平面とSVM)を学びます。

$$p(x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \cdots)}}$$