3.4 縮小推定法(Shrinkage Methods)
予測精度を上げたい。でも、どうすればいいのでしょうか?
直感に反するかもしれませんが、答えは「少し控えめにする」ことです。
この章では、Ridge回帰とLassoという2つの強力な手法を学びます。 係数を「縮小」することで、予測精度が向上する不思議な現象を、幾何学的な視点から理解していきましょう。
なぜ係数を「縮小」するのか?
最小二乗法は、訓練データにぴったりフィットする係数を見つけます。 でも、ちょっと待ってください。「ぴったりフィット」は本当に良いことでしょうか?
ここで不思議な現象が起きます。
訓練データへのフィットを少しだけ「犠牲」にすると、新しいデータへの予測が良くなることがあるのです。
なぜでしょう?
実は、最小二乗法で得られる係数は、データのノイズまで拾ってしまいがちです。 これを過学習と呼びます。訓練データにはぴったり合うのに、新しいデータでは予測が外れる現象です。
特に説明変数(予測に使う変数)が多いとき、係数は大きな値を取りやすく、過学習の原因になります。
そこで登場するのが「縮小推定法」。
係数の大きさにペナルティを課すことで、あえて小さな値に抑えるのです。
直感的には、「自信過剰な予測」を「控えめな予測」に修正するイメージです。

Ridge回帰 - L2ペナルティ
最初に紹介するのは「Ridge回帰」です。
通常の最小二乗法では、「予測値と実際の値のズレ(残差)の二乗を、全データ分足し合わせたもの」を最小化します。 これを残差二乗和(RSS: Residual Sum of Squares)と呼びます。
Ridge回帰では、ここに「係数の二乗和」というペナルティを加えます。
この式を見てみましょう。argminは「カッコ内を最小にするβを見つける」という意味です。
- 第1項: 予測と実際の値のズレの二乗を、全データ分足し合わせたもの(データへのフィット)
- 第2項: 係数の二乗を全部足したもの(ペナルティ項)
- λ(ラムダ): ペナルティの強さを調整する「つまみ」のようなもの
β₀(切片)にはペナルティをかけません。予測値の「ベースライン」を縮小する意味はないからです。
λが大きいほど、係数は強く原点に向かって引き寄せられます。 λ = 0のとき、通常の最小二乗法と同じになります。
なぜ「二乗」なのでしょうか?
それは、大きな係数ほど強くペナルティを受けるようにするためです。 係数が2倍になると、ペナルティは4倍になります。
ちなみに「L2」という名前は、ベクトルの長さ(ノルム)の測り方に由来します。二乗和の平方根がL2ノルムです。

Ridge回帰の幾何学的解釈
Ridge回帰には、別の美しい見方があります。
先ほどの最適化問題は、実は「制約付き最適化」と等価なのです。 ペナルティを加える代わりに、「係数の大きさに上限を設ける」という見方です。
「subject to」は「〜という条件のもとで」という意味です。 つまり「係数の二乗和がt以下」という制約を満たしながら、RSSを最小化せよ、ということ。
これは何を意味するでしょうか?
「係数の二乗和がt以下」という条件は、係数空間では「原点を中心とする円(または球)の内部」を表します。
つまりRidge回帰は、「この円の中で、RSSを最小にする点を探す」ということ。
円が小さいほど(tが小さいほど)、係数は原点に近い値を取らざるを得ません。 これが「縮小」の幾何学的な意味です。

Lasso - L1ペナルティ
次に紹介するのは「Lasso」(Least Absolute Shrinkage and Selection Operator)です。
Ridge回帰との違いはシンプル。ペナルティを「二乗」から「絶対値」に変えるだけです。 「L1」という名前は、絶対値の和がL1ノルムと呼ばれることに由来します。
たった一文字の違い(β²→|β|)ですが、結果は劇的に異なります。
Lassoの最大の特徴は、一部の係数を完全にゼロにできることです。 Ridge回帰では係数は小さくなりますが、ゼロにはなりません。
これは何を意味するでしょうか?
Lassoは「変数選択」を自動的に行うのです。 重要でない変数の係数をゼロにして、モデルから除外します。
100個の説明変数があっても、本当に重要な10個だけを選び出す。 これがLassoの強力な特徴です。

Lassoの幾何学的解釈 - なぜゼロになるのか?
なぜLassoは係数をゼロにできて、Ridge回帰はできないのでしょうか?
その答えは、制約領域の「形」にあります。
Ridge回帰の制約領域は「円」(高次元では球)。 Lassoの制約領域は「ひし形」(高次元では正八面体)。
ここで重要なのは、ひし形には「角」があることです。
RSSの等高線(楕円)がひし形と接触するとき、その接点は高い確率で「角」になります。 そして角は、座標軸上にあります。つまり、少なくとも1つの係数がゼロなのです。
一方、円には角がありません。 等高線は円の滑らかな曲面と接触するので、係数がちょうどゼロになることは稀です。
この「角があるかないか」という単純な幾何学的違いが、2つの手法の本質的な差を生み出しています。

λの選び方 - 交差検証
ここまで、RidgeとLassoの仕組みを見てきました。 でも実際に使うとき、1つ大きな疑問が残ります。
λの値はどう決めればよいのでしょうか?
λが小さすぎると縮小が不十分で過学習します。 λが大きすぎると縮小しすぎて、重要な情報まで失います。
答えは「交差検証(Cross-Validation)」です。
これは次のような手順です:
- データを例えば5つに分割
- 4つで学習し、残り1つで予測誤差を計算
- どの1つを評価用にするか変えながら5回繰り返す
- 5回の誤差の平均を計算
この手順を、様々なλの値で試して、予測誤差が最小になるλを選びます。

係数パスで見る縮小の過程
RidgeとLassoの違いを、別の角度から見てみましょう。
横軸にλ(またはその関数)、縦軸に各係数をプロットします。 これを「係数パス」と呼びます。
Ridge回帰では、全ての係数が滑らかに縮小していきます。 Lassoでは、ある点で係数が突然ゼロになります。
この違いが、2つの手法の性質をよく表しています。
- Ridge: 全ての変数を残しつつ、影響を均等に弱める
- Lasso: 不要な変数を切り捨て、重要な変数に集中
どちらが良いかは、データの性質によります。 多くの変数が少しずつ影響を持つなら Ridge。 少数の変数が強く影響するなら Lasso。

まとめ
この章で学んだことを振り返りましょう。
縮小推定法の本質
- 係数にペナルティを課して「控えめな予測」を行う
- 訓練データへのフィットを少し犠牲にして、汎化性能を向上
Ridge回帰(L2ペナルティ)
- 係数の二乗和にペナルティ
- 全ての係数を均等に縮小
- 制約領域は「円」
Lasso(L1ペナルティ)
- 係数の絶対値和にペナルティ
- 一部の係数を完全にゼロに(変数選択)
- 制約領域は「ひし形」(角がある)
選択の指針
- 多くの変数が少しずつ影響 → Ridge
- 少数の変数が強く影響 → Lasso
- λは交差検証で選ぶ
この「ペナルティを加える」というシンプルなアイデアは、画像認識、自然言語処理、医療診断など、現代の機械学習のあらゆる場面で使われています。
「少し控えめにする」ことで、より信頼できる予測ができる。 これが縮小推定法の力です。
