1行定義
L1正則化とは、誤差関数に重みの絶対値の和を罰則として加え、一部の重みをちょうど0にしやすくする正則化の手法のことです。
くわしく
L1正則化は、モデルが訓練データに合わせすぎる過学習を防ぐための正則化の1つです。重みの一部をちょうど0にする性質が特徴です。
式
元の誤差関数に、重みの絶対値の和に係数を掛けた罰則を足します。E(w) + λ(|w1| + |w2| + … + |wn|)の形です。λ(ラムダ)は正則化の強さを決めるハイパーパラメータで、大きいほど重みを小さく保つ力が強くなります。学習では、誤差を減らすことと、重みを小さく保つことの両立を目指します。
重みが0になる理由
L1正則化の罰則は、重みを0の方向へ一定の強さで押します。λ|w|の傾きの大きさは、重みが大きくても小さくてもλで変わらないからです。そのため、予測への影響が小さい重みは、この力に負けてちょうど0になります。
L2正則化と比べるとわかりやすくなります。L2正則化の罰則λw²の傾きは2λwで、重みが小さくなるほど押す力も弱まります。そのため、重みは0に近づいても、ちょうど0にはなりにくいのです。
図で考えても同じ結論になります。重みが2つのとき、L1正則化で許される範囲はひし形になり、角が軸の上にあります。誤差の等高線はこの角で接しやすく、角では片方の重みが0です。
何に役立つか
0になった重みに対応する特徴量は、予測に使われなくなります。つまり、学習と同時に特徴量の選択が行われます。項目の多いデータから、効いている項目だけを残した説明しやすいモデルを作りたいときに便利です。線形回帰にL1正則化を加えたものをラッソ回帰と呼びます。
注意点として、λを大きくしすぎると、必要な重みまで0になり未学習になります。また、|w|は0で微分できないため、最適化には工夫が必要です。
覚え方
「L1はひし形の角で0、L2は円なので0になりにくい」と覚えます。
G検定での出題
出題のされ方
重みの絶対値の和を罰則にすることで不要な重みが0になり、特徴量選択の効果が出る点、L2正則化との違い、ラッソ回帰との関係、正則化の強さの影響が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| L1正則化このページの用語 | 誤差関数に重みの絶対値の和を罰則として加え、一部の重みをちょうど0にしやすくする正則化の手法 |
| L2正則化 | 誤差関数に重みの二乗和を罰則として加え、重みの値が大きくなりすぎないようにする正則化の手法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
L1正則化では、正則化の強さを表す係数λを大きくするほど、値がちょうど0になる重みが増える傾向がある。
答えを見る
答え ◯ 正しい
罰則が強まるほど、予測への影響が小さい重みから0になります。大きくしすぎると、必要な重みまで0になり未学習になります。
-
L1正則化の罰則が重みを0の方向へ押す強さは、重みの値が小さくなっても弱まらない。
答えを見る
答え ◯ 正しい
λ|w|の傾きの大きさは、重みの大きさによらずλで一定です。重みが小さいほど押す力が弱まるL2正則化との違いです。
-
L1正則化を加えると、加えない場合よりも、訓練データに対する誤差は必ず小さくなる。
答えを見る
答え × 誤り
正則化は重みの自由度を制限するので、訓練データへの誤差はむしろ大きくなるのが普通です。代わりに未知のデータへの汎化性能の改善を狙います。