訓練誤差 (G検定)

訓練誤差

1. 定義と概要

訓練誤差(training error)とは、モデルの学習に用いた訓練データに対して、モデルが出した予測値と実際の正解値がどれだけ食い違っているかを表す指標です。学習の過程では、この訓練誤差を小さくする方向へモデルのパラメータ(モデルの中で学習によって調整される数値)が更新されていきます。

訓練誤差の値が小さいほど、モデルが訓練データの持つ傾向やパターンをよく学習できていることを意味します。例えば住宅価格を予測するモデルであれば、訓練データに含まれる物件について予測した価格と実際の販売価格との差の平均が、訓練誤差にあたります。

従来、モデルの当てはまりの良さは、訓練誤差の小ささだけで測れば十分だと捉えられがちでした。しかし、モデルの表現力を高めるほど訓練データの細かな特徴まで再現できるようになるため、モデルを複雑にしたり学習を続けたりすれば、訓練誤差はほぼ際限なく小さくできることが知られるようになります。

この事実から、訓練誤差の小ささはモデルの実力そのものを保証しないという見方が広がり、汎化誤差との比較が重視されるようになりました。

2. 試験対策ポイント

まず整理しておきたいのは、訓練誤差そのものの定義だけでなく、他の指標と組み合わせてモデルの学習状態を判断する視点です。重要な論点になるのは、訓練誤差が学習の反復とともにどう変化していくかという性質です。

訓練誤差は学習が進むほど単調に減少し続ける性質を持ち、モデルを複雑にすれば原理的にはゼロに近づけることもできます。この性質があるため、訓練誤差の小ささだけではモデルの良し悪しを判断できないという注意点につながります。

中心的な論点になるのが、訓練誤差と汎化誤差を比較することで、モデルの学習状態を見分けられるという関係です。汎化誤差とは、テストデータ(モデルの学習には使わず、性能を確かめるためだけに使うデータ)に対する誤差を指します。

2つの誤差の大小の組み合わせと、そこから読み取れる学習状態の対応は次のとおりです。

訓練誤差 汎化誤差 読み取れる学習状態
小さい 大きい 過学習(訓練データに適合しすぎて、未知のデータへの対応力が落ちる状態)の兆候
大きい 大きい 未学習(モデルが単純すぎて訓練データの傾向すらうまく捉えられていない状態)の兆候

この2つの兆候の見分け方は、モデルの学習状態を判断する基本的な考え方として位置づけられます。訓練誤差の値だけを眺めていても学習状態の判断はつかず、未知のデータに対する誤差と並べて初めて意味を持つという関係です。

学習曲線(学習の進み具合に応じて誤差がどう変化するかを示すグラフ)は、横軸に学習の反復回数やデータ量、縦軸に誤差をとって描かれます。訓練誤差の線は右下がりに減少し続ける一方、検証データ(モデルの調整段階で性能を確認するために使うデータ)に対する誤差の線はある時点から下げ止まり、反転して上昇に転じることがあります。

この2本の線の開き方は、過学習・未学習を視覚的に見分ける手がかりです。グラフ上で両者の開きが大きくなる地点を見極める視点も、あわせて論点になります。

3. 関連概念との比較・相違点

汎化誤差(テスト誤差)との最大の違いは、対象となるデータにあります。訓練誤差は学習に使った訓練データそのものに対する誤差であるのに対し、汎化誤差は学習に使っていない未知のデータに対する誤差です。両者の差の大きさが、過学習・未学習を見分ける手がかりになる関係にあります。

訓練誤差が小さく汎化誤差が大きい状態は過学習の兆候として扱われ、訓練誤差と汎化誤差の両方が大きい状態は未学習の兆候として扱われます。この差を確認する視点は、モデルがどの程度未知のデータに対応できるかを判断するうえで欠かせません。

検証誤差(バリデーション誤差。モデルの調整段階で使う、検証用データに対する誤差)との違いは、使われる場面にあります。検証誤差は、ハイパーパラメータ(モデルの学習方法そのものを決める設定値)の調整などモデル選定の途中段階で使う検証用データに対する誤差です。これに対して、最終的な性能評価に使うテストデータに対する誤差、つまり汎化誤差の実測値とは役割が異なります。

検証誤差はモデルの候補を比較しながら調整を重ねる段階で参照され、汎化誤差は調整が完了したモデルの最終的な実力を示す値として扱われます。学習曲線では、検証誤差の推移が汎化誤差の近似として描かれることが多くあります。

3つの誤差を、対象となるデータと参照する場面で並べると違いがはっきりします。

誤差の種類 対象となるデータ 参照する場面
訓練誤差 学習に使った訓練データ 学習の過程での当てはまりの確認
検証誤差 モデル選定の途中段階で使う検証用データ 候補の比較や調整
汎化誤差(テスト誤差) 学習に使っていない未知のデータ 調整が完了したモデルの実力の確認

同じ誤差という言葉でも、どのデータを対象にした値なのかで意味が変わります。この対象データの違いが、3つを区別する軸になります。

4. ビジネス・実務での活用シナリオ

与信・融資審査の分野では、過去の融資データにモデルを合わせ込みすぎると、訓練誤差はほぼゼロまで下がる一方で、新規申込者の審査では誤判定が増える場合があります。訓練誤差だけでなく未知データでの誤差を確認することが、実運用でのモデル選定の判断材料になります。訓練誤差だけを基準にモデルを選ぶと、実際には返済能力の低い申込者を誤って承認してしまい、貸し倒れのリスクが実運用の段階になって初めて顕在化する形になりかねません。

需要予測・在庫管理の分野でも同様の注意が必要です。過去の販売実績データへの当てはめを追求しすぎたモデルは、訓練誤差が小さくても、季節変動や突発的な需要変化に弱く、発注量を誤る場合があります。発注量の精度は在庫コストに直結し、需要を実際よりも少なく見積もれば欠品による販売機会の損失につながり、多く見積もれば過剰在庫による保管コストの増加につながります。訓練誤差の低さだけでなく、検証データでの誤差もあわせて確認されます。

5. 要点まとめ

  • 訓練誤差は学習に使った訓練データに対するモデルの予測誤差で、学習が進むほど小さくなり続ける性質を持ちます。
  • 訓練誤差の小ささだけではモデルの実力を測れず、未知データに対する汎化誤差との比較から過学習・未学習を見分けます。
  • 学習曲線では、訓練誤差が下がり続ける一方で検証誤差が途中から反転して上昇する場合に、過学習の兆候として現れます。

6. 確認問題

問1訓練誤差とは、モデルの学習に使った訓練データに対する予測値と正解値の誤差を表す指標である。

解答・解説をみる

○ 正しい

訓練誤差はそのまま定義どおりの内容です。学習中はこの誤差を小さくする方向へパラメータが更新されます。

問2訓練誤差は、学習を続けるほど大きくなっていく性質を持つ。

解答・解説をみる

× 誤り

逆の記述です。正しくは、訓練誤差は学習が進むほど小さくなり続ける性質を持ち、モデルを複雑にすればさらに小さくできます。

問3訓練誤差が小さいのに汎化誤差が大きい状態は、モデルが訓練データに過度に適合した過学習の兆候として扱われる。

解答・解説をみる

○ 正しい

訓練誤差と汎化誤差の差が大きい状態は過学習の兆候にあたります。反対に、訓練誤差と汎化誤差の両方が大きい状態は未学習の兆候として扱われます。