この問題では、正則化手法の根本的な違いについて理解を深めます。Ridge回帰とLasso回帰は、過学習を防ぐための代表的な正則化手法ですが、その数学的性質と実務的な効果は大きく異なります。[[memory:1942104]]
正則化の基本概念
Step 1: 正則化の必要性
過学習の問題:
- 高次元データ:特徴量数がサンプル数に比べて多い場合
- 多重共線性:説明変数間に強い相関がある場合
- ノイズの学習:モデルがデータの雑音まで学習してしまう
正則化の効果:
- 汎化性能の向上:未知データに対する予測精度の改善
- 数値安定性:計算における数値的不安定性の解消
- 解釈性の向上:特徴量の識別(特にLasso)
Step 2: 線形回帰の基本形
通常の最小二乗法:
$$\\min_{\\beta} \\sum_{i=1}^n (y_i - \\mathbf{x}_i^T \\beta)^2$$
これは残差平方和のみを最小化するため、過学習のリスクがあります。
Ridge回帰の詳細分析
Step 3: Ridge回帰の数学的定義
目的関数:
$$\\min_{\\beta} \\sum_{i=1}^n (y_i - \\mathbf{x}_i^T \\beta)^2 + \\lambda \\sum_{j=1}^p \\beta_j^2$$
ここで:
- 第1項:データ適合項(残差平方和)
- 第2項:L2正則化項(係数の二乗和)
- $\\lambda$:正則化パラメータ($\\lambda ≥ 0$)
解析的解:
$$\\hat{\\beta}_{Ridge} = (\\mathbf{X}^T \\mathbf{X} + \\lambda \\mathbf{I})^{-1} \\mathbf{X}^T \\mathbf{y}$$
Step 4: Ridge回帰の特徴
係数の挙動:
- 係数の縮小:$\\lambda$が大きくなるにつれて係数は0に近づく
- 完全な0にならない:$\\lambda < \\infty$の場合、係数は0になることはない
- 滑らかな減少:係数は連続的に減少する
数学的性質:
- 凸最適化:一意な大域最適解が存在
- 閉形式解:解析的に解が求められる
- 回転不変性:直交変換に対して不変
Ridge回帰の効果メカニズム
L2正則化項 $\\sum_{j=1}^p \\beta_j^2$ は、各係数の二乗を制約します。これにより:
- 大きな係数にペナルティ:絶対値の大きい係数ほど強く制約される
- 均等な縮小:全ての係数が比例的に縮小される
- 多重共線性の改善:相関の高い変数群の係数を安定化
Lasso回帰の詳細分析
Step 5: Lasso回帰の数学的定義
目的関数:
$$\\min_{\\beta} \\sum_{i=1}^n (y_i - \\mathbf{x}_i^T \\beta)^2 + \\lambda \\sum_{j=1}^p |\\beta_j|$$
ここで:
- 第1項:データ適合項(残差平方和)
- 第2項:L1正則化項(係数の絶対値の和)
- $\\lambda$:正則化パラメータ($\\lambda ≥ 0$)
解の特徴:
- 閉形式解なし:解析的解は存在しない
- 数値計算必要:座標降下法などの反復アルゴリズムが必要
- 非微分可能:$\\beta_j = 0$で微分不可能
Step 6: Lasso回帰の特徴
係数の挙動:
- スパース解:多くの係数が正確に0になる
- 特徴選択効果:重要な特徴量のみが残る
- 不連続変化:係数は不連続的に変化する
幾何学的解釈:
L1正則化の幾何学的メカニズム
L1正則化項 $\\sum_{j=1}^p |\\beta_j|$ は、係数空間においてダイヤモンド形状の制約領域を形成します。この形状により:
- 角(頂点)での解:制約領域の角で最適解が得られやすい
- 軸上の解:角は軸上にあるため、多くの係数が0になる
- 自動的特徴選択:不要な特徴量が自動的に除去される
Ridge vs Lasso:詳細比較
Step 7: 数学的差異の根本原因
制約領域の形状:
側面 | Ridge(L2) | Lasso(L1) |
---|
制約領域 | 円形/球形 | ダイヤモンド形/正多面体 |
微分可能性 | すべての点で微分可能 | 軸上で微分不可能 |
係数の挙動 | 連続的縮小 | 不連続的変化 |
スパース性 | なし | あり |
Step 8: 選択基準
Ridge回帰を選ぶべき場合:
- 多重共線性の問題:相関の高い変数群がある場合
- 全変数が重要:すべての特徴量に何らかの意味がある場合
- 予測精度重視:解釈性よりも予測性能を重視する場合
- 安定性重視:データの小さな変化に対して安定した結果を求める場合
Lasso回帰を選ぶべき場合:
- 特徴選択が必要:重要な変数を特定したい場合
- スパースモデル:シンプルで解釈しやすいモデルを求める場合
- 高次元データ:特徴量数が非常に多い場合
- ノイズ変数が多い:無関係な変数が多く含まれている場合
Elastic Net:両者の統合
Step 9: Elastic Netの導入
目的関数:
$$\\min_{\\beta} \\sum_{i=1}^n (y_i - \\mathbf{x}_i^T \\beta)^2 + \\lambda \\left[ \\alpha \\sum_{j=1}^p |\\beta_j| + (1-\\alpha) \\sum_{j=1}^p \\beta_j^2 \\right]$$
ここで:
- $\\alpha \\in [0,1]$:混合比率
- $\\alpha = 1$:Lasso回帰
- $\\alpha = 0$:Ridge回帰
- $0 < \\alpha < 1$:両者の組み合わせ
Elastic Netの利点:
- グループ効果:相関の高い変数群をまとめて選択
- 安定性:Lassoの不安定性を改善
- 柔軟性:$\\alpha$の調整により最適なバランスを実現
実装と最適化
Step 10: 正則化パラメータの選択
交差検証による選択:
- 候補値の設定:$\\lambda$の候補値を対数スケールで設定
- k-fold交差検証:各$\\lambda$値で性能を評価
- 最適値の決定:最小の検証誤差を与える$\\lambda$を選択
- 1-SE rule:最適値の1標準誤差以内で最も単純なモデルを選択
情報量規準による選択:
- AIC:$\\text{AIC} = n \\log(\\text{RSS}/n) + 2\\text{df}$
- BIC:$\\text{BIC} = n \\log(\\text{RSS}/n) + \\log(n) \\cdot \\text{df}$
- 有効自由度:Lassoでは非零係数の数、Ridgeでは複雑な計算が必要