Yolo 深圳
深セン
今すぐ参加
用語集

主成分分析(PCA)

主成分分析(PCA)で高次元データを簡素化しましょう。AI、MLモデル、およびデータ視覚化の効率を今日から向上させましょう!

主成分分析(PCA)は、基礎的な線形次元削減技法である。 統計学やデータ科学で広く使われている 統計学、データサイエンス 機械学習(ML)で広く使用されている。その主な目的は 最も重要な情報を保持しながら、複雑な高次元データセットを単純化することである。数学的に として知られる、より小さな無相関変数の集合に変換する。 「主成分 "に変換することで、データ科学者はノイズを減らし、計算効率を向上させることができる。 データの可視化を容易にする。 データに含まれる重要なパターンを犠牲にすることなく。

主成分分析の仕組み

PCAのメカニズムは、線形代数学の概念に依存している。 線形代数の概念に依拠し、データが最も変化する方向(主成分 主成分)を特定する。第1主成分は、データセットの最大分散を捉える。 データセットの最大分散をとらえ、最も支配的なトレンドを効果的に表します。後続の各成分は、残りの分散 を小さい順に捕捉し、前の成分と直交(無相関)でなければならないという制約に従う。この この変換は 共分散行列とそれに対応する 固有ベクトルと固有値を用いて計算される。

上位数成分のみを残すことで、実務家は高次元のデータを低次元に投影することができる。 高次元のデータを低次元空間に投影することができる。 通常2次元か3次元の空間に投影する。このプロセスは データ前処理の重要なステップである。 次元の呪い」を軽減するためのデータ前処理の重要なステップである。 高次元空間ではデータが疎なため、モデルが一般化するのに苦労する。この削減は オーバーフィッティングを防ぎ モデル学習を高速化します。

AIとMLの実世界での応用

PCAは、人工知能(AI)の幅広い領域で活用されています。 人工知能(AI)領域で利用されている。 パフォーマンスと解釈可能性を最適化します。

  1. 顔認識と圧縮:コンピュータビジョン コンピュータ・ビジョン(CV)の分野では、PCAは歴史的に 顔認識において重要な役割を果たしてきました。 固有顔 "として知られている。画像は高次元のベクトルとして扱われ、PCAにより以下の特徴が抽出されます。 ある顔と別の顔を区別する基本的な特徴(成分)を抽出する。これにより、システムは生の顔ではなく、コンパクトな表現を使って これにより、システムは生のピクセルデータではなく、コンパクトな表現を使用して顔を保存し、比較できるようになり、速度が大幅に向上します。
  2. ゲノミクスとバイオインフォマティクス:バイオインフォマティクスの研究者は、各サンプルの数千の遺伝子発現レベルを含むデータセットを扱う。 を扱う。PCAにより 探索的データ解析(EDA)を行うことができる。 これらの何千もの次元を2次元散布図に縮小することで、探索的データ解析(EDA)を行うことができます。この視覚化により、類似した遺伝子プロファイルを持つサンプルのクラスターを明らかにすることができる。 遺伝子プロファイルが類似しているサンプルのクラスターを明らかにすることができ、疾患サブタイプの発見や異常の検出に役立つ。 異常の検出に役立つ。

最新のコンピュータ・ビジョンとの統合

最新のディープラーニングアーキテクチャは 畳み込みニューラルネットワーク(CNN) 内部特徴抽出を行う一方で、PCAは は、学習された表現を分析するのに非常に適している。例えば YOLO11で作業するユーザーは、モデルのバックボーンから特徴 例えば、YOLO11で作業しているユーザーは、モデルのバックボーンから特徴埋め込みを抽出して、モデルがどの程度異なるクラスを分離しているかを理解するかもしれない。 を理解するために、モデルのバックボーンから特徴埋め込みを抽出することができます。

以下の例では、PCAを適用して高次元の特徴ベクトルを削減する方法を示します。 Scikit-learnライブラリを使用します。 埋め込みを可視化する前の一般的なステップです。

import numpy as np
from sklearn.decomposition import PCA

# Simulate high-dimensional features (e.g., embeddings from a YOLO11 model)
# Shape: (100 samples, 512 features)
features = np.random.rand(100, 512)

# Initialize PCA to reduce data to 2 dimensions for visualization
pca = PCA(n_components=2)

# Fit the model and transform the features
reduced_features = pca.fit_transform(features)

# The data is now (100, 2), ready for plotting
print(f"Original shape: {features.shape}")
print(f"Reduced shape: {reduced_features.shape}")

PCAと関連技術の比較

PCAを、教師なし学習に見られる他の次元削減法や特徴学習法と区別することは有益である。 教師なし学習

  • t-SNE (t-分散確率的近傍埋め込み):グローバルな分散を保存する線形手法であるPCAとは異なり、t-SNEは非線形であり、局所的な近傍構造を保存することに優れている。 局所的な近傍構造を保存することに優れています。このため、t-SNEはクラスタの可視化には優れていますが、データの圧縮や再構成には適していません。 データ圧縮や再構成には適していない。
  • オートエンコーダ:データの圧縮と再構成を学習するニューラルネットワークベースのモデルである。オートエンコーダーは PCAが見逃すような複雑な非線形関係を捉えることができるが、学習にはより多くのデータと計算資源を必要とする。 を必要とする。
  • 特集セレクション:PCAが元の変数の組み合わせである新しい特徴(成分)を作成するのに対して、特徴選択は元の特徴のサブセットを選択し、残りを捨てる。 特徴選択は、元の特徴のサブセットを選択し、残りを捨てることを含む。PCAはしばしば は、すべての元の特徴が何らかの価値ある情報に寄与している場合に好まれます。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加