意外と知らない!?L1正則化とL2正則化の違いを図で直感理解!

意外と知らない!?L1正則化とL2正則化の違いを図で直感理解! プログラミング

機械学習を学ぶうえで避けて通れない「正則化」。中でも有名なL1正則化(ラッソ)とL2正則化(リッジ)について、直感的かつビジュアルに解説された動画をもとに、この記事ではその意味や仕組みを丁寧に説明します。「過学習ってなに?」「なぜ正則化が必要なの?」といった初歩的な疑問から、実際にどのように重みに作用するかまで、ビジネスにも活かせる視点でまとめました。

まずは基礎!過学習とは何か?

過学習とは、学習データにぴったり当てはめすぎた結果、新しいデータに対して予測精度が低くなる現象です。自由度が高すぎる(=パラメータが多すぎる)モデルがこれを引き起こします。

過学習の例

  • データに完全フィットしすぎてしまう
  • 新しいデータに弱くなる
  • テストではパニック状態!?

豆知識: 「過学習」は、テストで“過去問”に頼りすぎて本番で混乱する学生のような状態とも言えます。

正則化とは?

正則化とは、モデルの複雑さを抑えることで過学習を防ぐための手法です。具体的には、誤差関数にペナルティ項を加え、重みが極端に大きくならないように調整します。

損失関数+ペナルティ項

通常の損失関数に加えて、重みの大きさに応じたペナルティを課します。これにより、重みが自然と小さくなり、過学習のリスクを抑えます。

L2正則化(リッジ回帰)

L2正則化では、重みの2乗和に対するペナルティを課します。具体的には、

L2: 損失関数 + λ × Σ (重み^2)

この手法では、特に寄与の小さい重みがなだらかに抑えられ、モデル全体がバランスよく学習する傾向があります。

ポイント: L2正則化は滑らかに重みを小さくするため、安定したモデルが得られやすいです。

L1正則化(ラッソ回帰)

L1正則化では、重みの絶対値の合計をペナルティとして加えます。

L1: 損失関数 + λ × Σ |重み|

この手法は不要な重みをゼロにしやすいという特徴があり、自然と特徴量選択が行われる効果があります。

豆知識: L1正則化が生む「ゼロ」の多い重みベクトルのことを「スパースな解」と呼びます。

図形で理解する!L1とL2の違い

等高線と制約領域の違い

最適化の観点から見ると、L2正則化は制約領域が円形(楕円)、L1正則化はダイヤモンド型になります。最小化される点は、等高線とこの制約領域の“最初に接する場所”となります。

  • L2正則化 → 円形の制約 → 重みは全体的に抑制
  • L1正則化 → ダイヤ型の制約 → 重みがゼロになりやすい

なぜL1はゼロが出やすい?

ダイヤモンド型の頂点で最小値が接するケースが多いため、一部の重みがゼロになるのがL1正則化の特徴です。これにより、モデルが自然と“引き算”をして、重要な特徴だけに注目するようになります。

どちらを使うべき?

  • 特徴量が多く、どれが重要かわからない → L1(ラッソ)
  • すべての特徴量を少しずつ使いたい → L2(リッジ)
  • 両方の特徴を取り入れたい → Elastic Net(L1 + L2)

正則化は機械学習の守護神!

L1とL2の正則化は、それぞれ異なる特徴を持ちながら、どちらも「過学習を防ぎ、汎化性能を高める」という目的で使われます。動画ではそれを視覚的に理解できるよう、図やアニメーションを駆使して解説しており、「頭で理解する」から「感覚でわかる」へと導いてくれます。

この動画を見るべきかどうか評価

  • 図解による理解のしやすさ:★★★★★
  • 学習内容の実務活用度:★★★★☆
  • 親しみやすさと講師のテンポ感:★★★★☆

コメント

タイトルとURLをコピーしました