ロジスティック回帰が完全な分離の場合に機能しない理由について直感的な説明はありますか?そして、なぜ正規化を追加すると修正されるのでしょうか?


20

ロジスティック回帰における完全な分離について多くの良い議論があります。以下のような、R内のロジスティック回帰は、完全な分離(ハウク-ドナー現象)をもたらしました。それで?そして、ロジスティック回帰モデルは収束しません

個人的には、なぜそれが問題になるのか、なぜ正則化を追加するとそれが修正されるのか、直観的ではないと感じています。私はいくつかのアニメーションを作成し、それが役立つと思います。そこで、彼の質問を投稿し、自分で答えてコミュニティと共有してください。


ブライアンリプリーによるこの古い投稿を参照してください: math.yorku.ca/Who/Faculty/Monette/S-news/0027.html
kjetil b halvorsen

回答:


29

玩具データを使用した2Dデモを使用して、正則化の有無にかかわらずロジスティック回帰の完全な分離のために何が起こっていたかを説明します。実験は重複するデータセットから始まり、2つのクラスを徐々に離します。目的関数の等高線と最適値(ロジスティック損失)を右のサブ図に示します。データと線形判定境界が左のサブ図にプロットされています。

まず、正則化せずにロジスティック回帰を試みます。

  • データが離れていくのを見るとわかるように、目的関数(ロジスティック損失)は劇的に変化しており、最適値はより大きな値に向かっています
  • 操作を完了すると、輪郭は「閉じた形状」になりません。このとき、解が右上隅に移動すると、目的関数は常に小さくなります。

ここに画像の説明を入力してください

次に、L2正則化を使用したロジスティック回帰を試みます(L1も同様です)。

  • 同じ設定で、非常に小さなL2正則化を追加すると、データの分離に関する目的関数の変更が変更されます。

  • この場合、常に「凸」の目的があります。データがどれだけ分離されていても。

ここに画像の説明を入力してください

コード(この答えにも同じコードを使用します:ロジスティック回帰の正則化方法

set.seed(0)  
d=mlbench::mlbench.2dnormals(100, 2, r=1)

x = d$x
y = ifelse(d$classes==1, 1, 0)

logistic_loss <- function(w){
  p    = plogis(x %*% w)
  L    = -y*log(p) - (1-y)*log(1-p)
  LwR2 = sum(L) + lambda*t(w) %*% w
  return(c(LwR2))
}

logistic_loss_gr <- function(w){
  p = plogis(x %*% w)
  v = t(x) %*% (p - y)
  return(c(v) + 2*lambda*w)
}

w_grid_v = seq(-10, 10, 0.1)
w_grid   = expand.grid(w_grid_v, w_grid_v)

lambda = 0
opt1   = optimx::optimx(c(1,1), fn=logistic_loss, gr=logistic_loss_gr, method="BFGS")
z1     = matrix(apply(w_grid,1,logistic_loss), ncol=length(w_grid_v))

lambda = 5
opt2   = optimx::optimx(c(1,1), fn=logistic_loss, method="BFGS")
z2     = matrix(apply(w_grid,1,logistic_loss), ncol=length(w_grid_v))

plot(d, xlim=c(-3,3), ylim=c(-3,3))
abline(0, -opt1$p2/opt1$p1, col='blue',  lwd=2)
abline(0, -opt2$p2/opt2$p1, col='black', lwd=2)
contour(w_grid_v, w_grid_v, z1, col='blue',  lwd=2, nlevels=8)
contour(w_grid_v, w_grid_v, z2, col='black', lwd=2, nlevels=8, add=T)
points(opt1$p1, opt1$p2, col='blue',  pch=19)
points(opt2$p1, opt2$p2, col='black', pch=19)

2
これは、双曲線PDEの粘性解を非常に連想させます。一部のPDEの場合のように、を近似する必要なく、制限付きの解を直接取得することが可能かどうか疑問に思います。λ0+λ=ϵ
GeoMatt22

4
これらの視覚化は素晴らしいです。
マシュードゥルーリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.