在认识到高维数据带来的挑战后,我们现在将注意力转向应对这种复杂性的可用策略。降维包含多种技术,旨在减少数据集中的特征(或维度)数量,同时保留原始数据的有意义特性。大致上,这些方法可以分为两大类:特征选择和特征提取。特征选择:从已有中挑选特征选择方法旨在识别并保留原始特征的一个子集,同时丢弃其余部分。其核心思想是选择与当前问题最相关或贡献信息最多的特征,并移除冗余或不相关的特征。想象一下,如果你想预测房价,你的数据集有数百个特征,包括“房屋颜色”、“房间数量”、“面积”、“上一任房主喜欢的冰淇淋口味”和“靠近好学校的程度”。特征选择会帮助你挑选诸如“房间数量”、“面积”和“靠近好学校的程度”等特征,同时丢弃“房屋颜色”(可能不那么相关)和“上一任房主喜欢的冰淇淋口味”(几乎肯定不相关)。特征选择的优点:可解释性: 由于选择的特征是原始特征,它们的含义保持不变。这使得生成的模型更容易理解。效率: 通过减少特征数量,你通常可以降低训练后续机器学习模型的计算成本。特征选择的常见方法包括过滤法、包装法和嵌入法。过滤法根据统计属性(如与目标变量的相关性、互信息)评估特征,独立于任何特定的机器学习算法。包装法使用特定的机器学习模型来评估特征子集的有用性,它们“包装”了模型训练过程。嵌入法在模型训练过程中执行特征选择,例如Lasso等L1正则化可以将某些特征系数收缩到零。尽管有效,特征选择可能会遗漏只有在特征组合考虑时才显现的信息。它只是丢弃特征,而不是转换它们。特征提取:创造新事物另一方面,特征提取涉及将原始特征集转换为一组新的、更小的特征。这些新特征,常被称为潜在变量或成分,是原始特征的组合或投影。目标是在较低维空间中获取原始数据中最重要的信息。把它想象成总结一个长而详细的故事。与其挑选出几个重要的句子(特征选择),你不如写一个更短的新总结,它抓住了整个叙述的要旨(特征提取)。这个总结使用新的句子,但它源自原始内容。主成分分析(PCA),你将在本章后面实践,是特征提取的经典例子。自编码器,本课程的中心主题,是一类强大的基于神经网络的特征提取方法。特征提取的优点:信息密度: 比仅仅选择一个子集,更能有效地从原始特征中捕获复杂关系和主要信息。减少冗余: 新特征通常设计成彼此之间的相关性较低。性能提升: 通过提供更具信息量和紧凑的表示,可以为下游机器学习任务带来更好的性能。缺点:可解释性降低: 新创建的特征通常是原始特征的数学组合,这使得它们的直接解释变得困难。如,“主成分”或“自编码器潜在特征”通常不像“面积”那样有直观的含义。下图描绘了这两种方法之间的主要区别:digraph G { rankdir=TB; node [shape=box, style="filled,rounded", fontname="Arial", margin=0.2]; edge [fontname="Arial"]; DimensionalityReduction [label="降维方法", fillcolor="#4263eb", fontcolor="white", fontsize=12]; FeatureSelection [label="特征选择", fillcolor="#1098ad", fontcolor="white", fontsize=11]; FeatureExtraction [label="特征提取", fillcolor="#ae3ec9", fontcolor="white", fontsize=11]; SubFS [label="选择原始特征的子集。 保留原始特征含义。", fillcolor="#e9ecef", shape=note, fontsize=10]; SubFE [label="通过组合或转换原始特征来创建新特征。 新特征可能无法直接解释。", fillcolor="#e9ecef", shape=note, fontsize=10]; DimensionalityReduction -> FeatureSelection; DimensionalityReduction -> FeatureExtraction; FeatureSelection -> SubFS [style=dashed, arrowhead=none]; FeatureExtraction -> SubFE [style=dashed, arrowhead=none]; }降低数据维度的两种主要策略:选择现有特征或提取新特征。在特征提取内部,方法可以根据它们是创建线性组合还是非线性组合的特征来进一步区分。线性降维: 这些方法,如PCA,假设数据大致位于高维空间的线性子空间上。它们将数据投影到较低维的超平面上。非线性降维: 这些技术,如t-SNE、UMAP,以及对本课程来说很重要的自编码器,能够捕获数据中更复杂的非线性结构。它们可以将数据映射到一个可能弯曲或扭曲的较低维流形。我们将在下一节进一步了解线性方法和非线性方法之间的区别。目前,认识到自编码器属于非线性特征提取技术类别很重要,这使得它们特别善于从图像或高度结构化表格数据等复杂数据集中学习精细的模式。选择哪种降维方法在很大程度上取决于具体数据集、你的分析目标,以及原始特征的可解释性是否是首要考虑。特征选择和特征提取都是机器学习实践者的工具包中有价值的工具,用于简化数据、提高模型性能,有时甚至能够实现高维数据集的可视化。随着我们学习的进行,你会看到自编码器如何提供一种灵活而有效的方式来执行特征提取,直接从数据中学习有意义的表示。