データセットのサイズと品質

「ガベージ コレクション」

上記の項目は機械学習に適用されます。結局のところ、モデルはデータと同じくらい良いものです。では、データセットの品質をどのように測定し、改善すればよいでしょうか。有用な結果を得るには、どのくらいの量のデータが必要ですか。 その答えは、問題の種類によって異なります。

データセットのサイズ

大まかなルールとして、モデルは少なくとも、トレーニング可能なパラメータよりも 1 桁以上多くのサンプルでトレーニングする必要があります。一般的に、大規模なデータセットの単純なモデルは、小規模なデータセットの高度なモデルを上回る。Google では、大規模なデータセットで単純な線形回帰モデルのトレーニングに成功しています。

データの「大量」とは何かこれはプロジェクトによって異なります。これらのデータセットの相対サイズを考慮してください。

データセット サイズ(サンプル数)
アヤメのデータセット 150(合計セット)
MovieLens(2,000 万個のデータセット) 20,000,263 件(合計セット)
Google Gmail スマート リプライ 238,000,000(トレーニング セット)
Google ブックス Ngram 468,000,000,000 件(合計セット)
Google 翻訳

ご覧のとおり、データセットにはさまざまなサイズがあります。

データセットの品質

品質の低いデータでも、それが悪いデータであれば大量のデータは使用しません。しかし、「品質」とはどういう意味でしょうか。あいまいな用語です。経験的なアプローチを採用して、最善の結果を得るオプションを選択することを検討します。この考えに基づき、品質の高いデータセットは、関心のあるビジネス上の問題に成功するためのものです。つまり、データが意図したタスクを達成していれば、データは「良好」になります。

ただし、データを収集する際は、品質をより明確に定義しておくと役に立ちます。品質の特定の側面は、より優れたモデルに対応できる傾向があります。

  • 信頼性
  • 特徴表現
  • スキューの最小化

信頼性

信頼性とは、データをどの程度信頼できるかを指します。信頼性の高いデータセットでトレーニングされたモデルは、信頼性の低いデータでトレーニングされたモデルよりも有用な予測を生成する可能性が高くなります。信頼性の測定では、以下を決定する必要があります。

  • ラベルエラーはどのくらいの頻度で発生しますか。たとえば、データに人間がラベル付けしている場合、人間の判断が誤っていることもあります。
  • ノイズが多い機能たとえば、GPS 測定値は変動します。 ノイズは問題ありません。すべてのノイズのデータセットがパージされることはありません。より多くのサンプルを収集することもできます。
  • 問題に関するデータは適切にフィルタされていますか?たとえば、データセットに bot からの検索クエリを含めるべきかどうか、スパム検出システムを構築している場合は、おそらくその答えはイエスですが、人間による検索結果を改善しようとしている場合は「いいえ」です。

データの信頼性が低い理由機械学習集中講座で学んだとおり、データセット内の多くの例は、次のうち 1 つ以上が原因で信頼できないものとなっています。

  • 省略された値。たとえば、住宅の年齢の値を忘れたユーザーです。
  • 重複するサンプル。たとえば、サーバーが同じログを誤って 2 回アップロードした可能性があります。
  • ラベルが無効です。たとえば、オークの木の写真にカエデのラベルが誤って付けられたとします。
  • 特徴値が正しくない。たとえば、誰かが余分な数字を入力したり、温度計を太陽に置いていたりした場合です。

Google 翻訳は、データの「最善のサブセット」を選択するための信頼性に重点を置いていました。つまり、一部のデータは他の部分よりも高品質のラベルを持っていました。

機能の表現

機械学習集中講座で学んだように、データと便利な機能とのマッピングです。次の質問について検討してください。

  • モデルへのデータの表示方法
  • 数値を正規化するべきですか?
  • 外れ値をどのように処理するか。

このコースのデータの変換セクションでは、特徴の表現に焦点を当てています。

トレーニングと予測

オフラインで優れた結果が得られるとしましょう。ライブテストでは、結果は保持されません。どうなるでしょうか。

この問題は、トレーニング/サービング スキューを示唆しています。つまり、トレーニング時とサービング時に異なる指標の指標が計算されます。スキューの原因は微妙ですが、結果に致命的な影響を及ぼします。予測時にモデルで利用できるデータを必ず考慮してください。トレーニング中は、サービス提供に利用できる機能のみを使用し、トレーニング セットがサービス トラフィックを反映したものになるようにしてください。