見出し画像

scikit-learn機械学習⑦L1・L2正則化

前回は、ロジスティック回帰を実装しました。もっと以前には、線形回帰を実装しました。

両方のモデルに共通するのは、一つまたは複数の独立変数(特徴量)と、それらに依存する従属変数(目的変数、ラベル)との関係をモデリングすることにあります。その際に、特定の特徴が目的変数に与える影響の大きさがモデルの重み(傾き)によって表現されていました。

特に前回行ったようなデータの正規化を行なっている場合は、データの分散はどれも同じようになるので、各特徴量に対する重みがその特徴量の重要度を反映している場合が多いと考えられます。

しかし、一方で訓練データに対して過学習(overfitting)が生じている場合もあります。その場合、ある特定の特徴量に対して過剰反応している(つまり重みが大きくなっている)ことが起こりえます。

よって、訓練データに対してだけ良い予測性能を持つことだけを目指すのではなく、未知のデータに対しても良い性能を発揮できる一般化能力を持つことが重要です。訓練データに含まれる特徴量とその影響を正確にモデル化することは必要ですが、訓練データのノイズや偶発的なパターンを過剰に学習してしまうと、新しいデータに対する予測が不正確になる可能性があります。過学習は、モデルの汎用性を低下させ、実際の運用において性能が落ちる原因となります。

そこで正則化の手法が登場します。正則化は過学習を防ぐための効果的な方法の一つです。この記事では、L1・L2正則化の仕組みについて解説します。

特に、L1正則化が特徴量選択のメカニズムとして機能することやL2正則化が特徴量を残しつつ重みを小さく調節する理由について勾配の仕組みから説明していきます。また、Elastic Net正則化にも触れ、なぜそのような正則化を使うのかを解説します。


ここから先は

7,368字

キカベン・読み放題

¥1,000 / 月
初月無料
このメンバーシップの詳細

この記事が気に入ったらサポートをしてみませんか?