データセット: 不均衡なデータセット

値が次のいずれかであるカテゴリラベルを含むデータセットを考えてみましょう。 またはバランスの取れたデータセットでは、ラベルとラベルの数はほぼ同じです。ただし、一方のラベルが他方のラベルよりも一般的である場合、データセットはアンバランスです。不均衡なデータセットで優勢なラベルは「多数クラス」と呼ばれ、あまり一般的でないラベルは「少数クラス」と呼ばれます。

次の表に、さまざまな程度のアンバランスの一般的な名前と範囲を示します。

少数派クラスに属するデータの割合 不均衡の度合い
データセットの 20 ~ 40%
データセットの 1 ~ 20%
データセットの 1% 未満 エクストリーム

たとえば、少数クラスがデータセットの 0.5%、多数クラスが 99.5% を占めるウイルス検出データセットについて考えてみましょう。ほとんどの被験者にウイルスがないため、このような極端にアンバランスなデータセットは医学では一般的です。

図 5. 2 つの棒がある棒グラフ。1 つの棒は約 200 個の負のクラスを示し、もう 1 つの棒は 1 つの正のクラスを示しています。
図 5. 極端に不均衡なデータセット。

 

データセットが不均衡である場合、少数派のクラスが十分ではないことがある モデルを適切にトレーニングできます つまり、正のラベルが非常に少ないため、モデルは負のラベルでのみトレーニングされ、正のラベルについて十分に学習できません。たとえば バッチサイズが 50 の場合、多くのバッチには正のラベルが含まれません。

特に、軽度または中程度の不均衡なデータセットでは、不均衡は問題にならないことがよくあります。そのため、まず元のデータセットでトレーニングを試す必要があります。モデルがうまく機能すれば完了です。 そうでない場合でも、最適でないモデルは、今後のテストに適したベースラインを提供します。その後、次の手法を使用して、不均衡なデータセットによって発生する問題を克服できます。

ダウンサンプリングとアップウェイト

不均衡なデータセットを処理する方法の一つは、サンプルをダウンサンプリングし、 多数派の集団ですこれらの 2 つの新しい用語の定義は次のとおりです。

  • ダウンサンプリング(このコンテキストでは)は、多数のクラスの例の不均衡に低いサブセットでトレーニングすることを意味します。
  • 重みのアップとは、 サンプルの重みを、サンプルの係数と等しいダウンサンプリングされた ダウンサンプリングされます。

ステップ 1: 多数のクラスをダウンサンプリングする。図で示されているウイルス データセットについて考えてみましょう。 200 個の陰性ラベルごとに 1 個の陽性ラベルの比率を持つ図 5。 10 倍にダウンサンプリングすると、バランスは 1 正と 20 負(5%)に改善されます。生成されるトレーニング セットは依然として中程度 不均衡な場合は、陽性と陰性の割合が 元の著しく不均衡な割合(0.5%)。

図 6. 2 つの棒がある棒グラフ。1 つの棒には 20 個の負のクラスが表示され、もう 1 つの棒には 1 個の正のクラスが表示されます。
図 6. ダウンサンプリング。

 

ステップ 2: ダウンサンプリングされたクラスの重みを上げる: ダウンサンプリングされたクラスにサンプル重みを追加します。10 倍にダウンサンプリングした後、 重みは 10 にします(直感に反するかもしれませんが、後で説明します)。 理由については後で説明します)。

図 7. ダウンサンプリングとアップウェイトの 2 ステップの図。
            ステップ 1: ダウンサンプリングで大多数からランダムなサンプルを抽出する
            クラスです。ステップ 2: アップ重み付けにより、ダウンサンプリングされたデータに重みが追加される
            説明します。
図 7. アップウェイト。

 

「重み」という用語は、モデルのパラメータ(w1 や w2 など)を指すものではありません。ここでいう「重み」とは、 サンプルの重み: 個々のサンプルの重要度を高めます。 必要があります。サンプルの重み 10 は、モデルがサンプルを サンプルの 10 倍の重要性(損失の計算時) 重み 1.

weight は、ダウンサンプリングに使用した係数と同じにする必要があります。

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

ダウンサンプリング後にサンプルの重みを追加するのは奇妙に思われるかもしれません。結局のところ、 少数派クラスでモデルを改善しようとします では?実際、メジャー クラスの重みを上げると、予測バイアスが低下する傾向があります。つまり、ダウンサンプリング後に重み付けを上げると、モデルの予測の平均とデータセットのラベルの平均の差が小さくなる傾向があります。

比率の再調整

データセットを再調整するために、どれくらいのダウンサンプリングとアップウェイトを行うべきか? 答えを判断するには、他のハイパーパラメータをテストする場合と同様に、再バランシング比率をテストする必要があります。ただし、その答えは、最終的には以下の要因によって決まります。

  • バッチサイズ
  • アンバランス率
  • トレーニング セットのサンプル数

理想的には、各バッチに複数の少数派クラスのサンプルを含める必要があります。十分な少数派クラスが含まれていないバッチは、トレーニングの精度が非常に低くなります。バッチサイズは不均衡率の数倍の大きさにする必要があります。 たとえば、アンバランス比率が 100:1 の場合、バッチサイズは 500 以上にする必要があります。

演習: 理解度を確認する

次のような状況を考えてみましょう。

  • このトレーニング セットには 10 億件強のサンプルが含まれています。
  • バッチサイズは 128 です。
  • アンバランス比率は 100:1 であるため、トレーニング セットは次のように分割されます。
    • 多数クラスのサンプルが 10 億個程度。
    • 約 1,000 万件のマイノリティのクラスの例。
次の説明のうち正しいものはどれですか。
バッチサイズを 1,024 に増やすと、生成されるモデルが改善されます。
バッチサイズが 1,024 の場合、各バッチは平均で約 10 少数派のクラスのサンプルを学習できます。このトレーニングでは、 優れたモデルです。
バッチサイズを 128 のままで、ダウンサンプリング(およびアップウェイト)を 20:1 にすると、生成されるモデルが改善されます。
ダウンサンプリングにより、128 個のバッチごとに平均 21 個の少数クラスのサンプルが含まれるため、有用なモデルをトレーニングするのに十分です。ダウンサンプリングにより、トレーニング セットのサンプル数が 10 億強から約 6,000 万に減ります。
現在のハイパーパラメータは問題ありません。
バッチサイズが 128 の場合、各バッチには平均で約 1 個の少数クラスの例が含まれます。これは、有用なモデルをトレーニングするには不十分な場合があります。