L1正則化(Lasso)とL2正則化(リッジ)の違いを、係数が0になる理由とあわせて説明せよ、って問題
【疑問】Lassoはなんで係数がちょうど0になるん?リッジ回帰とは何が違うん【統計検定1級】
前提のおさらい。変数選択は、AICやBICのように「当てはまり+罰」で候補のモデルを比べる。候補を1つずつ調べるのは、変数が多いと大変
>>1
どっちも残差平方和に罰を足して最小にする
罰が絶対値か2乗か、の違いだけ
>>3
説明変数が直交して標準化されてる()場合は、係数ごとに別々に解ける。最小二乗の値を とすると
リッジ:。全部を同じ割合で縮める
Lasso:。 だけ0に寄せて、届いたら0で止める
数字で。
Lasso():。小さい2つがちょうど0
リッジ():。全部半分になるだけで、0にはならない
>>4
なんで絶対値やと0で止まるん
>>6
1つの係数で、 を最小にする。 の側の傾きは
を0から少し動かすと、罰が傾き で必ず増える。当てはまりで得する分()がそれより小さい、つまり なら、0から動かないのが最小
2乗の罰は0の近くで傾きが0やから、少しでも なら0から動いてしまう
>>7
図で言うと、Lassoの制約 はひし形で角が軸の上にある。残差平方和の等高線は角に当たりやすいから、どれかの係数が0の点で接する。リッジの円には角がない
>>5
係数を0にしてくれるなら、Lassoで残った変数が「本当に効いてる変数」やな
>>9
そうとは限らない。相関の強い変数が2つあると、Lassoはどちらか1つを残してもう片方を0にしがちで、どっちが残るかはデータの揺れで変わる
それに残った係数は縮められてるから、大きさは過小。選んだあとの検定も、選ぶ過程を考えないと甘くなる
>>10
相関の強い変数をまとめて扱いたいなら、L1とL2を混ぜたエラスティックネットがある。 は交差検証で決める。変数は先に標準化しておかないと、単位で罰の効き方が変わる
罰が絶対値か2乗か、直交なら軟しきい値と一律の縮小、0で止まるのは罰の傾きが0で消えないから、残った変数を真の変数と読まない。これで説明できるな
管理人のひとこと
- Lasso は 、リッジは 。
- 直交の場合:リッジは 、Lassoは 。例 で Lasso()は 、リッジ()は 。
- 絶対値の罰は0での傾きが で消えないので、 なら0で止まる。相関の強い変数ではどちらが残るかが不安定。 は交差検証で決め、変数は標準化する。