過学習を防ぐ正則化の代表、RidgeとLasso。L2/L1ノルムで係数を制約します。
線形回帰でも過学習って起きるんだ?
特徴量が多くなると起きやすいのよ。 そこで使うのが正則化。 RidgeとLassoが代表的な手法ね。
Ridge回帰は損失関数に β のL2ノルムの二乗を罰則項として加える。 損失 = MSE + λ·Σβᵢ²。 λ(ラムダ)が罰則の強さ。
Lasso回帰は?
L1ノルムを罰則にする。 損失 = MSE + λ·Σ|βᵢ|。 違いは結果に表れて、Lassoは係数を完全に0にする=自動的な特徴量選択ができるの。
Ridge と Lasso の使い分けは?
特徴量選択をしたいなら Lasso、係数を縮める安定した推定をしたいなら Ridge、両方を組み合わせたいなら{kw('Elastic Net')}。 実務で迷ったら Elastic Net で両方のいいとこ取り。
λ はどうやって決めるんですかぁ?
交差検証で複数のλを試して最適な値を選ぶの。 sklearnなら RidgeCV / LassoCV クラスが自動で選んでくれる。
λ=0 にしたら、普通の線形回帰になるの?
そう、λ=0 なら罰則ナシ=最小二乗法に一致するのよ。 λを大きくすると係数が縮んで、極端に大きいと全係数が0に近づく(=ほぼ平均値モデル)ね。
DS検定では『Ridgeは係数を0にしないがLassoは0にする』『λの役割』が頻出。
特徴量選択が目的ならLassoを選ぶ、と覚えて。
覚えますぅ〜♪
確認クイズ
Lasso回帰の特徴として正しいのはどれか。
- 係数を完全に0にする(特徴量選択)
- 係数を平均値で置き換える
- 残差を3乗する
- L2ノルムを罰則項にする
こたえを見る
正解: 1. 係数を完全に0にする(特徴量選択)
係数を完全に0にする(特徴量選択)のがLasso回帰の特徴です。 L1ノルムの性質により不要な特徴量の係数が0になり、自動的にスパースなモデルが得られます。 Ridgeは係数を縮めますが0にはしません。