了解降维如何优化 ML 工作流程。探索PCA和t-SNE等技术,以提高 Ultralytics YOLO26 性能和数据可视化。
降维是机器学习 (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)

开启您的机器学习未来之旅