過学習(Overfitting)は、機械学習やAIの分野で最も基本的な「落とし穴」として知られる概念です。
ITパスポート・基本情報技術者・応用情報技術者のいずれでも出題対象となっており、近年のAI関連出題の増加に伴い重要度が上がっています。
対象試験と出題頻度
過学習は、ITパスポート・基本情報技術者・応用情報技術者で出題されるテーマです。
機械学習に関する問題の選択肢として登場するケースが多く、転移学習・強化学習・誤差逆伝播法(バックプロパゲーション)などとの区別が問われます。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)覚えておくと有利
過学習(Overfitting)の定義
情報処理試験を勉強していると、「過学習って、学習しすぎることなの?なぜそれが問題なの?」と疑問に思いがちです。
過学習(Overfitting/オーバーフィッティング)とは、一言で言うと
「機械学習モデルが訓練データに過剰に適合した結果、未知のデータに対する予測精度が低下する現象」
のことです。
イメージとしては、「過去問の答えだけを丸暗記した受験生」です。
その受験生は過去問をそのまま出されれば満点を取れます。
しかし、少しでも問い方や数値が変わった初見の問題には対応できません。過学習も同じで、訓練データにはぴったり合うのに、実際の現場で使う新しいデータではまるで役に立たない状態です。
📊 過学習の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Overfitting(オーバーフィッティング) |
| 別名 | 過剰適合 |
| 分類 | テクノロジ系 > 基礎理論 > 情報に関する理論 |
| 対義語 | 未学習(Underfitting):モデルの学習が不十分で訓練データにすら適合できていない状態 |
解説
機械学習では、大量のデータ(訓練データ)をモデルに学習させて、まだ見たことがないデータでも正しく予測・分類できる「汎化性能」を高めることが目標です。
ところが、モデルが訓練データの細かなノイズや例外パターンまで忠実に記憶してしまうと、訓練データの「クセ」に特化しすぎて、新しいデータへの対応力が失われます。これが過学習の正体です。
なぜ起きるのか? ― 2つの主な原因
過学習が発生する代表的な原因は「訓練データの不足」と「モデルの複雑度が高すぎること」の2つです。
| 原因 | 何が起きるか |
|---|---|
| 訓練データが少ない | 限られたサンプルの特徴を「全体の傾向」と誤認し、偏ったパターンを学習してしまう |
| モデルが複雑すぎる | パラメータ数が多すぎて、データの本質的な傾向だけでなくノイズまで再現してしまう |
図解:適切な学習と過学習の違い
以下の図は、訓練データ(青い点)に対してモデルがどのようにフィットするかを示しています。
未学習(Underfitting)
データの傾向を捉えきれていない
適切な学習(Good Fit)
全体の傾向を滑らかに捉えている
過学習(Overfitting)
全データ点を通るがノイズまで拾っている
▲ 左から順に、学習不足・適切な学習・過学習。右に行くほどモデルが複雑になる
学習曲線で過学習を見抜く
過学習が発生しているかどうかは、「学習曲線(Learning Curve)」で判断できます。訓練を繰り返すにつれて訓練データの誤差は下がり続けますが、検証データの誤差がある時点から上昇に転じたら、それが過学習の始まりです。
学習曲線のイメージ
▲ 検証誤差が上昇に転じた地点が過学習の発生ポイント
代表的な対策手法
対策手法の詳細を確認する(何となくで覚えたい人向け)
| 対策 | 内容 |
|---|---|
| データ拡張 | 元の訓練データに回転・反転・ノイズ付加などの加工を施し、データ量を水増しする。多様なパターンを学習できるようになり、汎化性能が向上する |
| 正則化 | モデルの複雑さにペナルティを課し、パラメータが極端な値を取るのを抑制する(L1正則化、L2正則化など) |
| 早期終了 | 学習曲線を監視し、検証データの誤差が増加し始めた時点で訓練を打ち切る |
| 交差検証 | データを複数のグループに分割し、訓練と検証の役割を順番に入れ替えて評価することで、特定のデータ分割に依存しない汎化性能を測定する |
| ドロップアウト | ニューラルネットワークの訓練時に、一部のノードをランダムに無効化して学習させる。特定のノードへの依存を防ぎ、汎化性能を高める |
混同しやすい用語との比較
過学習は、機械学習の他の概念と選択肢で並べられることが多いため、違いを整理しておくことが重要です。
| 用語 | 意味 | 見分けキーワード |
|---|---|---|
| 過学習 | 訓練データに適合しすぎて未知データへの精度が落ちる | 訓練データ、精度低下、汎化 |
| 転移学習 | ある領域で学習済みのモデルを別の領域に再利用する | 再利用、別の領域 |
| 強化学習 | 報酬を最大化するように試行錯誤で学習する | 報酬、エージェント |
| 誤差逆伝播法 | 出力の誤差を逆方向に伝えて重みを更新する学習アルゴリズム | 逆方向、誤差、重み更新 |
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 過学習の核心を3行で
・訓練データに過剰適合し、未知データへの予測精度が低下する現象
・原因は「訓練データの不足」と「モデルの複雑度過多」の2つ
・対策にはデータ拡張・正則化・早期終了・交差検証などがある
試験ではこう出る!
過学習は、AP(応用情報技術者)を中心に直接出題されるケースが増えています。IP(ITパスポート)やFE(基本情報技術者)ではシラバス6.2で出題範囲に明示されており、今後の出題増加が見込まれるテーマです。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| AP R4秋 午前 問4 |
「AIにおける過学習の説明として最も適切なものはどれか」を選ぶ問題 | ・「訓練データに対しては精度が高いが未知データでは下がる」が正解 ・転移学習・誤差逆伝播法・強化学習がひっかけ |
| AP R7春 午前 問3 |
「過学習と疑われたときの解消方法として最も適切なものはどれか」を選ぶ問題 | ・「訓練データに加工を施しデータ量を増やす(データ拡張)」が正解 ・モデルの複雑化や汎化性能の低下は逆効果 |
| AP R6秋 午前 問2 |
「教師あり学習での交差検証に関する記述」を選ぶ問題 | ・交差検証と正則化の区別が問われた ・選択肢に過学習の防止手法が複数含まれる |
📝 IPA試験での出題パターン
パターン1:「過学習の説明を選べ」
4つの機械学習関連用語の説明文が並び、過学習に該当するものを選ぶ形式。ひっかけとして「ある領域の学習済みモデルを別領域に再利用」(転移学習)、「結果側から逆方向に誤差を伝える」(誤差逆伝播法)、「報酬を与えて成功を判断させる」(強化学習)の説明が紛れ込む。キーワードは「訓練データ」「精度が下がる」。
パターン2:「過学習の解消方法を選べ」
R7春で初登場した新パターン。データ拡張が正解で、「モデルを複雑にする」「汎化性能を下げる」といった逆効果の選択肢がひっかけ。ここだけは確実に押さえてください。
試験ではここまででOKです。正則化やドロップアウトの詳細な数式まで深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. AIにおける過学習の説明として、最も適切なものはどれでしょうか?
- A. 学習に使った訓練データに対しては精度が高い結果となる一方で、未知のデータに対しては精度が下がる。
- B. ある領域で学習した学習済みモデルを、別の領域に再利用することによって、効率的に学習させる。
- C. 期待している結果とは掛け離れている場合に、結果側から逆方向に学習させて、その差を少なくする。
正解と解説を見る
正解:A
解説:
過学習(Overfitting)は、機械学習モデルが訓練データに過剰に適合した結果、未知のデータに対する予測精度が低下する現象です。選択肢Aの「訓練データには高精度だが未知データでは精度が下がる」がそのままこの定義に合致します。
選択肢Bは転移学習の説明です。転移学習は既に学習済みのモデルを別の目的に流用する手法であり、過学習とは関係ありません。選択肢Cは誤差逆伝播法(バックプロパゲーション)の説明です。ニューラルネットワークの重みを更新するための学習アルゴリズムであり、過学習という「状態」の説明ではありません。
よくある質問(FAQ)
Q. 過学習と敵対的サンプル(Adversarial Examples)はどう違いますか?
過学習は「モデル自身の学習プロセスの問題」であり、訓練の仕方に起因します。一方、敵対的サンプルは「外部からの意図的な攻撃」で、人間には判別できない微小なノイズを入力データに加えてAIを誤判定させる手法です。原因が内部(学習過程)か外部(攻撃者)かという点で根本的に異なります。
Q. 過学習はディープラーニングだけで起きる問題ですか?
ディープラーニングに限った問題ではありません。決定木、サポートベクターマシン、回帰分析など、あらゆる機械学習手法で発生し得ます。ただし、ディープラーニングはパラメータ数が膨大なため特に発生しやすく、ドロップアウトやバッチ正規化といったディープラーニング固有の対策技術が発達しています。
Q. 実務で過学習を防ぐために最初にやるべきことは何ですか?
まずは訓練データとテストデータを明確に分割し、テストデータでの精度を定期的にモニタリングすることです。学習曲線を可視化するだけでも、過学習が起き始めるタイミングを早期に察知できます。その上でデータ量の確保やモデルの簡素化を段階的に検討するのが実務の定石です。
Q. 「バイアスとバリアンスのトレードオフ」と過学習はどう関係しますか?
バイアスは「モデルの単純化による誤差」、バリアンスは「データの変動に対するモデルの敏感さ」を指します。過学習はバリアンスが高い状態、つまりモデルが訓練データの細かな変動に過敏に反応している状態に対応します。逆に未学習はバイアスが高い状態です。IPA試験のシラバスでも「バイアスとバリアンスのトレードオフ」は用語として記載されているため、セットで理解しておくと応用力が上がります。