用語集

特徴抽出

Ultralytics YOLO11 で機械学習における特徴抽出のパワーを発見。効率的な検出と分析のテクニックを学ぶ。

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

さらに詳しく

特徴抽出は、機械学習(ML)やコンピュータビジョン(CV)において重要なプロセスであり、生の、しばしば複雑なデータを、アルゴリズムが効果的に処理できる形式に変換するための重要なステップとして機能する。これは、画像、音声、テキストなどの非構造化または高次元データを、構造化された数値特徴セットに変換することを含み、通常は特徴ベクトルとして表現される。これらの特徴は、ノイズや冗長性を取り除きながら、元のデータの本質的な特徴を捉えることを目的としている。主な目的は、次元削減によるデータの複雑性の軽減、関連するパターンの強調、MLモデルにより適したデータの作成などである。これにより、モデルの精度が向上し、モデル学習が高速化し、未知のデータに対する汎化が向上する。

特徴抽出の仕組み

特徴抽出の具体的な手法は、処理するデータの種類に大きく依存する。

特徴抽出と特徴エンジニアリングの比較

特徴抽出はしばしば特徴工学と混同されるが、両者は異なる概念である。

  • 特徴抽出:多くの場合、自動化されたアルゴリズム(CNNレイヤーのような)や確立された数学的手法(PCAやフーリエ変換のような)を使用して、生データを一連の派生特徴に変換することに重点を置く。その目的は、通常、次元を減らし、より管理しやすい表現を作成することである。
  • 特徴工学:特徴抽出だけでなく、既存の特徴から新しい特徴を作成したり(例えば、2つの測定値の比を計算する)、モデルに最も関連する特徴を選択したり、欠損値を処理したり、ドメイン知識や特定のモデル要件に基づいて特徴を変換したり(データの前処理のような)することも含まれます。多くの場合、手作業と専門知識を必要とする。

ディープラーニングモデルは、画像認識や 物体検出のようなタスクの特徴抽出プロセスの多くを自動化するが、最適なパフォーマンスを達成するためには、適切なデータ増強や入力の正規化といった特徴工学の原則が依然として重要である。

実世界での応用

特徴抽出は、数え切れないほどのAIやMLアプリケーションの基本である:

  1. 医療画像解析:X線、CT、MRIなどの医療スキャンを解析し、がんなどの病気を検出する際には、画像から特定の特徴を抽出する。これには、組織内のテクスチャパターン、潜在的な異常の形状やサイズ(Brain Tumorデータセットに見られる腫瘍など)、あるいは強度の変化などが含まれる。これらの抽出された特徴は、分類器(SVMやニューラルネットワークなど)に入力され、病気の有無や病期を予測する。これは放射線科医の診断に役立つ:のような出版物で論じられている。最新のシステムでは Ultralytics YOLO11を使用することができる。

  2. センチメント分析:カスタマーレビューやソーシャルメディアへの投稿のようなテキストデータで表現されたセンチメント(肯定、否定、中立)を判断するには、生のテキストから特徴を抽出する必要があります。これは、肯定的な単語と否定的な単語の頻度をカウントしたり(Bag-of-Words)、TFスコアを使用したり、または、以下の方法で利用できるような事前に訓練された言語モデルを使用して、洗練されたセンテンスエンベッディングを生成したりします。 Hugging Face.これらの特徴は、テキストの感情的なトーンを定量化し、MLモデルが全体的なセンチメントを分類することを可能にします。

Ultralytics YOLO モデルにおける特徴抽出

のような最先端の物体検出モデル Ultralytics YOLOv8やYOLO11 ような最先端の物体検出モデルは、ニューラルネットワーク(NN)アーキテクチャ内で暗黙的に特徴抽出を行っている。初期層(バックボーンの一部であることが多い)は、学習された強力な特徴抽出器として機能する。入力データがこれらの層を通過すると、階層的な特徴が自動的に識別され、特徴マップに表現される。このプロセスはほぼ自動化されているが、特徴抽出を理解することは、効果的なデータ前処理ステップの設計、ハイパーパラメータのチューニングの実行、モデルの動作の解釈に役立ち、Ultralytics ドキュメント内で利用可能なツールや、データセットと実験を管理するためのUltralytics HUBのようなプラットフォームを使用することもできる。テクニックは、フレーム間でオブジェクトの同一性を維持するために外観の特徴を抽出するような、オブジェクト追跡のような下流のタスクでも使用されます。フレームワーク PyTorchTensorFlowのようなフレームワークは、これらのモデルを構築し、トレーニングするための基盤となるインフラストラクチャを提供します。

すべて読む