用語集

データの前処理

機械学習のためのデータ前処理をマスターしよう。クリーニング、スケーリング、エンコードなどのテクニックを習得し、モデルの精度とパフォーマンスを向上させます。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

データの前処理は、機械学習(ML)モデルの学習に使用する前に、生データを清浄化し、変換し、構造化された適切な形式に整理するために使用される重要な技術を含む。様々なソースから収集された生データは、欠損値、不整合、ノイズ、エラーなどを含み、しばしば乱雑です。前処理はこれらの問題に対処し、データ品質を向上させ、MLモデルの性能、精度、信頼性の向上に直結します。このステップは、人工知能(AI)コンピュータビジョン(CV)を含む、あらゆるデータ駆動型プロジェクトの基本です。

なぜデータの前処理が重要なのか?

ガベージ・イン、ガベージ・アウト」という原則は、機械学習にも強く当てはまる。モデルは学習したデータから直接パターンを学習する。入力データに欠陥があれば、モデルは正しくないパターンや無関係なパターンを学習し、予測精度が低下して信頼性の低い結果を招く。以下のような効果的なモデルを構築するには、高品質で十分に準備されたデータが不可欠です。 Ultralytics YOLOのような効果的なモデルを構築するためには、高品質なデータが不可欠です。適切なデータ前処理は、以下のように大きく貢献します:

  • モデルの精度向上:クリーンで構造化されたデータは、モデルが意味のあるパターンをより効果的に学習するのに役立ちます。
  • 効率の向上:前処理を行うことで、データを単純化したり、次元を小さくしたりすることで、学習に必要な計算資源を削減することができる。
  • オーバーフィッティングの低減:ノイズや外れ値に対処することで、モデルが無関係な詳細を学習するのを防ぎ、新しいデータへの汎化能力を向上させ、オーバーフィッティングを回避することができる。
  • 信頼性の確保:一貫性のあるデータフォーマットは、学習と 推論の両方において、より安定した信頼性の高いモデル動作につながります。

一般的なデータ前処理技術

データの前処理では、データの種類や特定のMLタスクに応じて様々な手法が適用される。主なテクニックは以下の通り:

  • データのクリーニングこれは、エラーの特定と修正、欠損値の処理(インピュテーションや除去など)、外れ値やノイズの多いデータポイントの処理を含む。Python Pandasのようなツールがよく使われる。
  • データ変換: このステップでは、データをより適切な形式に修正する。
    • スケーリング: 正規化(データをある範囲、通常は0から1にスケーリングする)や標準化(データをゼロ平均と単位分散にスケーリングする)のようなテクニックは、勾配降下ベースのモデルのような特徴スケールに敏感なアルゴリズムに役立ちます。Scikit-learn のプリプロセッシングのドキュメントで、スケーリングテクニックの詳細をご覧ください。
    • エンコーディング:カテゴリー的特徴(テキストラベルなど)を、モデルが処理できる数値表現(ワンホットエンコーディングなど)に変換すること。
  • 特徴エンジニアリングモデルのパフォーマンスを向上させるために、既存の特徴から新しい、より情報量の多い可能性のある特徴を作成すること。これにはドメイン知識と創造性が必要です。
  • 特徴抽出元のデータから、重要な情報を保持しながら、より小さな特徴セットを自動的に導き出すこと。主成分分析(PCA)のような手法を用いて行われることが多い。
  • 次元削減入力特徴の数を減らしてモデルを単純化し、学習時間を短縮し、オーバーフィッティングのリスクを軽減する。
  • 画像固有の前処理:コンピュータ・ビジョンのタスクでは、一般的な手順として、画像を一定の寸法にリサイズすること、色空間を変換すること(例:BGRからRGBへ)、明るさやコントラストを調整すること、OpenCVのようなライブラリを使用してノイズ除去のためのフィルターを適用することなどがあります。Ultralytics 、 YOLO モデルのための注釈付きデータの前処理に関するガイダンスを提供します。

実世界での応用

データの前処理は、数え切れないほどのAI/MLアプリケーションにおいて非常に重要である:

  1. 医療画像解析AIモデルがMRIやCTスキャンを解析して腫瘍などの異常を見つける前に(脳腫瘍データセットの例)、画像を前処理する必要がある。これには多くの場合、フィルターによるノイズ除去、異なるスキャンや装置間で輝度レベルを標準化するための強度正規化、複数のスキャンの位置合わせを行うための画像レジストレーションが含まれる。これらのステップにより、モデルは一貫性のある入力を受け取ることができ、微妙な異常を正確に検出する能力が向上する。これは、ヘルスケアにおけるAIへの応用に不可欠である。
  2. 自律走行車自動運転車はカメラやLiDARなどのセンサーに依存している。これらのセンサーからの生データは、大規模な前処理が必要です。カメラ画像は、様々な照明条件に対応するために、リサイズ、色補正、明るさの調整が必要になるかもしれません。LiDARの点群データは、ノイズや接地点を除去するためのフィルタリングが必要な場合があります。この前処理により、物体検出と追跡システムは、歩行者、車両、障害物を確実に識別するためのクリーンで標準化されたデータを受け取ることができます。

データ前処理と関連概念

データ前処理を密接に関連する用語と区別することは有益である:

  • データクリーニングとデータ前処理の比較データクリーニングはデータ前処理のサブセットであり、特にデータセット内のエラー、不整合、欠損値を特定し修正することに重点を置いている。前処理はより広範であり、クリーニングだけでなく、変換、スケーリング、特徴操作などを含む。
  • データ増強とデータ前処理の比較データ増強は、既存のデータの修正コピー(例えば、画像の回転や反転)を作成することで、学習データセットのサイズと多様性を人為的に増加させることを含む。オーグメンテーションは、特にディープラーニングにおいて、トレーニングのためのデータを準備するための重要な部分ですが、通常、クリーニングやリサイズなどの最初の前処理ステップの後に実行されます。オーグメンテーション戦略を含むモデルトレーニングのヒントをご覧ください。
  • フィーチャーエンジニアリングとデータ前処理の比較:フィーチャーエンジニアリングは、既存のフィーチャーから新しい入力フィーチャーを作成するプロセスである。フィーチャーエンジニアリングは、モデルの予測力を強化することを目的とした、より広範なデータ前処理パイプライン内のステップとみなされることが多い。
  • データのラベリングとデータの前処理データ・ラベリングは、生データに意味のあるタグや注釈(オブジェクトの周囲にバウンディング・ボックスを描くなど)を付けることである。これは教師あり学習タスクには不可欠である。ラベリングは通常、前処理の前、または前処理と並行して行われる明確なステップである。高品質なラベルと効果的な前処理を組み合わせることは、モデル学習にとって非常に重要です。詳細については、「Ultralytics データ収集とアノテーション」ガイドを参照してください。

データセットの管理とモデルトレーニングのためのツールを提供するUltralytics HUBのようなプラットフォームを使えば、データセットの管理と前処理ステップの適用を効率化できる。

すべて読む