汎化性能とは

はんかせいのうgeneralization performance別名 汎化能力

1行定義

汎化性能とは、学習に使っていない未知のデータに対しても、モデルが正しく予測できる能力のことです。

くわしく

汎化性能は、モデルが本番で役に立つかどうかを左右する、機械学習の中心にある考え方です。学習に使ったデータでよく当たるだけでは足りません。まだ見たことのないデータでも正しく予測できることが、機械学習の目的です。

運転の練習にたとえると

教習所のコースだけを何度も走り、曲がる場所や止まる場所をすべて覚えた人は、そのコースなら上手に走れます。しかし、初めての道では戸惑うかもしれません。知らない道でも安全に運転できる力が、汎化性能にあたります。

学習誤差と汎化誤差

学習データに対する誤差を学習誤差(訓練誤差)、未知のデータに対する誤差の期待値を汎化誤差といいます。学習で直接下げているのは学習誤差ですが、本当に下げたいのは汎化誤差です。

汎化誤差は直接には測れません。そこで、学習に使わずに取り分けておいたデータで誤差を測り、汎化誤差の見積もりとします。データの分け方には、ホールドアウト検証や交差検証があります。この見積もりは、学習用・評価用・本番のデータが同じ性質(分布)をもつという前提の上に成り立っています。

過学習・未学習との関係

  • 学習誤差は小さいのに、検証用データでの誤差が大きい:過学習です。学習データの雑音まで覚え込んでいます。
  • どちらの誤差も大きい:未学習です。モデルが単純すぎて、データの傾向をとらえきれていません。

この2つの間で、検証用データでの誤差が最も小さくなるモデルの複雑さを探すことが、モデル選択の中心的な課題です。最終的な性能は、選ぶのに使わなかったテストデータで確かめます。

汎化性能を高める主な方法

学習データを増やす、データ拡張、正則化、ドロップアウト、早期終了などがあります。AICやBICのように、パラメータ数に罰則を与えてモデルを選ぶ方法も、汎化性能を意識した考え方です。

覚え方

「汎=広く。学習データの外まで広く通用する力」と覚えます。

G検定での出題

学習データと検証データの誤差を比べて過学習や未学習を見抜く形や、汎化性能を正しく見積もるためのデータの分け方、汎化性能を高める手法の選択が、場面設定とあわせて問われます。

◯×チェック

  1. 汎化誤差とは、学習に使ったデータに対する予測の誤差を平均した値のことである。

    答えを見る

    答え × 誤り

    それは学習誤差(訓練誤差)です。汎化誤差は未知の新しいデータに対する誤差の期待値で、学習に使わなかったテストデータでの誤差で見積もります。

  2. 運用を始めた後に入力データの傾向が大きく変わると、事前に評価用データで測った成績は、本番での成績の目安になりにくくなる。

    答えを見る

    答え ◯ 正しい

    評価用データの成績が本番の目安になるのは、学習・評価・本番のデータが同じ性質(分布)をもつという前提があるからです。この前提が崩れると、事前の評価は当てはまらなくなります。

  3. モデルのパラメータ数を増やすほど、汎化性能は必ず高くなる。

    答えを見る

    答え × 誤り

    パラメータを増やすと学習データへの当てはまりは良くなりますが、雑音まで覚えて過学習し、未知のデータでの成績が下がることがあります。汎化性能は検証用データで確かめます。

練習問題

汎化性能の問題(3問)
  1. 行動履歴を使う推薦の注意点
  2. 大規模データでの検証方法
  3. 正則化と正規化の区別

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術10

出典

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習