3.4 縮小推定法(Shrinkage Methods)

予測精度を上げたい。でも、どうすればいいのでしょうか?

直感に反するかもしれませんが、答えは「少し控えめにする」ことです。

この章では、Ridge回帰とLassoという2つの強力な手法を学びます。 係数を「縮小」することで、予測精度が向上する不思議な現象を、幾何学的な視点から理解していきましょう。

なぜ係数を「縮小」するのか?

最小二乗法は、訓練データにぴったりフィットする係数を見つけます。 でも、ちょっと待ってください。「ぴったりフィット」は本当に良いことでしょうか?

ここで不思議な現象が起きます。

訓練データへのフィットを少しだけ「犠牲」にすると、新しいデータへの予測が良くなることがあるのです。

なぜでしょう?

実は、最小二乗法で得られる係数は、データのノイズまで拾ってしまいがちです。 これを過学習と呼びます。訓練データにはぴったり合うのに、新しいデータでは予測が外れる現象です。

特に説明変数(予測に使う変数)が多いとき、係数は大きな値を取りやすく、過学習の原因になります。

そこで登場するのが「縮小推定法」。

係数の大きさにペナルティを課すことで、あえて小さな値に抑えるのです。

直感的には、「自信過剰な予測」を「控えめな予測」に修正するイメージです。

過学習したモデルと縮小されたモデルの比較

Ridge回帰 - L2ペナルティ

最初に紹介するのは「Ridge回帰」です。

通常の最小二乗法では、「予測値と実際の値のズレ(残差)の二乗を、全データ分足し合わせたもの」を最小化します。 これを残差二乗和(RSS: Residual Sum of Squares)と呼びます。

Ridge回帰では、ここに「係数の二乗和」というペナルティを加えます。

$$\hat{\beta}^{\text{ridge}} = \underset{\beta}{\text{argmin}} \left\{ \sum_{i=1}^{N}(y_i - \beta_0 - \sum_{j=1}^{p}x_{ij}\beta_j)^2 + \lambda \sum_{j=1}^{p}\beta_j^2 \right\}$$

この式を見てみましょう。argminは「カッコ内を最小にするβを見つける」という意味です。

β₀(切片)にはペナルティをかけません。予測値の「ベースライン」を縮小する意味はないからです。

λが大きいほど、係数は強く原点に向かって引き寄せられます。 λ = 0のとき、通常の最小二乗法と同じになります。

なぜ「二乗」なのでしょうか?

それは、大きな係数ほど強くペナルティを受けるようにするためです。 係数が2倍になると、ペナルティは4倍になります。

ちなみに「L2」という名前は、ベクトルの長さ(ノルム)の測り方に由来します。二乗和の平方根がL2ノルムです。

λを変化させたときの係数の縮小を可視化

Ridge回帰の幾何学的解釈

Ridge回帰には、別の美しい見方があります。

先ほどの最適化問題は、実は「制約付き最適化」と等価なのです。 ペナルティを加える代わりに、「係数の大きさに上限を設ける」という見方です。

$$\hat{\beta}^{\text{ridge}} = \underset{\beta}{\text{argmin}} \sum_{i=1}^{N}(y_i - \beta_0 - \sum_{j=1}^{p}x_{ij}\beta_j)^2 \quad \text{subject to} \quad \sum_{j=1}^{p}\beta_j^2 \leq t$$

「subject to」は「〜という条件のもとで」という意味です。 つまり「係数の二乗和がt以下」という制約を満たしながら、RSSを最小化せよ、ということ。

これは何を意味するでしょうか?

「係数の二乗和がt以下」という条件は、係数空間では「原点を中心とする円(または球)の内部」を表します。

つまりRidge回帰は、「この円の中で、RSSを最小にする点を探す」ということ。

円が小さいほど(tが小さいほど)、係数は原点に近い値を取らざるを得ません。 これが「縮小」の幾何学的な意味です。

Ridge回帰の制約領域と最適解の幾何学的関係

Lasso - L1ペナルティ

次に紹介するのは「Lasso」(Least Absolute Shrinkage and Selection Operator)です。

Ridge回帰との違いはシンプル。ペナルティを「二乗」から「絶対値」に変えるだけです。 「L1」という名前は、絶対値の和がL1ノルムと呼ばれることに由来します。

$$\hat{\beta}^{\text{lasso}} = \underset{\beta}{\text{argmin}} \left\{ \sum_{i=1}^{N}(y_i - \beta_0 - \sum_{j=1}^{p}x_{ij}\beta_j)^2 + \lambda \sum_{j=1}^{p}|\beta_j| \right\}$$

たった一文字の違い(β²→|β|)ですが、結果は劇的に異なります。

Lassoの最大の特徴は、一部の係数を完全にゼロにできることです。 Ridge回帰では係数は小さくなりますが、ゼロにはなりません。

これは何を意味するでしょうか?

Lassoは「変数選択」を自動的に行うのです。 重要でない変数の係数をゼロにして、モデルから除外します。

100個の説明変数があっても、本当に重要な10個だけを選び出す。 これがLassoの強力な特徴です。

Lassoによる係数のスパース化(ゼロへの縮小)

Lassoの幾何学的解釈 - なぜゼロになるのか?

なぜLassoは係数をゼロにできて、Ridge回帰はできないのでしょうか?

その答えは、制約領域の「形」にあります。

Ridge回帰の制約領域は「円」(高次元では球)。 Lassoの制約領域は「ひし形」(高次元では正八面体)。

$$\text{Ridge: } \beta_1^2 + \beta_2^2 \leq t \quad \text{(円)}$$
$$\text{Lasso: } |\beta_1| + |\beta_2| \leq t \quad \text{(ひし形)}$$

ここで重要なのは、ひし形には「角」があることです。

RSSの等高線(楕円)がひし形と接触するとき、その接点は高い確率で「角」になります。 そして角は、座標軸上にあります。つまり、少なくとも1つの係数がゼロなのです。

一方、円には角がありません。 等高線は円の滑らかな曲面と接触するので、係数がちょうどゼロになることは稀です。

この「角があるかないか」という単純な幾何学的違いが、2つの手法の本質的な差を生み出しています。

RidgeとLassoの制約領域の形状比較(円vsひし形)

λの選び方 - 交差検証

ここまで、RidgeとLassoの仕組みを見てきました。 でも実際に使うとき、1つ大きな疑問が残ります。

λの値はどう決めればよいのでしょうか?

λが小さすぎると縮小が不十分で過学習します。 λが大きすぎると縮小しすぎて、重要な情報まで失います。

答えは「交差検証(Cross-Validation)」です。

これは次のような手順です:

  1. データを例えば5つに分割
  2. 4つで学習し、残り1つで予測誤差を計算
  3. どの1つを評価用にするか変えながら5回繰り返す
  4. 5回の誤差の平均を計算

この手順を、様々なλの値で試して、予測誤差が最小になるλを選びます。

λと予測誤差の関係(U字型カーブ)

係数パスで見る縮小の過程

RidgeとLassoの違いを、別の角度から見てみましょう。

横軸にλ(またはその関数)、縦軸に各係数をプロットします。 これを「係数パス」と呼びます。

Ridge回帰では、全ての係数が滑らかに縮小していきます。 Lassoでは、ある点で係数が突然ゼロになります。

この違いが、2つの手法の性質をよく表しています。

どちらが良いかは、データの性質によります。 多くの変数が少しずつ影響を持つなら Ridge。 少数の変数が強く影響するなら Lasso。

Ridge回帰とLassoの係数パスの違い

まとめ

この章で学んだことを振り返りましょう。

縮小推定法の本質

Ridge回帰(L2ペナルティ)

Lasso(L1ペナルティ)

選択の指針

この「ペナルティを加える」というシンプルなアイデアは、画像認識、自然言語処理、医療診断など、現代の機械学習のあらゆる場面で使われています。

「少し控えめにする」ことで、より信頼できる予測ができる。 これが縮小推定法の力です。

RidgeとLassoの全体的な比較まとめ