主成分分析 (PCA) が ML 向けに高次元データをどのように簡素化するかを学びましょう。データ前処理と YOLO26 の埋め込みの可視化に PCA を使用する方法を探求してください。
主成分分析 (PCA) は、機械学習 (ML)で広く使用されている統計手法であり、高次元データの複雑さを簡素化しつつ、その最も重要な情報を保持します。これは次元削減の手法として機能し、多数の変数を持つ大規模なデータセットを、より小さく管理しやすい「主成分」のセットに変換します。データが最も変動する方向を特定することにより、PCAはデータサイエンティストが計算コストを削減し、重要なパターンを失うことなくノイズを除去することを可能にします。このプロセスは、効果的なデータ前処理における重要なステップであり、複雑なデータセットを2次元または3次元で視覚化するためによく使用されます。
PCAの核となるのは、分散に基づいてデータを再編成する線形変換手法です。画像内のピクセル値やモノのインターネット (IoT)ネットワークにおけるセンサーの読み取り値など、多数の特徴を持つデータセットでは、変数が伝える情報が重複することがよくあります。PCAは、分散を連続的に最大化する新しい無相関変数(主成分)を特定します。最初の成分はデータ内の変動の最大量を捉え、2番目の成分は次に大きい量(最初の成分に直交しながら)を捉える、といった具合です。
上位数個のコンポーネントのみを保持し、残りを破棄することで、実務家は大幅な圧縮を達成できます。これは、利用可能なトレーニングサンプルに対して特徴量の数が増加するにつれて予測モデリングのパフォーマンスが低下する現象である次元の呪いを軽減するのに役立ちます。
PCAは多用途であり、データクリーニングからモデル内部の可視化まで、AI開発ライフサイクルの様々な段階をサポートします。
PCAは特徴抽出のための標準的なツールですが、他の次元削減手法と区別することが役立ちます。
次の例は scikit-learn 高次元の特徴ベクトルを削減するため。このワークフローは、ビジョンモデルの出力を圧縮し、それを保存する前にシミュレートします。
ベクトルデータベース またはクラスタリングに使用します。
import numpy as np
from sklearn.decomposition import PCA
# Simulate 100 image embeddings, each with 512 dimensions (features)
embeddings = np.random.rand(100, 512)
# Initialize PCA to reduce the data to 3 principal components
pca = PCA(n_components=3)
# Fit and transform the embeddings to the lower dimension
reduced_data = pca.fit_transform(embeddings)
print(f"Original shape: {embeddings.shape}") # Output: (100, 512)
print(f"Reduced shape: {reduced_data.shape}") # Output: (100, 3)
Ultralytics PlatformのパイプラインにPCAを統合することで、入力の複雑さを軽減し、モデルトレーニングを効率化できます。これにより、実験の高速化とより堅牢なAIソリューションにつながります。

未来の機械学習で、新たな一歩を踏み出しましょう。