ロジスティック回帰

ロジスティック回帰(Logistic Regression)は、教師あり学習の分類問題における代表的な手法の一つです。特に、2クラス分類(二値分類)問題に広く用いられています。


1. ロジスティック回帰の概要

ロジスティック回帰は、名前に「回帰」という語が含まれていますが、目的は離散的なクラスラベル(たとえば「0」または「1」)の予測です。入力特徴量(説明変数)と出力クラスとの関係を確率的にモデル化します。


2. 基本的なアイデア

ロジスティック回帰では、まず入力ベクトル x=(x1,x2,,xn)\mathbf{x} = (x_1, x_2, \ldots, x_n) に対して、線形結合を計算します:

z=wx+b=w1x1+w2x2++wnxn+bz = \mathbf{w}^\top \mathbf{x} + b = w_1x_1 + w_2x_2 + \cdots + w_nx_n + b

これをそのまま使うと出力は実数値になりますが、分類には確率(0〜1)として扱える値が必要です。そこで、**シグモイド関数(ロジスティック関数)**を用いて、出力を確率に変換します:

σ(z)=11+ez\sigma(z) = \frac{1}{1 + e^{-z}}

この関数の出力は常に 0<σ(z)<10 < \sigma(z) < 1 となるため、クラス1の確率とみなすことができます。


3. 決定境界と予測

モデルが出力する確率 P(y=1x)P(y=1|\mathbf{x}) が 0.5 以上であれば「クラス1」、それ未満であれば「クラス0」と判断します。
つまり:

y^={1if σ(z)0.50if σ(z)<0.5\hat{y} = \begin{cases} 1 & \text{if } \sigma(z) \geq 0.5 \\ 0 & \text{if } \sigma(z) < 0.5 \end{cases}


4. 損失関数と学習

ロジスティック回帰の学習では、**交差エントロピー損失関数(log loss)**を用いて、モデルのパラメータ(重みとバイアス)を最適化します:

L(w,b)=i=1m[y(i)log(y^(i))+(1y(i))log(1y^(i))]L(\mathbf{w}, b) = – \sum_{i=1}^{m} \left[ y^{(i)} \log(\hat{y}^{(i)}) + (1 – y^{(i)}) \log(1 – \hat{y}^{(i)}) \right]

ここで:

  • mm:訓練データのサンプル数

  • y^(i)=σ(wx(i)+b)\hat{y}^{(i)} = \sigma(\mathbf{w}^\top \mathbf{x}^{(i)} + b)

  • y(i)y^{(i)}:正解ラベル(0 または 1)

損失関数を最小化することで、分類性能を向上させます。通常は**確率的勾配降下法(SGD)**などの最適化アルゴリズムが使われます。


5. 特徴と利点

  • 計算が軽く、高速に学習できる

  • 出力が確率であるため、解釈しやすい

  • 線形分離可能な問題に強い

  • 過学習しにくく、正則化(L1/L2)も容易に導入可能


6. 限界

  • 線形な決定境界しか表現できない(非線形な境界は不得意)

  • 外れ値に敏感

  • 高次元データでは性能が低下することがある(カーネル法などで改善可能)


7. マルチクラス分類への拡張

ロジスティック回帰は本来は2クラス分類用ですが、次のように拡張できます:

  • 一対多法(One-vs-Rest, OvR):各クラス vs その他のクラスで2クラス分類を複数構築

  • ソフトマックス回帰(多クラスロジスティック回帰):確率を全クラスに正規化して分類


まとめ

特徴 内容
分類タイプ 二値分類(マルチクラス拡張あり)
出力 クラス1の確率(0〜1)
損失関数 交差エントロピー
モデル形状 線形決定境界
使用例 スパム判定、疾患診断、ユーザー行動予測など

生成日:2025/06/01