IT用語集

ロジスティック回帰とは? 10分でわかりやすく解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

ロジスティック回帰は、特徴量から「ある事象が起きる確率」を推定する分類モデルです。購入するかしないか、不正か正常か、退会するかしないかのように、答えが二択になる問題でよく使われます。出力を0〜1の確率で扱え、係数の向きも読み取りやすいため、複雑なモデルへ進む前の比較用モデルとしても使いやすい手法です。

ただし、万能ではありません。複雑な非線形な境界をそのまま表すのは得意ではなく、クラス不均衡では指標の選び方と閾値の決め方が結果を大きく左右します。使いどころは、確率が欲しい、説明しやすさが必要、まず基準となる分類モデルを作りたいときです。

ロジスティック回帰とは何か

ロジスティック回帰は、特徴量(説明変数)から、目的変数が1になる確率を推定するモデルです。代表的な用途は、二値分類です。たとえば「スパム/非スパム」「不正利用/通常利用」「解約する/しない」といった問題で使われます。

名前に「回帰」とありますが、主な用途は分類です。理由は、最終的に連続値そのものを予測するのではなく、あるクラスに属する確率を求め、その確率を閾値で区切って分類に使うためです。

基本的な考え方

ロジスティック回帰は、まず特徴量の線形結合からスコアを作ります。そのスコアをシグモイド関数で0〜1に変換し、確率として扱います。

  • 線形予測子:z = β0 + β1x1 + … + βpxp
  • 確率変換:p = 1 / (1 + exp(-z))

重要なのは、「全部を非線形に扱うモデル」ではないことです。ロジスティック回帰が線形に置いているのは、確率そのものではなく、対数オッズ(ロジット)です。このため、係数の意味を比較的説明しやすいという強みがあります。

線形回帰との違い

項目ロジスティック回帰線形回帰
主な用途分類連続値の予測
出力0〜1の確率実数値
モデル化する対象対数オッズ目的変数そのもの
典型例購入するか、退会するか、不正か売上、気温、需要量

線形回帰で二値分類を無理に行うと、予測値が0未満や1超になることがあり、確率として解釈しにくくなります。二値分類なら、通常はロジスティック回帰の方が筋が通っています。

メリットと弱点

  • メリット:確率を出せる、係数の向きが読み取りやすい、学習が安定しやすい、正則化を組み込みやすい
  • 弱点:単純な形では複雑な非線形な関係を表しにくい、特徴量設計の影響を受けやすい、クラス不均衡では正解率だけ見ると判断を誤りやすい

また、「交互作用を扱えない」と言い切るのは正確ではありません。交互作用項や変換後の特徴量を追加すれば扱えます。ただし、モデルが自動でそれを見つけてくれるわけではないため、特徴量設計が必要です。

ロジスティック回帰が向くケースと向かないケース

向くケース

  • 目的変数が二値、または多クラスである
  • 確率として出したい
  • どの特徴が結果にどう効くかを説明したい
  • まず比較用の基準モデルを作りたい
  • 極端に複雑な関係より、解釈と運用のしやすさを優先したい

向かない、または慎重に使うべきケース

  • 特徴量と目的変数の関係がかなり複雑で、単純な特徴量変換では足りない
  • 高い再現率や適合率を求める一方で、特徴量設計に時間をかけられない
  • クラス不均衡が強く、標準設定のままだと陽性をほとんど拾えない
  • 係数を説明したいのに、多重共線性が強くて解釈が不安定になる

こうした場合は、決定木系モデル、SVMニューラルネットワークなどと比較する価値があります。ただし、最初から複雑なモデルへ進むより、ロジスティック回帰で基準を作って差分を見る方が、判断しやすいことが多くあります。

ロジスティック回帰の数学的な見方

シグモイド関数

ロジスティック回帰の中心は、シグモイド関数です。実数を0〜1に収めるため、出力を確率として扱いやすくなります。

σ(z) = 1 / (1 + exp(-z))

この変換があるため、どれだけ大きな正の値や負の値が入っても、出力は0〜1の範囲に収まります。

ロジット(対数オッズ)

ロジスティック回帰では、確率そのものではなく、対数オッズを線形に表します。

  • オッズ:p / (1 - p)
  • ロジット:log(p / (1 - p)) = β0 + β1X1 + … + βpXp

この形を取ることで、係数は「特徴量が変化したときにオッズがどう変わるか」という意味で読めます。ただし、係数の解釈は、他の特徴量を固定したときの話であり、多重共線性が強いと読み取りにくくなります。

損失関数

学習では、係数を適当に決めるのではなく、予測確率と正解ラベルのずれが小さくなるように最適化します。一般的には、負の対数尤度、実装上は交差エントロピー損失として扱われます。

ざっくり言えば、正解なのに低い確率を付けたとき、または誤りなのに高い確率を付けたときに大きく罰する損失です。

最適化

標準的なロジスティック回帰では、損失関数が凸になるため、学習が比較的安定しやすいという利点があります。とはいえ、正則化の種類やソルバによって扱いは変わります。L1正則化を使う場合などは、対応したソルバを選ぶ必要があります。

実装で押さえるべきポイント

前処理

性能差が出やすいのは、モデル式そのものより前処理です。最低限、次の点は整理しておく必要があります。

  1. 欠損値をどう扱うか決める
  2. カテゴリ変数を数値へ変換する
  3. 必要に応じて標準化する
  4. 強い相関を持つ特徴量が解釈を不安定にしないか確認する

特に、正則化や勾配系ソルバを使う場合は、スケーリングの影響を受けやすくなります。前処理は学習時だけでなく、推論時にも同じ手順を再現できる形で残す必要があります。

正則化とソルバ

ロジスティック回帰の調整点は、主に正則化とソルバです。

  • L2正則化:係数全体を小さく保ちやすい
  • L1正則化:不要な特徴量の係数を0にしやすい
  • Elastic Net:L1とL2を組み合わせる

また、ソルバはデータ件数、特徴量数、正則化の種類、多クラス対応の有無で選びます。設定を固定のまま使うのではなく、交差検証で汎化性能を見ながら決める方が安全です。

閾値設計

ロジスティック回帰は確率を出しますが、分類結果にするには閾値が必要です。ここで0.5をそのまま使うことが多いものの、0.5が最適とは限りません。

たとえば、不正検知や疾患スクリーニングでは、見逃しのコストが高いことがあります。その場合は再現率を重視して閾値を下げる判断があり得ます。反対に、誤検知のコストが高いなら、閾値を上げる選択もあります。閾値は数式の問題というより、業務要件の問題です。

評価指標

二値分類では、正解率だけで良し悪しを決めるべきではありません。特にクラス不均衡では、正解率が高くても陽性をほとんど見つけていないことがあります。

  • 正解率(Accuracy)
  • 適合率(Precision)
  • 再現率(Recall)
  • F1スコア
  • ROC-AUC
  • PR-AUC

また、出力確率を業務判断に使うなら、キャリブレーションも確認した方が安全です。「0.8と出たものが本当に8割程度当たるか」は、分類の正否とは別の論点です。

応用例

スパムメール分類

メール本文の単語、n-gram、送信者情報などを特徴量にして、スパムかどうかを判定します。まずロジスティック回帰で基準性能を作り、その後で別モデルと比較する進め方が扱いやすいです。

不正利用検知

取引金額、時間帯、地域、利用履歴から不正の確率を推定します。ここでは、モデルの精度だけでなく、閾値をどう設定し、アラート、保留、追加認証へどうつなぐかまで含めて設計する必要があります。

CTR予測

広告配信では、クリック率の推定にロジスティック回帰が使われることがあります。確率出力をそのまま次の判断材料に使いやすいためです。ただし、配信環境の変化が早い場合は、ドリフト監視や再学習の設計も必要になります。

医療・審査・離脱予測

疾患の有無、与信審査、解約予測のように、「起こる確率」を出したい場面でも使われます。こうした用途では、精度だけでなく、説明可能性、見逃しの扱い、偏りの確認も重要になります。

まとめ

ロジスティック回帰は、特徴量から事象が起きる確率を推定する分類モデルです。対数オッズを線形にモデル化するため、確率を出しやすく、係数の向きも説明しやすいという利点があります。

一方で、複雑な関係を自動で表すのは得意ではなく、特徴量設計、正則化、評価指標、閾値の設計が結果を左右します。最初の比較用モデルとして使いやすく、説明が必要な場面でも扱いやすい一方で、性能だけを最優先するなら別手法と比べる前提で使うのが現実的です。

Q.ロジスティック回帰は「回帰」なのに分類に使うのはなぜですか?

A.0〜1の確率を推定し、その確率を閾値で区切ってクラスへ変換できるためです。予測対象は連続値ではなく、あるクラスに属する確率です。

Q.ロジスティック回帰の出力はそのまま確率とみなせますか?

A.確率として扱うことはできますが、常にそのままで十分とは限りません。業務で確率そのものを使うなら、キャリブレーションも確認した方が安全です。

Q.線形回帰で二値分類をしてはいけませんか?

A.一般には勧めにくいです。予測値が0〜1に収まらず、確率として解釈しにくくなるためです。二値分類なら、通常はロジスティック回帰の方が適しています。

Q.ロジスティック回帰は非線形モデルですか?

A.確率への変換は非線形ですが、モデルが線形に置いているのは対数オッズです。そのため、完全な意味で何でも表せる非線形モデルではありません。

Q.交互作用は扱えないのですか?

A.扱えます。交互作用項を特徴量として追加すれば表現できます。ただし、モデルが自動で交互作用を見つけてくれるわけではありません。

Q.クラス不均衡では何に注意すべきですか?

A.正解率だけで判断しないことが重要です。再現率、適合率、PR-AUCを見ながら、見逃しと誤検知のどちらを重く見るかに応じて閾値を調整します。

Q.前処理で特に重要な点は何ですか?

A.カテゴリ変数の変換、欠損処理、必要に応じた標準化です。さらに、学習時と推論時で同じ処理を再現できる形にしておく必要があります。

Q.正則化(L1/L2)はいつ使うべきですか?

A.過学習を抑えたいとき、特徴量が多いとき、係数の暴れを抑えたいときに有効です。L1は特徴量選択の効果も期待でき、L2は全体を滑らかに抑えやすい傾向があります。

Q.閾値0.5を使うのが一般的ですか?

A.初期値として使われることは多いですが、最適とは限りません。見逃しと誤検知のコストを踏まえて調整する必要があります。

Q.多クラス分類にも使えますか?

A.使えます。多項ロジスティック回帰として拡張でき、クラス数が2より多い問題にも対応できます。

記事を書いた人

ソリトンシステムズ・マーケティングチーム