ラッソ回帰(Lasso)完全ガイド:仕組み・変数選択・λの最適化と実務での注意点
概要
ラッソ回帰(Lasso: Least Absolute Shrinkage and Selection Operator)は、統計学および機械学習における正則化付き線形回帰手法の一つです。Tibshirani(1996)によって提案され、目的は過学習の抑制と説明変数の選択(スパース性の導入)を同時に実現することにあります。二乗誤差を最小化する一方で、係数の絶対値の和に比例したペナルティを課すことで、多くの係数がちょうどゼロになる解をもたらします。
数学的定義
標準的な線形回帰では、観測 y ∈ R^n と説明変数行列 X ∈ R^{n×p} に対して係数 β ∈ R^p を求めます。ラッソは次の最適化問題を解きます。
minimize (1/2n) ||y − Xβ||_2^2 + λ ||β||_1
ここで ||β||_1 = Σ_j |β_j| は L1 ノルム、λ ≥ 0 は正則化パラメータです。λ が大きいほどペナルティが強くなり、多くの係数がゼロになります。切片項(intercept)は通常ペナルティの対象外です。
直感とジオメトリ
ラッソの L1 ペナルティは幾何学的に菱形状(L1 ボール)を形成し、最小化される残差二乗誤差の等高線と接する点が座標軸と交わりやすいため係数がゼロになりやすい、という説明がよく使われます。これがラッソがモデル選択(変数選定)を自然に行う理由です。
最適化アルゴリズム
- 座標降下法(Coordinate Descent): 現代の実装(glmnet, scikit-learn など)で最も一般的。各係数を他を固定して順次最適化する。スパース性を生かした高速化が可能。
- LARS(Least Angle Regression): Efronら(2004)が示した手法。特定条件下でラッソの正則化経路(λ を変化させたときの係数推移)を効率的に計算できる。
- 凸最適化ソルバー: サブグラデント法や proximal 法(IST、FISTA)なども利用される。
標準化とハイパーパラメータ選択
ラッソは各説明変数のスケールに敏感です。したがって、実務では説明変数をゼロ平均・単位分散に標準化(標準化しないと大きなスケールの変数の係数が小さく抑えられる)するのが常套手段です。交差検証(k-fold CV)が λ の選定に最も広く使われます。AIC/BIC や情報量基準、あるいは安定化手法(安定選択)を使う場合もあります。
特徴選択のメカニズムと性質
- スパース性: L1 ペナルティにより多くの係数が正確にゼロになる(変数選択)。
- 最大非ゼロ数の制限: p > n の状況では、一般にラッソ解の非ゼロ成分数は多くとも n 以下(観測数に上限される)という性質がある(一般位置にあるとき)。
- 相関のある説明変数: 高い相関を持つ変数群の中から1つを選ぶ傾向がある(グルーピング効果が弱い)。同じ説明力を持つ複数変数を安定して選びたい場合は、Elastic Net などが好ましい。
- モデル選択一致性: 係数を正確にゼロ・非ゼロに分ける“一致性”には条件(例:irrepresentable condition)が必要で、常に成立するわけではない。
利点と欠点
- 利点
- 同時に正則化と変数選択ができる(解釈性が高まる)。
- 高次元データにも適用可能で計算的に効率的な実装が存在する。
- 欠点
- 相関変数の扱いが難しく、重要な変数が抜け落ちることがある。
- 選択バイアス(選択後推定の信頼区間など)に注意が必要で、ポスト選択推論が複雑。
- 真のモデルが非線形や相互作用を含む場合、線形ラッソは表現力に限界がある。
関連手法・拡張
- Ridge 回帰(L2 正則化): L2 ペナルティにより係数を縮小するがゼロにしない。相関変数のグループ化に強い。
- Elastic Net: L1 と L2 を組み合わせ、Lasso のスパース性と Ridge の安定性を両立(Zou & Hastie, 2005)。
- Adaptive Lasso: 重み付き L1 ペナルティを用い、一致性(oracle property)を改善する手法(Zou, 2006)。
- Group Lasso, Fused Lasso: グループ単位や構造を考慮したペナルティ。
実務上の注意点とベストプラクティス
- 前処理: 説明変数の標準化(平均0、分散1)と、欠損値処理を行う。
- 切片は通常ペナルティ対象外にする。カテゴリ変数はダミー化してから標準化を検討。
- λ の選定は交差検証が基本。λ の経路(係数の変化)を可視化して挙動を確認する。
- 選択された変数に対しては、ポスト推定(例えば選択後に普通最小二乗で再推定)や選択バイアスに対する補正を検討する。
- 高次元データでは計算コストと数値安定性に注意。glmnet(R/Python)や scikit-learn の最適実装がある。
代表的なライブラリ・実装
- R: glmnet パッケージ(座標降下法に基づく高速実装)。
- Python: scikit-learn の sklearn.linear_model.Lasso / LassoCV、または glmnet の Python バインディング。
- 可視化・解析: 係数経路(path)、交差検証曲線、選択された変数の安定度評価などを行う。
まとめ
ラッソ回帰は、解釈性の高いスパースモデルを構築できる強力なツールです。標準化やλ の適切な選定、相関の強い説明変数への配慮など、実務上の注意点を守れば、変数選択と予測性能の両立に非常に有用です。一方で、モデル選択の一致性や選択後推論など理論的・実務的な限界もあり、それらを理解したうえで Ridge や Elastic Net、Adaptive Lasso といった拡張手法と使い分けることが重要です。
参考文献
- Tibshirani, R. (1996). Regression Shrinkage and Selection via the Lasso. Journal of the Royal Statistical Society, Series B.
- Efron, B., Hastie, T., Johnstone, I., & Tibshirani, R. (2004). Least Angle Regression. Annals of Statistics.
- Zou, H. & Hastie, T. (2005). Regularization and variable selection via the elastic net. Journal of the Royal Statistical Society, Series B.
- Friedman, J., Hastie, T., & Tibshirani, R. (2010). Regularization Paths for Generalized Linear Models via Coordinate Descent. Journal of Statistical Software.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning. (書籍)
- Zou, H. (2006). The adaptive lasso and its oracle properties. Journal of the American Statistical Association.
- scikit-learn: Lasso — scikit-learn documentation
- glmnet: Lasso and Elastic-Net Regularized Generalized Linear Models


