ロジスティック回帰とシグモイド・対数尤度の導出
なぜ確率を直接ではなく対数オッズを線形に置くのか。シグモイド・交差エントロピー・凸性・IRLSまでを一本の導出で繋ぎ、暗記だった更新式が必然に変わります。
- 1.ロジスティック回帰は確率そのものではなく対数オッズ(logit)を線形 `w·x + b` で置くモデル。逆写像がシグモイドで、出力が `(0,1)` に収まる必然がここにある。
- 2.負の対数尤度=交差エントロピーはパラメータについて凸(ヘッセ行列が半正定値)。だから局所解がなく、勾配は `Σ (σ(z_i) − y_i) x_i` という「予測 − 正解」の形に収束する。
- 3.ニュートン法を適用すると、重み付き最小二乗を反復するIRLSになる。多クラスへはソフトマックスで自然に拡張され、勾配は二値と同じ `y_hat − y` を保つ。
なぜ「確率」ではなく「対数オッズ」を線形に置くのか
二値分類で素朴に p = w·x + b と置くと、線形式は実数全体を動くのに確率は (0,1) に収まらねばならず、すぐ破綻します。ロジスティック回帰の発想の核心は、確率そのものではなく対数オッズ(log-odds, logit)を線形にすることです。クラス1の確率を p とすると、オッズは p/(1−p)、その対数 log(p/(1−p)) は p が 0 から 1 に動くとき実数全体 (−∞, +∞) を走ります。値域が一致するので、ここを線形式で置けます。
log( p / (1 − p) ) = z = w·x + b # 対数オッズを線形にモデル化
この一本の式が出発点です。確率を直接いじらず、無制約に動ける logit を線形化したことが、以降のすべての性質(シグモイド・凸性・綺麗な勾配)を生みます。
シグモイドは logit の逆写像にすぎない
上の式を p について解き直すと、線形スコア z から確率を復元する写像が出ます。p/(1−p) = exp(z) を p について解くだけです。
p = exp(z) / (1 + exp(z)) = 1 / (1 + exp(−z)) = σ(z)
これがシグモイド関数 σ です。つまりシグモイドは天下りに「(0,1) に押し込む便利な関数」として導入されるのではなく、「対数オッズを線形に置く」という決定の逆写像として必然的に現れる。微分も簡潔で、σ'(z) = σ(z)(1 − σ(z)) が成り立ちます(後でこの形が勾配計算で効きます)。
ここで扱うのは「損失をどう下げるか」の一般論(勾配降下法 や Adam)ではなく、ロジスティック回帰という特定モデルの確率的定式化と最適化の数理です。なぜ交差エントロピーが最尤推定から出るかの一般論は 損失関数の数理 を、MLE/MAPの枠組みは 最尤推定・MAP・ベイズ を参照してください。
尤度から交差エントロピー損失へ
ラベル y が 0 か 1 のベルヌーイ分布に従うと仮定します。1データ点の確率は、正解が1なら p、0なら 1−p を返す形にまとめられます。
p(y | x) = p^y · (1 − p)^(1 − y) # y∈{0,1}、p = σ(z)
N点が独立同分布として尤度の積を取り、対数を取って符号を反転(最大化を最小化へ)すると、負の対数尤度(NLL) が得られます。
J(w) = −Σ_i [ y_i log σ(z_i) + (1 − y_i) log(1 − σ(z_i)) ]
これがバイナリ交差エントロピー(クロスエントロピー)損失そのものです。ロジスティック回帰の「損失」は後付けの選択ではなく、ベルヌーイ仮定の最尤推定から一意に導かれる帰結です。
勾配は「予測 − 正解」になる
J を重み w で微分します。連鎖律で ∂J/∂w = (∂J/∂z)(∂z/∂w) を計算すると、シグモイドの微分 σ' = σ(1−σ) と交差エントロピーの微分が打ち消し合い、項が劇的に簡約されます。1データ点では ∂J/∂z = σ(z) − y だけが残ります。
∇_w J = Σ_i ( σ(z_i) − y_i ) x_i # 「予測確率 − 正解」を特徴量で重み付け
∂J/∂b = Σ_i ( σ(z_i) − y_i )
勾配が**「予測 − 正解」の残差を特徴量で重み付けした和**になる。この簡潔さは 損失関数の数理 で見た softmax+CE の y_hat − y と同じ構造で、シグモイド(指数)と対数尤度(対数)が逆関数として相殺するために起こります。バッチ勾配降下なら更新式は次の通りです。
w ← w − η · Σ_i ( σ(z_i) − y_i ) x_i # η: 学習率
なぜ局所解に悩まされないのか:凸性
ロジスティック回帰が線形回帰と並んで「素直」なのは、交差エントロピー損失が w について凸だからです。凸関数の局所最小は大域最小なので、初期値や鞍点に悩まされません。これはヘッセ行列(2階微分の行列)が半正定値であることで保証されます。ヘッセ行列は次の形になります。
H = Σ_i σ(z_i)(1 − σ(z_i)) · x_i x_iᵀ = Xᵀ S X
ここで S は対角成分が s_i = σ(z_i)(1 − σ(z_i)) の対角行列です。s_i は確率 σ(z_i) が 0 から 1 の間で常に正(0 < s_i ≤ 0.25)なので、H は任意のベクトル v に対し vᵀ H v = Σ s_i (x_iᵀv)² ≥ 0、すなわち半正定値。これが凸性の数学的証明です。
データが超平面で完全に線形分離できる場合、尤度は w のノルムを無限に伸ばすほど大きくなり、最尤解が発散します(係数が ∞ へ)。凸でも有限の最小点を持たないケースです。実務では L2 正則化(正則化)を足してヘッセに λI を加え、強凸にして一意有限解を保証するのが定石。これは MAP 推定でガウス事前分布を置くことと等価です。
ニュートン法とIRLS
勾配だけでなく曲率(ヘッセ)も使えば収束が速くなります。ニュートン法の更新は w ← w − H⁻¹ ∇J です。ここに上で求めた ∇J = Xᵀ(σ(z) − y) と H = Xᵀ S X を代入して整理すると、各反復が重み付き最小二乗問題を解く形に書き換わります。これが IRLS(Iteratively Reweighted Least Squares, 反復重み付き最小二乗) です。
w_new = (Xᵀ S X)⁻¹ Xᵀ S z_adj
z_adj = X w_old + S⁻¹ ( y − σ(z) ) # 作業応答(working response)
各反復で重み S と作業応答 z_adj を更新し、重み付き正規方程式を解き直すだけ。一次法の勾配降下が直線的にしか進めないのに対し、IRLSはヘッセで曲率を捉えるため少数反復で2次収束します。次元が小さい古典的なロジスティック回帰(統計ソフトの実装)では既定の解法です。
| 最適化手法 | 使う情報 | 性質・適用場面 |
|---|---|---|
| 勾配降下 / SGD | 1階(勾配のみ) | 高次元・大規模データ向き。反復は多いが1回が軽い |
| ニュートン法 | 1階+2階(ヘッセ) | 2次収束。ヘッセの逆行列計算が O(d³) で高次元は重い |
| IRLS | ニュートン法を最小二乗に変形 | 低〜中次元の古典実装の定番。重み付き正規方程式を反復 |
| L-BFGS | ヘッセを勾配履歴で近似 | 中規模の実用解。scikit-learn の既定ソルバの一つ |
高次元・大規模データではヘッセの逆行列(O(d³))が重いため、SGDやAdam などの一次法やヘッセを近似する L-BFGS が選ばれます。手法はデータ規模と次元のトレードオフで決まります。
多クラスへの拡張:ソフトマックス回帰
K クラスへ一般化すると、各クラス k にスコア z_k = w_k·x を持たせ、シグモイドの代わりにソフトマックスで確率に正規化します。
p(y = k | x) = exp(z_k) / Σ_j exp(z_j) # softmax、Σ_k p_k = 1
これはシグモイドの自然な多クラス化です(K=2 のソフトマックスはシグモイドに帰着)。損失はカテゴリ分布の負の対数尤度、すなわち多クラス交差エントロピー −Σ_k y_k log p_k。注目すべきは、ロジット z_k についての勾配が二値の場合とまったく同じ形を保つことです。
∂J/∂z_k = p_k − y_k # ベクトルで p − y、「予測 − 正解(one-hot)」
二値の σ(z) − y が多クラスでは p − y になるだけ。シグモイド/ソフトマックスと交差エントロピーの相性の良さは、二値・多クラスを貫く同一の数理から来ています。
まとめ:一つの線形 logit から全部が出る
| 論点 | 実態 | そこから言えること |
|---|---|---|
| モデルの核 | logit = w·x を線形に置く | 確率でなく対数オッズを線形化したのが起点 |
| シグモイド | logit の逆写像 | (0,1) に収まるのは便宜でなく必然 |
| 損失 | ベルヌーイのNLL=交差エントロピー | 損失は最尤推定から一意に導かれる |
| 勾配 | Σ (σ(z)−y) x | 指数と対数の相殺で「予測 − 正解」に簡約 |
| 凸性 | ヘッセ Xᵀ S X が半正定値 | 局所解がなく大域最適に収束 |
| 最適化 | ニュートン法 → IRLS | 曲率を使えば重み付き最小二乗の反復で2次収束 |
| 多クラス | ソフトマックス回帰 | 勾配は p − y のまま、二値と同型 |
ロジスティック回帰は「シグモイドで確率を出すモデル」と覚えるだけでは半分しか見えていません。対数オッズを線形に置くという一つの設計判断から、シグモイドの形、交差エントロピー損失、凸性、綺麗な勾配、IRLS、ソフトマックス拡張までが一筋の論理で導かれます。この見立てを持てば、ニューラルネットの出力層がなぜシグモイド/ソフトマックス+交差エントロピーで固定されているかも同じ理屈で理解でき、より複雑なモデルでも「どんな分布を仮定し、どんな logit を線形に置くか」という正しい問いから出発できます。基礎の流れは 機械学習 も併せて確認してください。
AI/機械学習 Article
ロジスティック回帰とシグモイド・対数尤度の導出を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ロジスティック回帰
比較で見る軸
難易度: advanced / カテゴリ: AI/機械学習 / タグ数: 6
導入後に効く点
負の対数尤度=交差エントロピーはパラメータについて凸(ヘッセ行列が半正定値)。だから局所解がなく、勾配は `Σ (σ(z_i) − y_i) x_i` という「予測 − 正解」の形に収束する。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- AI/機械学習
- タグ数
- 6
判断チェックリスト
- 自社の用途が「ロジスティック回帰 / シグモイド」に近いか確認する。
- 強みである「ロジスティック回帰は確率そのものではなく対数オッズ(logit)を線形 `w·x + b` で置くモデル。逆写像がシグモイドで、出力が `(0,1)` に収まる必然がここにある。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。