Appearance
第6章:LASSOを超える —— スパース性の拡張と一般化
前章までで、L1ノルムを用いた最適化がパラメータをゼロに押し込む(スパースにする)強力な性質を持つこと、そしてADMMを用いてそれを効率的に解く方法を学びました。 しかし、現実のデータ分析において「ただゼロにすればよい」という単純なスパース性だけでは不十分なケースが多々存在します。本章では、LASSOのアイデアをさらに発展させ、データの事前知識(隣り合う値が近いなど)をモデルに組み込む「一般化LASSO」と、L1・L2正則化の長所を融合した「エラスティックネット」の数理について解説します。
1. LASSOの限界とFused LASSO
単純なLASSO(L1正則化)は、各パラメータ を独立にゼロへと近づけます。 しかし、例えば時系列データや画像データのように「隣接するデータ と は近い値(または同じ値)を持つはずだ」という事前知識がある場合、単純なLASSOではその関係性を加味できません。
そこで、隣り合うパラメータの「差分」に対しても L1正則化をかける手法が考案されました。これを Fused LASSO と呼びます。目的関数は以下のようになります。
第3項の が Fused LASSO の核心です。差分に対して L1正則化が働くため、差分がスパース(つまり )になりやすく、結果として「階段状(区分的に一定)」な解が得られます。
2. 差分行列と一般化LASSO
この Fused LASSO の差分計算を行列の形に落とし込んでみましょう。 次のような差分演算を表す行列 を導入します。
これを用いると、パラメータベクトル に を掛けた は、まさに隣接要素の差分ベクトルとなります。 したがって、Fused LASSOの差分ペナルティ項は とシンプルに表記できます。
このように、何らかの変換行列 を挟んで L1正則化を行うアプローチを 一般化LASSO(Generalized LASSO) と呼びます。
行列 の作り方次第で、隣接関係(Fused LASSO)だけでなく、特定のグループごとの制約(クラスターLASSO)など、多様な事前知識を数学的なペナルティとして組み込むことが可能になります。
3. 一般化LASSOとADMMによる解法
一般化LASSOも、第5章で学んだ ADMM(交互方向乗数法) を用いることで鮮やかに解くことができます。 L1ノルムの中に行列 が入っていて直接解くのが難しいため、「変数を逃がす」テクニックを使います。新たに という制約を設け、問題を書き換えます。
これに対して拡張ラグランジュ関数 を立てます。
これを 、、 の順に交互に最適化していきます。
① の更新
と を固定し、 を で偏微分して と置きます。
整理すると、次のような連立方程式になります。
両辺に逆行列を掛けることで が更新されます(※逆行列の事前計算が可能です)。
② の更新
と を固定し、L1ノルムに関する部分を最小化します。これは軟判定しきい値関数(ソフトしきい値処理)そのものです。
③ の更新
最後に、双対変数(未定乗数)を更新して制約のズレを補正します。
4. L1とL2の融合 —— エラスティックネット
LASSOは強力ですが、「強く相関している複数の変数がある場合、その中からランダムに1つだけを選んで残りはゼロにしてしまう」という不安定な挙動を見せることがあります。 一方、第2章で学んだRidge回帰(L2正則化)は「相関している変数の重みを均等に分配して残す」という安定性を持っています。
そこで、両者の「いいとこ取り」をするために考案されたのが エラスティックネット(Elastic Net) です。
これを幾何学的に解釈してみましょう。最適化の制約空間において、ペナルティ項の形は次のようになります。
L1ノルムの等高線である「尖ったひし形」と、L2ノルムの等高線である「滑らかな円」が足し合わされることで、全体としてひし形でありながら、辺の部分が外側にせり出した(少し丸みを帯びた)形状になります。
この「丸みを帯びたひし形」が制約平面と接することにより、完全にゼロへと落とすスパース性を維持しながらも、頂点付近での解の不安定さをL2ノルムの力で抑え込む(相関のある変数を同時に残す)ことが可能になります。これは、極めて実用的で洗練されたモデリング手法と言えます。