Ridge正則化とは何か?線形回帰の安定化と過学習抑制を徹底解説
Ridge正則化とは何か — 概要と直感
Ridge正則化(リッジせいそくか、英: Ridge regression、別名 Tikhonov 正則化)は、線形回帰モデルの学習時にパラメータの大きさを抑えるための手法です。標準的な最小二乗法は訓練データに対して過学習したり、多重共線性(説明変数間の強い相関)によって推定量の分散が大きくなったりすることがあります。Ridgeは目的関数に二乗ノルムのペナルティ項を追加することでこれらの問題を緩和します。
定式化(最小化問題と解の形)
Ridge回帰は以下の目的関数を最小化します。
minimize over β: ||y - Xβ||_2^2 + λ ||β||_2^2
ここで X は(中心化・標準化済みの)入力行列、y は目的変数、β は回帰係数、λ ≥ 0 は正則化パラメータ(ハイパーパラメータ)です。λ が 0 のときは通常の最小二乗推定に一致し、λ が大きくなるほど β の大きさが強く抑えられます。
解析解は次の閉形式で与えられます。
β̂ = (X^T X + λ I)^{-1} X^T y
この式は X^T X が特異(非可逆)であっても λ > 0 により X^T X + λ I が正則になり、安定した解が得られる点が重要です。
直感的理解:バイアスと分散のトレードオフ
- Ridgeは係数を0に引き寄せる(shrinkage)ことで分散を減らすが、同時にバイアスが増える。適切なλを選べば総合誤差(期待二乗誤差)を下げられる。
- 多重共線性が強い場合、最小二乗解は係数推定の分散が非常に大きくなる。Ridgeはこれを抑えて予測性能を安定化する。
線形代数的観点:固有値とSVDでの解釈
X を特異値分解 X = U Σ V^T とすると、Ridgeによる推定は各特異値に対して縮小を行うことが見える化できます。具体的には、最小二乗での逆作用は 1/σ_i に比例するが、Ridgeでは 1/(σ_i^2 + λ) の形になり、小さい特異値(ノイズに敏感な成分)ほどより強く抑えられます。したがって、Ridgeは行列の劣条件性を改善し、ノイズ方向の寄与を抑えるフィルタとして働きます。
確率的(ベイズ)解釈
Ridgeはベイズ的にはパラメータに対するゼロ平均の独立なガウス事前分布 β ~ N(0, τ^2 I) を仮定したときのMAP推定と一致します。尤度が y|X,β ~ N(Xβ, σ^2 I) の場合、MAP推定は最小二乗+正則化項の形になり、λ = σ^2 / τ^2 という関係が成り立ちます。つまりRidgeは「大きな係数は事前的に起こりにくい」という仮定を導入していると見ることができます。
RidgeとLassoの比較
- ペナルティの種類:RidgeはL2ノルム(||β||_2^2)を用いるのに対し、LassoはL1ノルム(||β||_1)を用いる。
- 係数の挙動:Ridgeは係数を連続的に小さくする(ゼロには滅多にならない)が、Lassoは一部の係数を正確にゼロにして変数選択を行う。
- 解の計算:Ridgeは閉形式解があり計算が安定(行列の逆を計算)だが、Lassoは凸だが非微分であるため専用アルゴリズム(座標降下法など)が必要。
- 相関変数:相関の高い説明変数がある場合、Ridgeはそれらを均等に縮小する傾向があるが、Lassoはどれかを選ぶ傾向がある。
ハイパーパラメータ λ の選び方
- 交差検証(k-fold CV):一般的で実用的。複数のλ候補に対して検証誤差を評価し、最良のものを選ぶ。
- 一般化交差検証(GCV):計算コストを抑えつつ汎化性能を評価する手法。特に行列分解を使うと効率的。
- 情報量規準(AIC, BIC)やCp統計量:モデルの複雑さを考慮してλを選ぶ方法。
- ベイズ視点:事前分布の分散を推定する(Empirical Bayes等)ことでλを決める。
実務上の注意点
- 特徴量のスケーリング:Ridgeでは係数に対して一様にペナルティをかけるため、各説明変数のスケール(単位)が異なると意味が変わる。通常は平均ゼロ・分散1に標準化する。
- 切片(バイアス項)の扱い:切片は通常正則化しない(Xを中心化してから回帰するのが一般的)。
- 解法:中小規模では閉形式 (X^T X + λ I)^{-1} を使うが、p(特徴量数)やn(サンプル数)が大きい場合はCholesky分解やSVD、確率的最適化、逐次更新法(オンライン学習)を使う。
- 解釈の注意:Ridgeは係数を縮小するため、係数の大きさを直接的な重要度として解釈するのは難しい。標準化や追加検証が必要。
拡張と応用例
- Kernel Ridge Regression(カーネルリッジ):カーネル法を用いて非線形回帰に拡張。カーネル行列 K に対して α = (K + λ I)^{-1} y として解が得られる。
- ロジスティック回帰へのL2正則化:分類問題でも二乗ノルムペナルティを尤度に加えて過学習を抑える(scikit-learn の LogisticRegression における penalty='l2')。
- 高次元データ(p > n):最小二乗は無限の解を持つが、Ridgeは一意の安定した解を与えるため高次元解析で重要。
- 経済・計量分野や画像処理(Tikhonovの起源):パラメータ推定の安定化や逆問題の正則化に広く使われる。
数学的性質・有効自由度(Effective degrees of freedom)
Ridgeの「有効自由度」はモデルの柔軟性を測る指標として次で定義されることが多いです。
df(λ) = trace( X (X^T X + λ I)^{-1} X^T )
λ が 0 に近ければ df はほぼ p(説明変数数)に近くなり、λ が大きければ df は小さくなって単純なモデルに近づきます。GCVやAICの計算にもこの値が利用されます。
実装の簡単なヒント(ツール別)
- Python (scikit-learn):sklearn.linear_model.Ridge(alpha=λ) を用いる。alpha は λ に対応(特徴量は標準化推奨)。交差検証版は RidgeCV。
- R:glmnet パッケージ(alpha=0 でRidge近似)や MASS::lm.ridge が利用可能。
- 数値安定性:大規模データでは行列の直接反転を避ける。Cholesky、SVD、または確率的勾配法を使う。
よくある誤解と注意事項
- 「Ridgeは変数選択をする」と誤解されることがあるが、係数をゼロにすることはほとんどなく、変数選択には向かない。
- λ を無闇に大きくするとアンダーフィッティングになる。クロスバリデーションによる適切な調整が必要。
- 標準化しないと、異なるスケールの説明変数に対して不適切なペナルティが課される。
まとめ
Ridge正則化は、線形回帰の安定化と過学習抑制に有効な基本手法です。閉形式解が得られ、行列の劣条件性に強く、計算面でも扱いやすい特徴があります。Lasso のようなスパース化は期待できない一方で、相関の高い変数群を均等に縮小する性質やベイズ的解釈(ガウス事前)を持つ点が便利です。実践では説明変数の標準化、切片の扱い、λ の交差検証による選択に注意して応用します。
参考文献
- Hoerl, A.E. & Kennard, R.W. (1970). Ridge regression: Biased estimation for nonorthogonal problems. Technometrics.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning. (オンライン版)
- Tikhonov regularization — Wikipedia
- scikit-learn: Ridge regression documentation
- Ridge regression — Wikipedia


