L0正則化 (G検定)

L0正則化

1. 定義と概要

L0正則化とは、モデルのパラメータ(重み。モデルが学習の過程で調整していく数値で、入力のどの要素をどれくらい重視するかを表します)のうち、値が0でないものの個数を罰則項として損失関数(モデルの予測が正解からどれだけずれているかを数値で表す関数)に加える正則化手法です。正則化とは、モデルが訓練データを丸暗記しすぎてしまう過学習(学習データに過剰に適合し、新しいデータへの対応力が落ちる状態)を防ぐため、学習の際にわざとペナルティを加える工夫を指します。この非ゼロの個数はL0ノルム(ノルムはベクトルの大きさを測るものさしのような数値です)と呼ばれます。

正則化手法の中では理屈上もっともスパース(多くの値が0になっていて、実質的に使われている要素が少ない状態)なモデルを作れる手法とされています。たとえば100個の特徴量(予測に使う入力データの各項目。年齢や購入回数など)のうち実際に予測へ効くのが数個だけという状況では、理屈上は不要な特徴量の重みを厳密に0にし、必要な数個だけを残せます。

モデルの複雑さを抑える工夫としては、従来からパラメータの大きさを罰則にする手法が広く使われてきました。代表例が、重みの絶対値の合計を罰則にするL1正則化(ラッソ回帰とも呼ばれます)と、重みの2乗の合計を罰則にするL2正則化(リッジ回帰とも呼ばれます)です。

L0正則化は「本当に必要な変数だけを機械的に選び出す」という理想形として位置づけられています。しかし、非ゼロの個数を数える操作は、どの重みを0にするかの組み合わせを一つひとつ検討する組合せ的な問題(考えられる組み合わせを検討する必要があり、選択肢が増えると調べる量が爆発的に増えるタイプの問題)になります。

この操作は微分ができないため、勾配降下法(損失を少しずつ減らす方向へパラメータを繰り返し更新していく、機械学習で広く使われる最適化手法)などの通常の最適化手法をそのまま使えません。この計算上の難しさが、L0正則化が理論上は理想的でも実務であまり使われない理由になっています。

2. 試験対策ポイント

L0正則化を理解するうえでの中心的な論点は、非ゼロのパラメータの個数そのものを罰則にするという性質です。値の大きさではなく個数を直接制約するため、正則化手法の中でもっともスパースなモデルを作れるという位置づけになります。パラメータを0にするか残すかという二択を積み重ねる考え方で、余分な特徴量を機械的に削ぎ落とす発想の原点にあたります。

一方で、L0正則化の最適化は組合せ的な問題になり、パラメータの数が増えると調べるべき組み合わせが現実的な時間では収まらないほど増えてしまいます。この計算の難しさはNP困難(計算量が現実的な時間では解けないほど爆発的に増えてしまう、非常に難しい問題の分類)と呼ばれ、通常の勾配降下法では扱えません。そのため実務では、計算可能なL1正則化で近似的に代用されるという関係にあります。

また、L0ノルムはベクトルを定数倍しても非ゼロの個数自体は変わりません。数学的なノルムが満たすべき性質のひとつに斉次性(ある数を定数倍したとき、測った大きさも同じ倍率で変わるという性質)がありますが、L0ノルムはこれを厳密には満たさないため「L0擬ノルム」と呼ばれることがあります。

L1正則化とL2正則化の違いは、L0正則化と対比させると混同しやすい組み合わせです。3つを罰則の中身とパラメータの扱いで並べてみます。

手法 罰則の中身 パラメータの扱い
L0正則化 非ゼロのパラメータの個数 完全に0にして特徴量ごと取り除ける
L1正則化(ラッソ回帰) 重みの絶対値の合計 完全に0にでき、スパース化を実現する
L2正則化(リッジ回帰) 重みの2乗の合計 0に近づけるが完全には0にしない

罰則が「個数」か「大きさ」かという違いが、パラメータを0にできるかどうかの差につながっています。

3. 関連概念との比較・相違点

L1正則化との最大の違いは、罰則の中身と計算のしやすさにあります。L1正則化は、非ゼロの個数を数えるL0正則化と異なり、微分可能に近い形で計算できるため通常の最適化手法をそのまま適用できます。

この計算のしやすさから、L1正則化はスパース化を実現する実用的な代替手段として使われています。L0正則化が理論上の理想形であるのに対し、L1正則化は実務での落としどころにあたります。

L2正則化との最大の違いは、パラメータを完全に0にできるかどうかにあります。L2正則化は重み全体をなめらかに縮小させますが、厳密に0にはなりにくいという性質を持ちます。これに対してL0正則化(およびL1正則化)は、重みを完全に0にして特徴量そのものを取り除ける点で異なります。

モデルから不要な入力項目を丸ごと除きたい場面ではL0正則化やL1正則化の考え方が、パラメータ全体を緩やかに抑えたい場面ではL2正則化の考え方が使われます。

4. ビジネス・実務での活用シナリオ

マーケティング・データ分析の現場では、数百項目におよぶ顧客属性データの中から、実際に予測に効く項目だけを絞り込みたい場面があります。L0正則化が示す「非ゼロの個数を直接制約する」という考え方は、こうした場面でモデルの軽量化や解釈のしやすさを高める指針になります。

不要な項目を削ぎ落とせれば、どの属性が予測を左右しているかが見えやすくなり、担当者への説明や施策への落とし込みもしやすくなります。ただし計算上の難しさから、実装では計算可能なL1正則化に置き換えられることが多くなります。

研究開発・モデル圧縮の分野では、スパースなニューラルネットワーク(人の脳の神経細胞のつながりを模した数理モデル)を作ろうとする研究が進められています。L0正則化をそのままの形では扱えないため、通常の勾配法に近づける形で近似的に扱う手法の研究が続けられています。

こうした近似手法でネットワークの一部の重みを実質的に0へ寄せられれば、計算に使うパラメータの総数を抑えながら予測の精度を大きく落とさずに済みます。モデルのサイズが小さくなれば、限られた計算資源で動かす場面でも扱いやすく、モデルを軽量化しながら精度を保つ工夫として位置づけられています。

5. 要点まとめ

  • L0正則化はパラメータのうち非ゼロの個数(L0ノルム)そのものを罰則にする正則化手法で、正則化手法の中ではもっともスパースなモデルを作れます。
  • 非ゼロの個数を数える最適化は組合せ的で計算が困難(NP困難)なため、実務ではL1正則化で近似的に代用されることが多くなります。
  • L1正則化は重みの絶対値の合計、L2正則化は重みの2乗の合計を罰則にする手法で、L0正則化・L1正則化はパラメータを0にできる一方、L2正則化は0に近づけるにとどまるという違いがあります。

6. 確認問題

問1L0正則化は、モデルのパラメータのうち値が0でないものの個数を罰則として損失関数に加える正則化手法である。

解答・解説をみる

○ 正しい

L0ノルム、つまり非ゼロパラメータの個数を罰則にする手法で、正則化手法の中ではもっともスパースなモデルを作れるとされています。

問2L0正則化は計算が容易なため、L1正則化よりも実務で広く使われている。

解答・解説をみる

× 誤り

正しくは逆の関係にあります。L0正則化は非ゼロの個数を数える組合せ的な最適化になり計算が困難(NP困難)なため、実務では計算可能なL1正則化で近似的に代用されることが多くなります。

問3L2正則化は重みの2乗の合計を罰則にする手法で、L0正則化やL1正則化と異なりパラメータを完全に0にすることは少ない。

解答・解説をみる

○ 正しい

L2正則化は重みを0に近づけますが、なめらかに縮小するため厳密には0になりにくい性質を持ちます。L0正則化・L1正則化は重みを0にして特徴量そのものを取り除ける点で異なります。