😊

ロジスティック回帰とは?

に公開

ロジスティック回帰

ロジスティック回帰(Logistic Regression)とは、ある事象が起こる確率を予測するための統計モデルで、特に2値分類(二項分類)問題に使われる代表的な手法です。

例で見るロジスティック回帰の用途

  • メールが「スパムかどうか」
  • 顧客が「購入するかしないか」
  • 画像に「猫が写っているかどうか」
  • 医療データから「病気があるかどうか」

ロジスティック回帰は、以下のような シグモイド関数(ロジスティック関数) を使って、0〜1の範囲の値(=確率)を出します。

P(y=1∣x)= 1+e −(w T x+b) 1 ​

x:入力特徴量
w:重み
b:バイアス

出力は「その入力がクラス1(=正例)である確率」

線形回帰との違い

項目 線形回帰 ロジスティック回帰
目的 数値予測 クラス分類
出力 実数値(例:120.5) 確率(0〜1)
出力関数 直線 シグモイド関数

損失関数(Binary Cross Entropy)

学習では誤差(損失)を最小化するために「ロジスティック損失関数(交差エントロピー)」を使います。

L=−[ylog(p)+(1−y)log(1−p)]

実装例(PyTorch)

import torch.nn as nn

model = nn.Sequential(
    nn.Linear(10, 1),     # 入力次元10 → 出力1
    nn.Sigmoid()          # 確率に変換
)
loss_fn = nn.BCELoss()    # Binary Cross Entropy

Discussion