リッジ回帰・ラッソ回帰

リッジ回帰(Ridge Regression)とラッソ回帰(Lasso Regression)は、線形回帰モデルの過学習(Overfitting)を防ぐための正則化(Regularization)手法です。どちらもモデルの複雑さを制御することにより、汎化性能(新しいデータに対する予測性能)を向上させることが目的です。


1. 背景:線形回帰と過学習

通常の線形回帰は以下のような最小二乗法の目的関数を最小化します:

J(β)=i=1n(yiy^i)2=i=1n(yiXiβ)2J(\beta) = \sum_{i=1}^{n}(y_i – \hat{y}_i)^2 = \sum_{i=1}^{n}(y_i – X_i \beta)^2

ここで:

  • XiX_i:入力特徴量(説明変数)

  • yiy_i:目的変数(出力)

  • β\beta:回帰係数(パラメータ)

このままだと、説明変数が多い場合や多重共線性がある場合にモデルが過学習する可能性があります。


2. リッジ回帰(Ridge Regression)

リッジ回帰は、L2正則化を導入することで、係数の大きさを抑えます。

目的関数

J(β)=i=1n(yiXiβ)2+λj=1pβj2J(\beta) = \sum_{i=1}^{n}(y_i – X_i \beta)^2 + \lambda \sum_{j=1}^{p} \beta_j^2

  • 第1項:通常の最小二乗誤差

  • 第2項:ペナルティ項(L2ノルム)

  • λ\lambda:正則化パラメータ(大きいほど係数を小さくする)

特徴

  • 全ての係数を少しずつ小さくする。

  • 係数をゼロにはしない(特徴量の選択はしない)。

  • 多重共線性のあるデータや高次元データに有効。


3. ラッソ回帰(Lasso Regression)

ラッソ回帰は、L1正則化を用います。

目的関数

J(β)=i=1n(yiXiβ)2+λj=1pβjJ(\beta) = \sum_{i=1}^{n}(y_i – X_i \beta)^2 + \lambda \sum_{j=1}^{p} |\beta_j|

  • 第2項がL1ノルム(絶対値)に変わっている。

特徴

  • 一部の係数がゼロになる → 自動的に**特徴選択(変数選択)**が行われる。

  • 特徴量が多いときに有効。

  • スパースなモデル(非ゼロ係数が少ない)を作る。


4. リッジ回帰とラッソ回帰の比較

特徴 リッジ回帰 ラッソ回帰
正則化の種類 L2ノルム(2乗) L1ノルム(絶対値)
特徴選択 行わない 行う(係数が0になる)
多重共線性への対応 強い 弱い可能性あり
モデルの解釈性 低め(すべての特徴が残る) 高い(不要な特徴は除去)

5. Elastic Net(エラスティックネット)

リッジ回帰とラッソ回帰の両方の利点を活かしたElastic Netという手法もあります:

J(β)=i=1n(yiXiβ)2+λ1j=1pβj+λ2j=1pβj2J(\beta) = \sum_{i=1}^{n}(y_i – X_i \beta)^2 + \lambda_1 \sum_{j=1}^{p} |\beta_j| + \lambda_2 \sum_{j=1}^{p} \beta_j^2


6. まとめ

  • リッジ回帰:係数の大きさを抑えて過学習を防ぐ。

  • ラッソ回帰:不要な特徴量を自動的に除去してスパースなモデルを構築。

  • 正則化の強さ(λ)はハイパーパラメータであり、**交差検証(cross-validation)**などで選択するのが一般的。

どちらの手法も、単なる最小二乗法よりも高次元データやノイズのあるデータに対して優れた性能を発揮します。モデルの解釈性や精度のバランスに応じて使い分けることが重要です。

生成日:2025/06/01