降维是机器学习(ML)和数据分析中的一个重要过程,用于减少数据集中的特征(或维度)数量,同时尽可能多地保留有意义的信息。包含大量特征的高维数据会带来被称为"维度诅咒 "的挑战,在这种情况下,模型的训练计算成本会变得很高,需要更多内存,容易出现过度拟合,并且由于数据分布稀疏,很难很好地泛化。降维技术旨在通过将数据转换到低维空间、简化模型、提高训练速度、增强模型性能以及实现更容易的数据可视化来缓解这些问题。
降维工作原理
降维技术一般分为两大类:
- 特征选择:这些方法从原始特征中选择一个子集,摒弃那些被认为不相关或多余的特征。目的是保留信息量最大的特征,而不对其进行改动。这些方法可分为过滤法(基于统计特性)、包装法(基于模型性能)或嵌入法(集成到模型训练过程中)。
- 特征提取:这些方法将原始的高维数据转化为新的低维特征空间。它们不只是选择特征,而是创建新的特征(通常是原始特征的组合)来捕捉基本信息。这是一个核心概念,详见特征提取术语表条目。
降维与相关概念
- 特征提取:如前所述,特征提取是一种降维方法,它能从旧特征中提取新特征。PCA 和自动编码器等技术都属于这一类。
- 特征工程:这是一个更广泛的过程,包括创建、选择和转换特征,以提高模型性能。降维(包括选择和提取)被认为是特征工程的一部分。有效的特征工程通常需要领域专业知识。
- 数据压缩:虽然两者都旨在减少数据大小,但降维特别注重保留与 ML 任务相关的信息,可能会放弃一些重构细节。标准数据压缩(如 ZIP 文件)的目的是在无损或损失可接受的情况下最大限度地缩小存储空间,而不一定是针对 ML 模型输入进行优化。
优势与挑战
好处
- 降低计算成本,缩短培训时间。
- 最大限度地减少内存和存储需求。
- 可减轻维度诅咒,减少过度拟合。
- 消除噪音和冗余,提高模型性能。
- 实现复杂、高维数据的可视化。
挑战:
- 如果应用不慎,可能会丢失重要信息。
- 选择合适的技术和目标维数可能具有挑战性。
- 与原始特征相比,变换后的特征(在特征提取中)有时难以解释。
- 有些技术,如 t-SNE,计算成本很高。
在现代人工智能开发中,了解和应用降维技术对于有效处理大型复杂数据集至关重要。