G検定

2021年第3回G検定 振り返り 第13問(過学習)

シラバス分野:ディープラーニングの手法 過学習からの出題です。

過学習とは

学習に用いたデータに関しては予測精度が高いにもかかわらず、未知のデータに対しては予測精度が低いままである状態のこと。

誤差で言い換えると

訓練誤差は小さいにもかかわらず汎化誤差が小さくならない状態のこと。

訓練誤差と汎化誤差の定義は以下になります。

  • 訓練誤差 ⇒ 学習に用いた訓練データに対する誤差
  • 汎化誤差 ⇒ 訓練に用いていない未知の母集団に対する誤差の期待値

図示するとこんな感じ

(出典:機械学習コンペで人気のLightGBMをPythonで使ってみた

過学習はどう確認できるのか

過学習をうたがってもよいのは、次のケース。

モデルのパラメーターを変更することで、

  • 訓練データに対する精度がよくなるが、
  • テストデータに対する精度が横ばい、または低下する

現象が見られるとき。

過学習の抑制策

  1. 学習データの数をふやす。 ⇒ データ量を増やすことで、より汎用的なパターンを捉えやすくなる。
  2. 正則化を実施する。 ⇒ 罰則項(正則項)をモデルの関数に付加することでモデルの動きに制限を課し、複雑になりすぎるのを防止する。
  3. ハイパーパラメーターの値をチューニングして、モデルの汎化性能を高める。 ⇒ モデルの複雑さが軽減され過学習しにくくなる。
  4. ドロップアウト ⇒ 重み更新の際に一定の割合でランダムに枝を無効化する。アンサンブル学習となり、データの偏りに基づくパターンをかき消せる。
  5. 早期打ち切り ⇒ 過学習を起こす前に学習を終了する。
  • この記事を書いた人

NISHIBIZ

・JDLA G検定 2021 #3 合格者
・令和3年度 中小企業診断修得者
記事は資格取得情報(ディープラーニング検定と中小企業診断士試験)他、
エンタメ(音楽・アニメ・テレビ)と時事/雑学。
Apple Musicを愛用。NISHIBIZでプレイリスト「私的ベスト」検索。
音楽の嗜好はエレクトロ/エモ

-G検定