LoginSignup
13
5

学習曲線から読み取れること

Last updated at Posted at 2023-11-28

学習曲線とは

機械学習における学習曲線とは、trainデータ、validationデータそれぞれにおける学習時のパフォーマンスをプロットしたグラフのことである。

一般的な学習曲線のグラフでは横軸がepoch数、縦軸がlossまたはaccuracyとなっている。

この学習曲線を観察することで学習がうまくいっているか否か、またうまくいかない場合には何が原因かを大まかに把握することができる。

ここでは、よくある学習曲線の形状と、そこから推測されることを説明する。

Example 1: Underfitting

特徴

  • train lossが平坦な線を示す。
  • もしくは、train lossが収束せず減少し続ける。

Untitled.png
Untitled 1.png

主な原因とその対策

  • 複雑な問題に対して単純なモデルを使用している。(画像分類にロジスティック回帰を用いるなど)
    → アンサンブル学習を採用したり、ニューラルネットワークなどのより複雑なデータを扱うことのできるモデルに変更する

  • そもそも、学習データに共通するパターンが存在しない。
    → データセットの定義方法を変える

Example 2: Overfitting

特徴

  • train lossが減少し続ける。
  • valid lossが途中から上昇し始める。

Untitled 2.png

主な原因とその対策

  • 単純な問題に対して複雑なモデルを使用し、データからノイズを拾ってしまっている。
    → データセットに合わせた適切なモデルを選択する。
    → DLを使用している場合はDropout層を追加したり、weight decayを設定する。

  • データセットの数が不十分で、モデルがパターンを認識できていない。
    → データ数を増やす。

  • データの量に偏りがある。
    → UndersmplingやOversamplingなどを用いて、データを均一にする

Example3: Unrepresentative Train Datasets

特徴

train loss, valid loss どちらもスコアが小さくなっているにもかかわらず、両者の間に大きなギャップがある。

Untitled 3.png

主な原因とその対策

  • validationデータに対してtrainデータの数が少ない。
    → train dataの割合を増やす。
    → そもそものデータが少ない場合には、データの水増しを行う。

Example4: Unrepresentative Validation Datasets

特徴

train loss は収束しているように見えるが、valid loss は train loss の値の周辺でノイジーな動きをしている。

Untitled 4.png

主な原因とその対策

  • trainデータに対してvalidationデータの数が少ない。(Example3の逆)
    → validationデータの割合を増やす。
    → そもそものデータが少ない場合には、データの水増しを行う。

Example5: Good Fitting

特徴

  • train loss, valid loss ともに低い値で収束している。
  • 回数を重ねるにつれて両者のギャップが小さくなっている。

Untitled 5.png

【参考】
How to use Learning Curves to Diagnose Machine Learning Model
Learning Curve to identify Overfitting and Underfitting in Machine Learning

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5