ロジスティック回帰は、特徴量から「ある事象が起きる確率」を推定する分類モデルです。購入するかしないか、不正か正常か、退会するかしないかのように、答えが二択になる問題でよく使われます。出力を0〜1の確率で扱え、係数の向きも読み取りやすいため、複雑なモデルへ進む前の比較用モデルとしても使いやすい手法です。
ただし、万能ではありません。複雑な非線形な境界をそのまま表すのは得意ではなく、クラス不均衡では指標の選び方と閾値の決め方が結果を大きく左右します。使いどころは、確率が欲しい、説明しやすさが必要、まず基準となる分類モデルを作りたいときです。
ロジスティック回帰は、特徴量(説明変数)から、目的変数が1になる確率を推定するモデルです。代表的な用途は、二値分類です。たとえば「スパム/非スパム」「不正利用/通常利用」「解約する/しない」といった問題で使われます。
名前に「回帰」とありますが、主な用途は分類です。理由は、最終的に連続値そのものを予測するのではなく、あるクラスに属する確率を求め、その確率を閾値で区切って分類に使うためです。
ロジスティック回帰は、まず特徴量の線形結合からスコアを作ります。そのスコアをシグモイド関数で0〜1に変換し、確率として扱います。
z = β0 + β1x1 + … + βpxpp = 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正則化を使う場合などは、対応したソルバを選ぶ必要があります。
性能差が出やすいのは、モデル式そのものより前処理です。最低限、次の点は整理しておく必要があります。
特に、正則化や勾配系ソルバを使う場合は、スケーリングの影響を受けやすくなります。前処理は学習時だけでなく、推論時にも同じ手順を再現できる形で残す必要があります。
ロジスティック回帰の調整点は、主に正則化とソルバです。
また、ソルバはデータ件数、特徴量数、正則化の種類、多クラス対応の有無で選びます。設定を固定のまま使うのではなく、交差検証で汎化性能を見ながら決める方が安全です。
ロジスティック回帰は確率を出しますが、分類結果にするには閾値が必要です。ここで0.5をそのまま使うことが多いものの、0.5が最適とは限りません。
たとえば、不正検知や疾患スクリーニングでは、見逃しのコストが高いことがあります。その場合は再現率を重視して閾値を下げる判断があり得ます。反対に、誤検知のコストが高いなら、閾値を上げる選択もあります。閾値は数式の問題というより、業務要件の問題です。
二値分類では、正解率だけで良し悪しを決めるべきではありません。特にクラス不均衡では、正解率が高くても陽性をほとんど見つけていないことがあります。
また、出力確率を業務判断に使うなら、キャリブレーションも確認した方が安全です。「0.8と出たものが本当に8割程度当たるか」は、分類の正否とは別の論点です。
メール本文の単語、n-gram、送信者情報などを特徴量にして、スパムかどうかを判定します。まずロジスティック回帰で基準性能を作り、その後で別モデルと比較する進め方が扱いやすいです。
取引金額、時間帯、地域、利用履歴から不正の確率を推定します。ここでは、モデルの精度だけでなく、閾値をどう設定し、アラート、保留、追加認証へどうつなぐかまで含めて設計する必要があります。
広告配信では、クリック率の推定にロジスティック回帰が使われることがあります。確率出力をそのまま次の判断材料に使いやすいためです。ただし、配信環境の変化が早い場合は、ドリフト監視や再学習の設計も必要になります。
疾患の有無、与信審査、解約予測のように、「起こる確率」を出したい場面でも使われます。こうした用途では、精度だけでなく、説明可能性、見逃しの扱い、偏りの確認も重要になります。
ロジスティック回帰は、特徴量から事象が起きる確率を推定する分類モデルです。対数オッズを線形にモデル化するため、確率を出しやすく、係数の向きも説明しやすいという利点があります。
一方で、複雑な関係を自動で表すのは得意ではなく、特徴量設計、正則化、評価指標、閾値の設計が結果を左右します。最初の比較用モデルとして使いやすく、説明が必要な場面でも扱いやすい一方で、性能だけを最優先するなら別手法と比べる前提で使うのが現実的です。
A.0〜1の確率を推定し、その確率を閾値で区切ってクラスへ変換できるためです。予測対象は連続値ではなく、あるクラスに属する確率です。
A.確率として扱うことはできますが、常にそのままで十分とは限りません。業務で確率そのものを使うなら、キャリブレーションも確認した方が安全です。
A.一般には勧めにくいです。予測値が0〜1に収まらず、確率として解釈しにくくなるためです。二値分類なら、通常はロジスティック回帰の方が適しています。
A.確率への変換は非線形ですが、モデルが線形に置いているのは対数オッズです。そのため、完全な意味で何でも表せる非線形モデルではありません。
A.扱えます。交互作用項を特徴量として追加すれば表現できます。ただし、モデルが自動で交互作用を見つけてくれるわけではありません。
A.正解率だけで判断しないことが重要です。再現率、適合率、PR-AUCを見ながら、見逃しと誤検知のどちらを重く見るかに応じて閾値を調整します。
A.カテゴリ変数の変換、欠損処理、必要に応じた標準化です。さらに、学習時と推論時で同じ処理を再現できる形にしておく必要があります。
A.過学習を抑えたいとき、特徴量が多いとき、係数の暴れを抑えたいときに有効です。L1は特徴量選択の効果も期待でき、L2は全体を滑らかに抑えやすい傾向があります。
A.初期値として使われることは多いですが、最適とは限りません。見逃しと誤検知のコストを踏まえて調整する必要があります。
A.使えます。多項ロジスティック回帰として拡張でき、クラス数が2より多い問題にも対応できます。