AIの最新情報・実演を動画でチェック

*当ブログではアフィリエイト広告を利用しています。

データ分析・機械学習

過学習とは?「丸暗記」を防ぐ考え方と対策を初心者向けにやさしく解説

過学習とは?「丸暗記」を防ぐ考え方と対策を初心者向けにやさしく解説
ルミィ

「練習問題は全部解けたのに、本番のテストはボロボロ」——勉強でよくある失敗ですが、AIもまったく同じ落とし穴にはまります。それが過学習(オーバーフィッティング)です。

機械学習でいちばん大事といっても過言ではないのが、この過学習との付き合い方です。決定木の剪定も、ディープラーニングの学習の工夫も、突き詰めればこの過学習を防ぐためにあります。この記事では、過学習とは何か、なぜ起きるか、どう防ぐかを図でやさしく整理します。

🧭 連載「機械学習の地図」(全5回)

線形回帰や決定木の“その先”——機械学習の全体像と、回帰・木以外の代表的な考え方を、順番にやさしくたどる連載です。

  1. 機械学習の3つの学び方|教師あり・教師なし・強化学習
  2. クラスタリング|似たものを自動でグループ分け
  3. 主成分分析(PCA)・次元削減|情報を大事な軸に圧縮する
  4. 過学習と正則化(この記事)|「丸暗記」を防ぐ考え方
  5. モデルの評価指標|混同行列・適合率・再現率
ルミィ
ルミィ

AIの賢さは「覚えた量」じゃなくて「初めて見る問題に通用するか」で測るんだ。ここが過学習のキモだよ。

過学習の図解。同じデータ点に対して、単純すぎる直線(未学習)、なめらかにとらえた線(ちょうどよい)、すべての点を無理に通るぐにゃぐにゃの線(過学習)の3パネル比較。
図:単純すぎ(未学習)と複雑すぎ(過学習=丸暗記)の間の、ちょうどよい状態を狙います。

過学習とは?|丸暗記して応用が利かない状態

過学習とは、学習に使ったデータに合わせすぎて、見たことのない新しいデータでうまく予測できなくなる状態です。図の右端のように、すべての点を無理やり通ろうとして、線がぐにゃぐにゃに暴れているのが過学習のイメージです。

一方、図の左端は逆の失敗で、未学習(学習不足)。線が単純すぎて、データの傾向すらとらえられていません。そして真ん中が、ちょうどよい状態。細かい点には完璧に合わせていませんが、データの“本質”をなめらかにつかんでいます。

AIに求めたいのは、この真ん中です。練習問題(学習データ)の丸暗記ではなく、初めて見る問題(新しいデータ)に通用する力——これを汎化(はんか)能力と呼びます。

なぜ過学習は起きる?

過学習が起きる原因は、主に2つです。

  • モデルが複雑すぎる——表現力が高すぎると、データのノイズ(たまたまのブレ)まで覚えてしまう。決定木を深くしすぎる、ニューラルネットを大きくしすぎる、などが典型
  • データが少なすぎる——例が少ないと、限られたパターンを丸暗記するだけで“満点”が取れてしまい、応用が利かない

「賢いモデルを使えば使うほど良い」とは限らないのが、機械学習の面白くも難しいところ。問題の難しさに対して、ちょうどよい複雑さを選ぶことが大切です。

どうやって見つける?|訓練と本番を分ける

過学習に気づくには、学習に使うデータと、評価に使うデータを分けるのが鉄則です。

  • 訓練データ——モデルに学習させるためのデータ(練習問題)
  • テストデータ——学習には使わず、最後の実力チェックに取っておくデータ(本番)

もし「訓練では高得点なのに、テストでは低得点」なら、それは過学習のサインです。練習問題は丸暗記できているのに、初見の問題に弱い、という状態だからです。この差を見張ることが、過学習対策の出発点になります。

過学習を防ぐ5つの方法

過学習を防ぐ工夫は、効く順に覚えておくと役立ちます。

  • ①データを増やす——いちばん本質的。例が増えるほど丸暗記では足りなくなり、本質を学ばざるを得なくなる
  • ②モデルを単純にする——決定木の剪定のように、複雑さを抑える。「深くしすぎない」が合言葉
  • ③正則化——重みが極端に大きくなるのを抑えるブレーキ。L1・L2正則化が代表
  • ④早期終了——学習しすぎる前に、テストの成績が悪化し始めたところで学習を止める
  • ⑤交差検証——データを分けて何度も検証し、たまたまの良し悪しに惑わされないようにする

ディープラーニングでよく聞くドロップアウト(学習中にわざと一部のニューロンを休ませる)も、③の正則化の仲間です。どれも「真面目に覚えすぎない」ためのブレーキ、と捉えると分かりやすいです。

①の「データを増やす」は理想ですが、現実には集めるのが大変です。そこで画像なら、写真を少し回転・反転させたり明るさを変えたりして“水増し”するデータ拡張(データオーグメンテーション)がよく使われます。同じ猫の写真でも向きや明るさが変われば、AIには別の例に見える——こうして手持ちのデータから学びを引き出すのも、過学習対策の実用的な一手です。

交差検証|“たまたま”にだまされない

訓練とテストを1回分けるだけだと、「たまたまその分け方だと成績が良かった(悪かった)」という運の影響を受けます。これをならすのが交差検証(クロスバリデーション)です。

いちばん使われるk分割交差検証は、こんな段取りです。

  1. ①データを等分する——たとえば5つのかたまりに分ける
  2. ②1つをテスト、残りで学習——5つのうち1つを本番役、残り4つで学習する
  3. ③役割を変えて繰り返す——テスト役を順番に交代しながら、5回学習・評価する
  4. ④平均をとる——5回の成績を平均して、最終的な実力とみなす

こうすると、すべてのデータが1度はテスト役を務めるので、1回きりの分け方より公平に実力を測れます。「この前は良かったのに今回はダメ」というブレに振り回されなくなるのが利点です。

学習曲線で見抜く|過学習か、データ不足か

過学習や未学習は、学習曲線というグラフで見抜けます。データ量や学習回数を横軸に、訓練とテストの成績を縦軸にとって眺めるのです。

  • 訓練もテストも低い——未学習(モデルが単純すぎ)。複雑さを上げる・特徴量を増やす
  • 訓練は高いがテストが低く、差が大きい——過学習。データを増やす・正則化する・単純にする
  • データを増やすとテストが伸び続けている——まだデータ不足。集める価値あり

「成績が悪い」と一括りにせず、訓練とテストの“差”を見て原因を切り分ける。これができると、次に打つ手(データを増やすのか、モデルをいじるのか)が決まります。

バイアスとバリアンス|ちょうどよさの正体

過学習・未学習は、バイアスとバリアンスという言葉でも語られます。少し専門的ですが、知っておくと見通しがよくなります。

  • バイアス(偏り)が高い=未学習——単純すぎて、的を外している。図の左端
  • バリアンス(ばらつき)が高い=過学習——複雑すぎて、データごとにブレる。図の右端

この2つはシーソーの関係で、片方を下げるともう片方が上がりがち。両方をいい塩梅にする“ちょうどよさ”を探すのが、機械学習のチューニングの本質です。図の真ん中を狙う作業、と言い換えてもいいでしょう。

正則化のL1とL2|何が違う?

過学習対策の定番「正則化」には、よく使う2種類があります。名前だけでも知っておくと、解説記事がぐっと読みやすくなります。

  • L2正則化(Ridge)——重みが大きくなりすぎないよう、全体をやんわり小さく抑える。なめらかで安定したモデルになりやすい
  • L1正則化(Lasso)——いらない特徴量の重みをゼロにまで追い込む。結果として“効く項目だけ残す”ので、特徴量の自動選択にもなる

「とりあえず効かせたいならL2、項目を絞り込みたいならL1」が大まかな目安。どちらも“モデルが複雑になりすぎるのにブレーキをかける”点は共通しています。

ミニ実験|同じデータを3つのモデルで

過学習の感覚は、想像実験で一番つかめます。20個の点(うっすら右上がりだが、ノイズでガタガタ)を、3つのモデルで学ばせてみましょう。

  • 直線(単純すぎ)——ガタガタを無視して1本の直線。訓練もテストもそこそこだが物足りない=未学習ぎみ
  • なめらかな曲線(ちょうどよい)——大きな傾向を捉えつつ、細かいノイズは追わない。テストでも好成績
  • 全点を通る波打つ線(複雑すぎ)——訓練データには完璧にフィット(誤差ほぼゼロ)。でもノイズまで覚えたせいで、新しい点では大きく外す=過学習

面白いのは、訓練データだけ見ると「全点を通る線」が一番優秀に見えること。誤差ゼロですから。でも本当に賢いのは真ん中です。「訓練での満点」に飛びつくと過学習にだまされる——この直感を持っておくと、現場で役立ちます。

ちなみに、ランダムフォレストのように「たくさんのモデルの多数決をとる」アンサンブルも、1本ごとの過学習を打ち消し合って結果を安定させる工夫の一つです。過学習対策は、設定(正則化)だけでなく、モデルの組み方そのものにも組み込まれています。

まとめ

過学習は、学習データに合わせすぎて、新しいデータで通用しなくなる状態です。AIの賢さは「覚えた量」ではなく「初めて見る問題に通用するか(汎化能力)」で測ります。

防ぎ方は一つではありません。データを増やす、モデルを単純にする、L1・L2正則化でブレーキをかける、早期終了する、交差検証で公平に測る、アンサンブルで打ち消し合う——どれも「真面目に覚えすぎない」ための工夫です。そして何より、訓練とテストを分け、その“差”を学習曲線で見張ること。これが過学習と付き合う第一歩になります。

過学習を意識できるようになると、機械学習の見方がひとつ深まります。「訓練データで満点」を素直に喜ばず、「本番(初見のデータ)でも通用するか」をいつも問う——この一歩引いた視点こそ、個々の手法の名前以上に、長く役立つ財産になります。

訓練とテストを分けて差を見張り、データを増やす・モデルを単純にする・正則化する、といった工夫で“ちょうどよさ”を探す。これは決定木からディープラーニングまで、あらゆる機械学習に共通する、いちばん大切な考え方です。

過学習=練習を丸暗記して本番で外す。未学習=単純すぎて的外れ。

狙うのは真ん中(汎化能力)。

訓練とテストを分けて見張り、データ増・単純化・正則化で防ぐ。

最終回は、その「本番で通用するか」をどう数字で測るか——モデルの評価指標に進みます。

よくある質問(FAQ)

過学習(オーバーフィッティング)とは何ですか?

A. 学習に使ったデータに合わせすぎて、見たことのない新しいデータでうまく予測できなくなる状態です。練習問題を丸暗記して本番のテストで失敗するのに似ています。AIの賢さは初めて見る問題への対応力(汎化能力)で測ります。

過学習はなぜ起きるのですか?

A. 主に、モデルが複雑すぎてデータのノイズまで覚えてしまう場合と、データが少なすぎて限られたパターンを丸暗記してしまう場合です。問題の難しさに対してちょうどよい複雑さを選ぶことが大切です。

過学習にどうやって気づきますか?

A. 学習に使う訓練データと、評価用のテストデータを分けるのが基本です。訓練では高得点なのにテストでは低得点なら、過学習のサインです。この差を見張ることが対策の出発点になります。

過学習を防ぐ方法は?

A. データを増やす、モデルを単純にする(決定木の剪定など)、正則化(L1・L2)、早期終了、交差検証などです。ディープラーニングのドロップアウトも正則化の仲間で、どれも『真面目に覚えすぎない』ためのブレーキです。

未学習(学習不足)とは何ですか?

A. 過学習の逆で、モデルが単純すぎてデータの傾向すらとらえられていない状態です。練習問題でも本番でも成績が低くなります。モデルを少し複雑にする、特徴量を増やすなどで改善します。

正則化とは何ですか?

A. 重みが極端に大きくなるのを抑えて、モデルが複雑になりすぎないようにする工夫です。L1正則化やL2正則化が代表で、過学習を防ぐブレーキとして広く使われます。

バイアスとバリアンスとは何ですか?

A. バイアスが高いと単純すぎて的を外す(未学習)、バリアンスが高いと複雑すぎてデータごとにブレる(過学習)状態です。この2つはシーソーの関係で、両方をちょうどよくする点を探すのが機械学習のチューニングの本質です。

あわせて読みたい

参考・一次ソース

  • Google「Machine Learning Crash Course – Generalization / Overfitting」(developers.google.com
  • IBM「What is overfitting?」(ibm.com

※本記事は2026年6月時点の一般的な仕組みを初心者向けに整理したものです。手法の詳細や最適な使い方はデータや目的によって変わるため、実務では各手法の前提条件もご確認ください。

ルミィ
ルミィ
AIナビゲーター
ChatGPT・Gemini・Claudeなどの会話AI、画像生成AI、動画生成AI、資料作成AI、AI検索ツールを初心者向けに解説するAIナビゲーター。実際に使ってみた感想や、仕事・学習・発信に役立つAI活用法をわかりやすく紹介しています。
記事URLをコピーしました