用語比較
訓練誤差と汎化誤差の違い|テスト誤差との関係とi.i.d.の仮定(G検定)
訓練誤差と汎化誤差の違いは、誤差を測るデータです。訓練誤差は学習に使ったデータでの誤差、汎化誤差は新しい入力に対する誤差の期待値です。実際に使うときに効くのは、汎化誤差の方です。
訓練誤差は学習中に下げるもの、汎化誤差は本当に下げたいもの。汎化誤差はテストデータでの誤差(テスト誤差)で推定し、訓練誤差との差が大きいと過学習を疑います。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
訓練誤差と汎化誤差の要点
訓練誤差
訓練セットで計算する誤差の尺度。学習ではこれを小さくする。
汎化誤差
新しい入力に対する誤差の期待値。テスト誤差とも呼び、訓練とは別に集めたテストセットでの性能で推定する。
2つの関係
性能を決めるのは、訓練誤差を小さくすることと、2つの誤差の差を小さくすることの2点。未学習と過学習に対応する。
違いを表で確認
| 比較軸 | 訓練誤差 | 汎化誤差 |
|---|---|---|
| 測るデータ | 訓練誤差:学習に使う訓練セット | 汎化誤差:新しい入力(テストセットで推定) |
| 学習での扱い | 訓練誤差:学習で直接小さくする | 汎化誤差:学習では直接見えず、別のデータで推定する |
| 知りたいこと | 訓練誤差:モデルが訓練データに合っているか | 汎化誤差:初めてのデータでも通用するか |
| 別の呼び方 | 訓練誤差:training error | 汎化誤差:generalization error(テスト誤差とも呼ぶ) |
| 大きいと疑うこと | 訓練誤差が大きい:未学習 | 訓練誤差との差が大きい:過学習 |
| 試験での手掛かり | 訓練誤差:「訓練データ」「学習中に下げる」 | 汎化誤差:「未知のデータ」「期待値」「テストデータで推定」 |
G検定の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
訓練誤差が下がれば良いモデルだと思っていた人
訓練誤差は、訓練データへの合い方しか表しません。新しいデータでの誤差、つまり汎化誤差を見て判断します。
汎化誤差とテスト誤差の関係が曖昧な人
汎化誤差はテスト誤差とも呼ばれ、テストセットでの性能で推定します。呼び方が2つあるだけと押さえます。
過学習と未学習を誤差で見分けたい人
訓練誤差の大きさと、2つの誤差の差で見分けます。下の例で数値を並べます。
具体例で使い分ける
例 1
3つのモデルの誤差を並べる
多項式の次数だけを変えた3つのモデルで、訓練誤差とテスト誤差を測りました(数値は説明用の架空の例)。次数1は訓練4.0・テスト4.2、次数3は訓練1.0・テスト1.3、次数9は訓練0.1・テスト3.5です。
- 次数1は、2つの誤差の差が0.2と小さい一方、訓練誤差が4.0と大きく、未学習です。
- 次数3は、訓練誤差が1.0と小さく、差も0.3と小さいので、バランスが良いモデルです。
- 次数9は、訓練誤差は0.1と最も小さいのに、差が3.4と大きく、過学習です。
結論: 訓練誤差が一番小さい次数9を選ぶと誤りです。テスト誤差(汎化誤差の推定)が最も小さい次数3を選びます。
例 2
テストセットで汎化誤差を推定する
訓練に使っていない100件のテストデータで予測し、12件を間違えました(架空の例)。
- 誤り率は12÷100=0.12です。これが汎化誤差の推定値になります。
- 同書は、汎化誤差を、訓練セットとは別に集めたテストセットでの性能で推定すると説明します。
- テストデータを学習に使うと、この推定は、新しい入力での誤差を表さなくなります。
結論: 汎化誤差は、学習に使っていないデータで測ります。同じデータで学習と評価をすると、見かけの誤差だけが小さくなります。
例 3
訓練とテストが同じ分布という前提
訓練データとテストデータは、互いに独立で、同じ確率分布から得られるものとして議論します。
- この前提はi.i.d.の仮定と呼ばれ、訓練誤差とテスト誤差の関係を数学的に調べる土台になります。
- データの分布が訓練時と運用時で大きく変わると、テスト誤差が運用時の誤差を表さなくなる、という読み方ができます。
結論: テスト誤差が汎化誤差の推定として働くのは、テストデータが、実際に出会う入力と同じ分布のときです。
問題文から答えを選ぶ手順
- 1
誤差を測るデータを読む
訓練セットなら訓練誤差、新しい入力(テストセット)なら汎化誤差です。
- 2
訓練誤差の大きさを見る
訓練誤差そのものが大きければ、未学習を疑います。
- 3
2つの誤差の差を見る
訓練誤差が小さいのに、テスト誤差が大きければ、過学習を疑います。
- 4
比べる指標を選ぶ
モデルの選択は、訓練誤差でなくテスト誤差(汎化誤差の推定)で比べます。
試験での見分け方
- 1訓練誤差は、訓練セットで計算する誤差である。
- 2汎化誤差は、新しい入力に対する誤差の期待値で、テスト誤差とも呼ぶ。
- 3汎化誤差は、訓練とは別に集めたテストセットでの性能で推定する。
- 4性能を決めるのは、訓練誤差を小さくすることと、2つの誤差の差を小さくすることである。
- 5訓練誤差が大きければ未学習、2つの誤差の差が大きければ過学習を疑う。
誤答しやすい選択肢
訓練誤差が最も小さいモデルを選ぶ
修正: 訓練誤差が小さくても、テスト誤差が大きければ過学習です。汎化誤差の推定で比べます。
汎化誤差とテスト誤差を別のものだと考える
修正: 同書は、汎化誤差をテスト誤差とも呼ぶと述べます。ただし厳密には、テスト誤差は汎化誤差を推定する値です。
テストデータを学習に使う
修正: テストデータで学習すると、汎化誤差の推定が信頼できなくなります。学習と評価のデータは分けます。
確認問題
Q1新しい入力に対する誤差の期待値を何という?
答え: 汎化誤差
テスト誤差とも呼ばれ、テストセットでの性能で推定します。
Q2訓練誤差が小さく、汎化誤差が大きいとき、疑う状態は?
答え: 過学習
2つの誤差の差が大きいことが、過学習の手掛かりです。
Q3訓練誤差そのものが大きいとき、疑う状態は?
答え: 未学習
モデルが訓練データにも十分に合っていない状態です。
Q4訓練誤差0.1・テスト誤差3.5のモデルの、2つの誤差の差は?
答え: 3.4
3.5−0.1=3.4で、差が大きいので過学習を疑います。
到達チェック
- 訓練誤差と汎化誤差を、測るデータで区別できる
- 汎化誤差をテストセットで推定すると説明できる
- 誤差の大きさと差から、未学習と過学習を見分けられる
- i.i.d.の仮定を一言で言える
関連ページで確認する
同じ資格で次に知りたいこと
- 分類木と回帰木の違い|葉の出力と分割の基準を手計算で比較(G検定の決定木)
分類木は葉のクラスの割合から答えを出し、回帰木は葉のデータの平均で数値を予測します。分割の基準はジニ不純度やエントロピーと、平均二乗誤差の違い。4件のデータで回帰木の分割を手計算し、外挿が苦手な理由もscikit-learn公式ガイドで確認。
- DPOとRLHFの違い|報酬モデルと強化学習を使うかで見分ける(G検定)
DPO(Direct Preference Optimization)とRLHFの違いを、報酬モデルの有無、強化学習の使用、学習中のサンプリング、学習手順の複雑さで比較。どちらも人間の好みに言語モデルを合わせる方法です。G検定のRLHFの理解に役立つ見分け方と確認問題を、DPO原論文で照合して整理します。
- エキスパートシステムと機械学習の違い|人が書く規則と、データから見つける規則(G検定)
エキスパートシステムと機械学習の違いを、規則の出どころで整理。エキスパートシステムは専門家の知識をif-then規則で書き込み、機械学習はデータからパターンやルールを見つけます。知識ベースと推論エンジン、知識獲得の難しさ、事例と確認問題つき。G検定の比較。
よくある質問
Q訓練誤差と汎化誤差は何が違う?
訓練誤差は訓練セットでの誤差、汎化誤差は新しい入力に対する誤差の期待値です。汎化誤差はテストセットで推定します。
Q汎化誤差とテスト誤差は同じ?
Deep Learning(Goodfellowら)は、汎化誤差をテスト誤差とも呼ぶと述べます。テスト誤差は、汎化誤差をテストセットで推定した値と読むと整理しやすくなります。
QG検定に汎化誤差は出る?
公式シラバスの「モデルの評価と過学習」には、交差検証や過学習などの語が挙がります。汎化誤差の語自体の記載は確認していないため、過学習の説明に出る語として押さえておくと安心です。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
