← 機械学習テキスト 一覧

🎓 レベル:発展 | 重要度:A(必須)

📎 前提:正則化(Ridge・Lasso・Elastic Net)(実践) | 数理:ベイズ推定・MAP推定(統計, MAP)

要点(BLUF)

このノートは「なぜ効くか」の理論に集中します。Ridge/Lassoの解の形・soft-thresholding・λの選び方・Elastic Netといった実践は 正則化(Ridge・Lasso・Elastic Net) にあります。

1. 動機:正則化はバリアンスを下げる取引

正則化が解こうとしている問題は、汎化と過学習・バイアスバリアンス分解 の言葉では明快です。特徴量が多い・相関が強いと、当てはめだけを追う推定量(最小二乗・最尤)は係数が暴れて巨大化し、訓練データのノイズまで再現してしまう——これが**高バリアンス(過学習)**です。

正則化は「係数を小さく保て」という圧力を足すことで、少しのバイアスと引き換えに大きなバリアンスを消す取引をします。汎化誤差 == バイアス2^2 ++ バリアンス ++ ノイズ という分解で、第2項を削るために第1項をわずかに増やす、という最適化です。

minθ L(θ)当てはまり(損失)+λΩ(θ)複雑さのペナルティ\min_\theta\ \underbrace{L(\theta)}_{\text{当てはまり(損失)}} + \underbrace{\lambda\,\Omega(\theta)}_{\text{複雑さのペナルティ}}

要するにλ\lambda は「データへの忠実さ」と「モデルの単純さ」を天秤にかけるダイヤルです。λ=0\lambda=0 なら無正則化(高バリアンス側)、λ\lambda\to\infty なら θ0\theta\to 0(高バイアス側)。汎化誤差はこの間でU字を描き、底が最適な強さです。

2. 正則化 = 制約付き最適化(ラグランジュ双対)

ペナルティ付き最小化は、制約付き最小化と表裏一体です。これが幾何の議論の出発点になります。

minθ L(θ)+λΩ(θ)minθ L(θ)  s.t.  Ω(θ)t\min_\theta\ L(\theta) + \lambda\,\Omega(\theta) \quad\Longleftrightarrow\quad \min_\theta\ L(\theta)\ \ \text{s.t.}\ \ \Omega(\theta)\le t

なぜ等価か(導出):右の制約付き問題のラグランジアンは L(θ,λ)=L(θ)+λ(Ω(θ)t)\mathcal{L}(\theta,\lambda)=L(\theta)+\lambda\bigl(\Omega(\theta)-t\bigr) です。最適解では KKT 条件が成り立ち、θ\theta について停留する条件は

L(θ\*)+λΩ(θ\*)=0\nabla L(\theta^\*) + \lambda\,\nabla\Omega(\theta^\*) = 0

となります。これは左のペナルティ付き問題 minθL+λΩ\min_\theta L+\lambda\Omega の停留条件とまったく同じ式です。λt-\lambda tθ\theta に依存しない定数なので最小化に影響しません。よってある tt に対応するラグランジュ乗数 λ\lambda が必ず存在し、両問題は同じ解を与えます。

要するにλ\lambda と制約半径 tt は一対一で対応し、λ\lambda を上げることは制約 tt を縮める(許される係数の大きさを絞る)ことに等しい。λ    t\lambda\uparrow \iff t\downarrow。だから「ペナルティを強める=係数が動ける箱を小さくする」と読み替えられます。この「箱の形」が次節の主役です。

3. L1とL2の幾何:なぜLassoだけスパースになるか

制約版で見ると、θ\theta が動ける領域(制約領域)の形がノルムごとに違います:

解は「損失 LL の等高線(最小二乗なら楕円)が、外側から膨らんで制約領域に最初に触れる点」です。ここで形が運命を分けます。

graph TB
    subgraph L2["L2 Ridge:制約は球(円)"]
        A["損失の等高線(楕円)が<br/>滑らかな円周に接する"] --> B["接点は軸を外れた一般の点<br/>→ どの係数も非ゼロ(縮むだけ)"]
    end
    subgraph L1["L1 Lasso:制約は菱形(ℓ1ボール)"]
        C["菱形の角が<br/>軸上に飛び出している"] --> D["楕円は高確率で角に接する<br/>→ 角では片方の座標が厳密に0"]
        D --> E["スパース解(自動で特徴選択)"]
    end

図:L1の菱形は軸上に角を持つため、損失の等高線が角に接して片方の係数が厳密に0になる(スパース化)。L2の円は滑らかで、接点が軸にちょうど乗る確率は実質ゼロなので、Ridgeは縮めはしても0は作らない。

もう一段の理由(劣勾配で見る):1変数で L(θ)=12(θz)2L(\theta)=\tfrac12(\theta-z)^2zz は無正則化解)に L1 を足した f(θ)=12(θz)2+λθf(\theta)=\tfrac12(\theta-z)^2+\lambda|\theta| を考えます。θ|\theta|θ=0\theta=0 で微分できず、劣勾配が [λ,λ][-\lambda,\lambda] の幅を持ちます。θ=0\theta=0 が最小になる条件は 0f(0)={z}+[λ,λ]0\in\partial f(0)=\{-z\}+[-\lambda,\lambda]、すなわち zλ|z|\le\lambda のとき。

要するに:L1は原点で「±λ\pm\lambda の死角」を持つので、無正則化解が λ\lambda 以下の弱い係数は問答無用で0に吸い込まれます。L2のペナルティ θ2\theta^2 は原点で勾配が0なので、この死角がなく0を作る力がありません。幾何(角)と劣勾配(死角)は同じことを別の言葉で言っています。

4. MAP推定との等価性(このノートの中心)

正則化は天下りの工夫ではなく、事前分布を置いた最大事後確率(MAP)推定そのものです。ベイズの一般論(尤度・事前・事後・ベイズ更新)は統計側 ベイズ推定・MAP推定事前分布・事後分布・ベイズ更新 に譲り、ここでは「正則化項がどこから出るか」の導出だけを示します。

4.1 負の対数事後の分解

ベイズの定理 p(θD)=p(Dθ)p(θ)p(D)p(\theta\mid D)=\dfrac{p(D\mid\theta)\,p(\theta)}{p(D)} の両辺の対数をとり、1-1 を掛けます。p(D)p(D)θ\theta に依存しない定数なので落とせます:

logp(θD)=logp(Dθ)負の対数尤度 = 損失 L(θ) logp(θ)負の対数事前 = 正則化項 λΩ(θ)+const-\log p(\theta\mid D) = \underbrace{-\log p(D\mid\theta)}_{\text{負の対数尤度 = 損失 } L(\theta)} \ \underbrace{-\log p(\theta)}_{\text{負の対数事前 = 正則化項 } \lambda\Omega(\theta)} + \text{const}

MAP推定は左辺の最小化(事後確率の最大化)です。最尤推定(事前なし)に logp(θ)-\log p(\theta) が足されるだけ。この事前の形がペナルティの正体です。回帰で誤差を等分散ガウス yiN(xiθ,σ2)y_i\sim\mathcal{N}(x_i^\top\theta,\sigma^2) とすると、第1項は

logp(Dθ)=12σ2i(yixiθ)2+const-\log p(D\mid\theta) = \frac{1}{2\sigma^2}\sum_i (y_i - x_i^\top\theta)^2 + \text{const}

となり、おなじみの二乗誤差が出ます(→ 線形回帰(最小二乗法と確率的解釈) の確率的解釈)。残りは事前 p(θ)p(\theta) を何にするか、です。

4.2 L2 ⇔ ガウス事前

各係数に平均0・分散 τ2\tau^2 のガウス事前 θjN(0,τ2)\theta_j\sim\mathcal{N}(0,\tau^2) を置きます:

p(θj)=12πτexp ⁣(θj22τ2)  logp(θ)=12τ2jθj2+constp(\theta_j)=\frac{1}{\sqrt{2\pi}\,\tau}\exp\!\left(-\frac{\theta_j^2}{2\tau^2}\right) \ \Rightarrow\ -\log p(\theta) = \frac{1}{2\tau^2}\sum_j \theta_j^2 + \text{const}

これを 4.1 の損失に足すと、12σ2i(yixiθ)2+12τ2jθj2\dfrac{1}{2\sigma^2}\sum_i(y_i-x_i^\top\theta)^2 + \dfrac{1}{2\tau^2}\sum_j\theta_j^2。両辺を σ2\sigma^2 倍で整理すると、まさに Ridge の目的関数で、正則化強度は

 λ=σ2τ2 \boxed{\ \lambda = \frac{\sigma^2}{\tau^2}\ }

要するに:ガウス事前の対数は θj2\sum\theta_j^2、つまりL2そのものλ\lambda は「ノイズ分散 ÷ 事前分散」で、事前分散 τ2\tau^2 が小さい(=「係数は0付近のはず」という強い信念)ほど λ\lambda が大きく、強く縮みます。

4.3 L1 ⇔ ラプラス事前

各係数に平均0・スケール bb のラプラス事前 θjLaplace(0,b)\theta_j\sim\mathrm{Laplace}(0,b) を置きます:

p(θj)=12bexp ⁣(θjb)  logp(θ)=1bjθj+constp(\theta_j)=\frac{1}{2b}\exp\!\left(-\frac{|\theta_j|}{b}\right) \ \Rightarrow\ -\log p(\theta) = \frac{1}{b}\sum_j |\theta_j| + \text{const}

これを足すと Lasso の目的関数になり、強度は λ=σ2b\lambda = \dfrac{\sigma^2}{b}(定数倍の取り方で 2σ2/b2\sigma^2/b 等と書く流儀もあります)。

要するに:ラプラス事前の対数は θj\sum|\theta_j|、つまりL1そのもの。ラプラス分布は0で尖った鋭いピークを持ち、ガウスより0近傍に確率が集中します。これが「多くの係数はちょうど0」という事前信念を表し、3節のスパース性に対応します。

graph LR
    G["ガウス事前 N(0,τ²)<br/>なだらかな山"] -->|"−log で"| GL["L2 ペナルティ<br/>Σθ²(滑らか・縮小)"]
    L["ラプラス事前 Laplace(0,b)<br/>0で尖る"] -->|"−log で"| LL["L1 ペナルティ<br/>Σ|θ|(角・スパース化)"]

図:事前分布の「形」がペナルティの「形」を決める。0で尖るラプラスは0を強く好み、なだらかなガウスは0付近に緩く集めるだけ。

4.4 注意:MAP は事後の「点」にすぎない

MAP は事後分布の最頻値(モード)を1点取るだけで、フルベイズ(事後全体で平均・不確実性を扱う)ではありません。とくにL1では、事後の平均はスパースになりませんが、モードはスパースになります(だからLassoの点推定は0を作る)。この区別は統計側 ベイズ推定・MAP推定 で扱います。

5. 早期終了(early stopping)は近似的にL2

明示的なペナルティを足さなくても、勾配降下を途中で止めるだけで正則化と同じ効果が得られます。「係数が大きく育つ前に学習を打ち切る=大きさを制限する」という直観を、二次近似で定量化できます。

最適点 θ\*\theta^\* のまわりで損失を二次近似します(ヘッセ行列 HH):

L(θ)L(θ\*)+12(θθ\*)H(θθ\*)L(\theta)\approx L(\theta^\*) + \tfrac12 (\theta-\theta^\*)^\top H (\theta-\theta^\*)

HH は対称半正定値なので、固有値分解 H=QΛQH=Q\Lambda Q^\top固有ベクトル方向ごとに独立な1次元問題に分解できます。各方向 ii(固有値 λi\lambda_i)で、θ(0)=0\theta^{(0)}=0 から学習率 ϵ\epsilon の勾配降下を τ\tau ステップ回すと、その方向の成分は

θi(τ)=(1(1ϵλi)τ)θi\*\theta_i^{(\tau)} = \bigl(1-(1-\epsilon\lambda_i)^\tau\bigr)\,\theta_i^\*

へ向かいます(ϵλi<1\epsilon\lambda_i<1 なら τ\tau\to\infty で無正則化解 θi\*\theta_i^\* に収束)。一方、同じ問題のL2正則化(強度 α\alpha)の解は方向ごとに

θiL2=λiλi+αθi\*\theta_i^{\text{L2}} = \frac{\lambda_i}{\lambda_i+\alpha}\,\theta_i^\*

同じ係数 θi\*\theta_i^\* を縮める形になります。2つの縮小係数 1(1ϵλi)τ1-(1-\epsilon\lambda_i)^\tauλiλi+α\dfrac{\lambda_i}{\lambda_i+\alpha} を等しいと置き、ϵλi1\epsilon\lambda_i\ll 1 かつ λiα\lambda_i\ll\alpha で対数展開 log(1x)x\log(1-x)\approx -x を使って解くと、両者が一致する条件は

 τ1ϵαα1τϵ \boxed{\ \tau \approx \frac{1}{\epsilon\,\alpha}\quad\Longleftrightarrow\quad \alpha \approx \frac{1}{\tau\,\epsilon}\ }

要するに反復回数 τ\tau が正則化強度の逆数として効きます。早く止める(τ\tau 小)=強いL2(α\alpha 大)、長く回す(τ\tau 大)=弱いL2(α\alpha 小)。学習軌道は、固有値の大きい(曲率が急=重要な)方向から先に伸び、固有値の小さい方向は最後まで小さいまま——だから途中で止めると、L2が小さい固有値方向を強く縮めるのと同じことになります。

厳密な等価は「線形モデル+二次損失+方向ごとに α\alpha を調整」という条件下の話で、一般の非凸な深層学習では近似にすぎません。それでも early stopping が最も使われる正則化である理由(計算が只・ハイパラ1個)を、この理論が裏づけます。

6. まとめ:一つの視点に統一する

L1・L2・早期終了は別々の道具に見えて、「複雑さ(=事前知識)による制御」という一本の理論で繋がります。

graph TB
    R["正則化<br/>min L(θ) + λΩ(θ)"]
    R --> C["制約付き最適化<br/>min L s.t. Ω(θ)≤t(ラグランジュ)"]
    R --> M["MAP推定<br/>−log p(θ|D)=損失+負の対数事前"]
    M --> ML2["L2 ⇔ ガウス事前 N(0,τ²)"]
    M --> ML1["L1 ⇔ ラプラス事前 Laplace(0,b)"]
    R --> E["早期終了<br/>τステップで打ち切り ≈ L2(α≈1/(τε))"]
    C --> G["幾何:球は縮小・菱形の角はスパース化"]
    style R fill:#e3f2fd
    style M fill:#fff3e0

どの視点も「当てはめだけを追わず、係数の複雑さに事前知識で制約をかける」という同じ思想の現れです。汎化がなぜ改善するかの一般論は 汎化理論 へ繋がります。

⚠️ よくある誤解

対応するシミュレーション

simulations/l1_l2_geometry.py:損失の等高線(楕円)が制約領域に最初に触れる点が解になる、という見方で L1(ひし形)と L2(円)の制約領域を可視化します。L1 の解は軸上の角に当たって片方の係数がちょうど 00 になる(スパース)一方、L2 の解は両方とも 00 にはならないことを、数値解(L1: (1,0)(1,0)/L2: (0.99,0.16)(0.99,0.16))とグラフで確認できます。

L1(ひし形)の角でスパース・L2(円)は縮小のみ

関連ノート