次元削減技術で高次元データを簡素化します。MLモデルのパフォーマンス、可視化、および効率を今日から改善しましょう!
次元削減は機械学習(ML)およびデータサイエンスにおける変革的な手法であり、データセット内の入力変数(特徴量または次元と呼ばれることが多い)の数を削減しつつ、最も重要な情報を保持するために用いられる。ビッグデータ時代において、データセットはしばしば数千もの変数を含むため、 「次元性の呪い」と呼ばれる現象が生じます。この現象は、 モデル訓練の計算コストを増加させ、過学習を起こしやすくし、 解釈を困難にします。高次元データを低次元空間に投影することで、 実務者は効率性、可視化、予測性能を向上させることができます。
データの複雑性を低減することは、 データ前処理パイプラインにおける 基本的なステップである。 堅牢な人工知能(AI)システム構築に 向けた具体的な利点を複数提供する:
次元削減手法は、データのグローバルな線形構造を保持するか、 あるいは局所的な非線形多様体を保持するかに基づいて、 一般的に分類される。
最も確立された線形手法は 主成分分析(PCA)である。PCAは「主成分」——データ内の最大分散を捉える直交軸——を特定することで機能する。 これにより元のデータをこれらの新たな軸上に投影し、実質的に情報をほとんど提供しない次元を排除する。 これは教師なし学習ワークフローにおける基本手法である。
複雑なデータ構造(画像やテキスト埋め込みなど)では、非線形手法が必要となる場合が多い。 t-分散確率的近傍埋め込み(t-SNE)や UMAP(一様多様体近似と投影)といった手法は 局所近傍の保存に優れており、高次元クラスターの可視化に理想的である。 さらに、 オートエンコーダーは 入力データを潜在空間表現に圧縮し再構築するよう訓練されたニューラルネットワークであり、 データのコンパクトな符号化を効果的に学習する。
次元削減は深層学習(DL)の様々な領域において極めて重要である:
この概念は特徴量選択と区別することが重要である。 両者は異なるメカニズムを通じて類似の目標を達成するからだ:
以下の例は、高次元出力(画像埋め込みベクトルをシミュレート)をPCAを用いて次元削減する方法を示しています。これは、YOLO26のようなモデルが類似したクラスをどのようにグループ化しているかを可視化する際の一般的なワークフローです。
import numpy as np
from sklearn.decomposition import PCA
# Simulate high-dimensional embeddings (e.g., 10 images, 512 features each)
# In a real workflow, these would come from a model like YOLO26n
embeddings = np.random.rand(10, 512)
# Initialize PCA to reduce from 512 dimensions to 2
pca = PCA(n_components=2)
reduced_data = pca.fit_transform(embeddings)
# Output shape is now (10, 2), ready for 2D plotting
print(f"Original shape: {embeddings.shape}") # (10, 512)
print(f"Reduced shape: {reduced_data.shape}") # (10, 2)