機械学習・ディープラーニングの大きな課題のひとつが 過学習(Overfitting) です。
過学習を防ぎ、モデルの汎化性能を高めるために使われる手法群を 正則化(Regularization) と呼びます。
本節では代表的な正則化手法である L1正則化、L2正則化、Dropout を整理します。
正則化の目的
- モデルの複雑さを抑え、過学習を防ぐ
- 汎化性能を高める(未知データに強いモデルを作る)
- 学習の安定化
👉 試験ポイント:「正則化は過学習を防ぐために用いられる」。
L1正則化(Lasso)
数式
Loss = 誤差 + λ Σ |wi|
特徴
- 重みの絶対値をペナルティとして加える。
- 不要な重みをゼロにする働きがあり、特徴量選択(スパース化) に有効。
利点
- モデルをシンプルにできる。
- 重要な特徴量を自動的に抽出可能。
欠点
- 特徴量が多すぎる場合に安定性が低下することもある。
L2正則化(Ridge)
数式
Loss = 誤差 + λ Σ wi^2
特徴
- 重みの二乗をペナルティに加える。
- 大きな重みを抑制し、安定した学習を実現。
利点
- 過学習を緩和。
- 学習をスムーズに進める。
欠点
- 特徴量選択の効果はL1に比べて弱い。
L1/L2併用(Elastic Net)
- L1とL2を組み合わせた正則化。
- 特徴量選択(L1)と安定性(L2)の両方のメリットを得られる。
Dropout
仕組み
- 学習時にランダムにニューロンを無効化(一定割合を「ドロップ」)。
- 毎回異なるネットワークを学習させるイメージ。
効果
- 過学習を防止(特定のニューロンへの依存を避ける)。
- アンサンブル学習的な効果が得られる。
注意点
- 学習時のみ適用、推論時には全てのニューロンを使用。
👉 試験でよく問われる:「Dropoutの目的は過学習防止」。
正則化と過学習の関係
- 過学習:学習データに適合しすぎて、未知データで性能が低下。
- 正則化:モデルを単純化して過学習を防ぐ。
- 応用例:ディープラーニングでは L2正則化+Dropout が広く利用される。
まとめ
- 正則化は「過学習防止と汎化性能向上」が目的。
- L1:重みをゼロにし、特徴量選択を行う。
- L2:重みを抑制し、学習を安定化。
- Dropout:ランダムにニューロンを無効化、アンサンブル効果で過学習を防止。
- Elastic Net:L1とL2を組み合わせた手法。
出題傾向
- 「L1正則化の効果は?」=スパース化、特徴量選択
- 「L2正則化の効果は?」=重み抑制、安定化
- 「Dropoutの目的は?」=過学習防止
- 「Elastic Netは何を組み合わせたものか?」=L1とL2
練習問題(例題)
問題:次のうち、特徴量選択(スパース化)に有効な正則化手法はどれか?
- L2正則化
- L1正則化
- Dropout
- バッチ正規化
👉 正解:2