ロジスティック回帰(Logistic Regression)
Logistic Regression
概要
ロジスティック回帰(Logistic Regression)とは、シグモイド関数を用いて入力データがあるクラスに属する確率を出力し、分類を行う教師あり学習の手法です。名前に「回帰」が含まれていますが、実際には分類問題に使われる手法であり、この点はG検定でも頻出の出題ポイントです。
ロジスティック回帰は、二値分類(2クラス分類)の基本的な手法として広く利用されており、スパムメール判定、疾患の有無の診断、顧客の離脱予測など、実社会の多くの場面で活用されています。出力が確率値であるため、予測結果の解釈がしやすいという利点があります。また、ニューラルネットワークの活性化関数(シグモイド関数)の理解にもつながる重要な概念です。
詳細解説
シグモイド関数(ロジスティック関数)
ロジスティック回帰の核となるのがシグモイド関数(σ関数)です。シグモイド関数は、任意の実数値を0から1の間の値に変換する関数で、以下の式で定義されます。
σ(z) = 1 / (1 + e^(-z))
ここで z = wx + b は線形回帰と同じ形式の線形結合です。シグモイド関数を通すことで、出力値が0から1の間に収まるため、確率として解釈できるようになります。出力が0.5以上ならクラス1(陽性)、0.5未満ならクラス0(陰性)と判定するのが一般的です。
シグモイド関数のS字型のカーブは、入力値が大きくなると出力が1に近づき、小さくなると0に近づくという特性を持っています。この関数はニューラルネットワークの活性化関数としても使われますが、勾配消失問題のため、深層ネットワークではReLUなどの活性化関数が好まれるようになっています。
二値分類と多クラス分類
二値分類(Binary Classification)
ロジスティック回帰は本来、二値分類(2つのクラスのどちらかを予測する問題)のための手法です。例えば、メールがスパムかどうか、腫瘍が悪性か良性かなどの判定に用います。出力確率が閾値(通常0.5)を超えるかどうかでクラスを決定します。
多クラス分類への拡張
ロジスティック回帰を多クラス分類(3つ以上のクラス)に拡張したものがソフトマックス回帰(多項ロジスティック回帰)です。ソフトマックス関数を用いて各クラスに属する確率を出力し、最も確率が高いクラスに分類します。ソフトマックス関数はディープラーニングの出力層でも広く使われています。
確率出力の特徴
ロジスティック回帰の大きな利点は、単にクラスを予測するだけでなく、そのクラスに属する確率を出力できる点です。例えば、顧客の離脱確率が0.85(85%)と出力された場合、離脱リスクが高いと判断して先手を打った施策を実行できます。この確率出力により、閾値を調整してモデルの振る舞いを制御することも可能です。
損失関数:交差エントロピー(Cross-Entropy)
線形回帰では平均二乗誤差(MSE)を損失関数として使いますが、ロジスティック回帰では交差エントロピー(クロスエントロピー)損失を使用します。交差エントロピー損失は、予測確率と実際のラベルとの差を測る指標で、確率的な予測の誤差を適切に評価できます。
名前の由来
ロジスティック回帰は分類手法であるにもかかわらず「回帰」という名前が付いている理由は、この手法が元々は「確率の対数オッズ(ロジット)に対する回帰」として定式化されたためです。対数オッズ ln(p/(1-p)) に対して線形回帰を行うことから、ロジスティック回帰という名前になりました。このため「回帰」と付いていても分類手法であるという点は、G検定で頻繁に出題されるポイントです。
線形回帰との違い
| 比較項目 | 線形回帰 | ロジスティック回帰 |
|---|---|---|
| タスク | 回帰(連続値の予測) | 分類(カテゴリの予測) |
| 出力値の範囲 | -∞ 〜 +∞ | 0 〜 1(確率) |
| 活性化関数 | なし(恒等関数) | シグモイド関数 |
| 損失関数 | 平均二乗誤差(MSE) | 交差エントロピー |
| 出力の解釈 | 予測数値 | クラスに属する確率 |
歴史・背景
ロジスティック関数は、1838年にベルギーの数学者ピエール・フランソワ・フェアフルストが人口増加モデルとして提案したものが起源です。「ロジスティック」という名称もフェアフルストに由来します。1944年にはジョセフ・バークソンがロジット(logit)モデルの概念を導入し、統計学における分類手法としてのロジスティック回帰の基礎を築きました。
1960年代以降、医学統計学や疫学の分野で広く採用されるようになり、特にデビッド・コックスの1958年の論文が現代的なロジスティック回帰の定式化に大きく貢献しました。現在では、機械学習の入門的な分類手法として、また深層学習における出力層の活性化関数(シグモイド関数・ソフトマックス関数)の理論的基盤として重要な位置を占めています。
具体的な事例
- スパムメール判定:メールの本文や件名の特徴量からスパムである確率を計算し、閾値以上ならスパムと判定します。
- 医療診断:患者の検査値(血圧、血糖値、コレステロールなど)から疾患の有無を予測します。確率出力により、リスクの程度を定量的に評価できます。
- 顧客離脱予測(チャーン予測):顧客の行動データから解約する確率を予測し、離脱防止策の対象を選定します。
- クレジットカード不正検知:取引データの特徴量から不正利用である確率を算出し、リアルタイムで不正取引を検知します。
- 広告クリック率予測:ユーザー属性とコンテンツ情報からクリックする確率を予測し、広告配信の最適化に活用します。
G検定での出題ポイント
- ロジスティック回帰は名前に「回帰」が付くが、実際は「分類」手法であることを必ず覚える
- シグモイド関数により出力を0〜1の確率値に変換する仕組みを理解する
- 線形回帰との違い(タスク・出力値の範囲・損失関数)を明確に区別できること
- 二値分類と多クラス分類(ソフトマックス回帰)の関係を把握する
- 交差エントロピー損失が分類タスクの損失関数であることを知っておく
- 最重要:ロジスティック回帰は「回帰」ではなく「分類」の手法である
- シグモイド関数 σ(z) = 1/(1+e^(-z)) で出力を0〜1の確率に変換する
- 出力が0.5以上→クラス1、0.5未満→クラス0と判定するのが基本
- 線形回帰は連続値予測、ロジスティック回帰はカテゴリ予測
- 多クラス分類にはソフトマックス関数を使う(ソフトマックス回帰)