(二)降维

  1. 定义

保留数据的核心结构,将高维数据转化为低维空间显示。

  1. 目的

    1. 数据压缩和加速学习:使用较少的存储空间和计算开销,降低损耗,加速算法学习。

    2. 避免“维度灾难”:高维空间中数据容易变得极为稀疏,距离度量失效,导致模型性能下降。

    3. 可视化:使得复杂多维降至2-3维进行可视化

    4. 避免过拟合:通过简化模型(例如减少训练数据中的属性数量),降低模型复杂度,从而减少过拟合的风险

  2. 算法类型

  • 线性降维方法:这类方法假设数据存在线性结构,通过线性变换将数据投影到低维空间。

  • 非线性降维方法:这类方法适用于数据存在非线性结构的情况,能够捕获数据中的复杂非线性关系。

类型

算法

原理

优势

劣势

适用范围

线性

主成分分析(PCA)

通过线性变换找到一组新的正交坐标轴(主成分),使得数据在这些新坐标轴上的投影方差最大化

  • 计算高效简单:主要运算是特征值分解,易于实现,适用于大规模数据集。

  • 相关性:主成分互不相关,可以消除原始特征的相互影响。

  • 可解释性:主成分可以解释原始数据的方差贡献。

  • 适用于正态数据:PCA假设数据呈高斯分布(正态分布),对非高斯分布的数据降维效果不佳。

  • 仅适用于正态数据。

  • 对异常值敏感:基于方差最大化,异常值可能影响主成分方向。

  • 丢失局部结构:主要关注全局方差,可能丢失局部信息。

  • 可解释性差:主成分是原始特征的线性组合,其物理意义不如原始特征明确

线性数据降维、去噪

线性判别分析 (LDA)

最大化类间距离,同时最小化类内方差

  • 适用于分类任务:在降维时考虑类别信息,提高分类性能。

  • 计算高效:类似于 PCA,计算复杂度较低。

  • 可解释性:投影方向可以解释类别区分能力。

  • 仅适用于分类问题:需要类别标签(有监督),不能用于无监督任务。

  • 假设数据服从正态分布:如果类别分布非高斯,效果可能不佳。

  • 依赖均值:当分类信息依赖于方差而非均值时,降维效果不佳。

分类任务降维

因子分析 (FA)

假设数据由潜在因子生成,目标是找到这些因子来解释观测数据的相关性。

  • 可解释性:因子可以代表潜在变量

  • 适用于相关性强的数据:如果多个特征高度相关,FA 可以提取共同因子。

  • 对噪声鲁棒:假设观测数据包含噪声。

  • 计算复杂:需要迭代优化(如 EM 算法)。

  • 因子旋转问题:因子可能不唯一,需要旋转(如 Varimax)来增强可解释性。

  • 假设数据服从高斯分布

潜在变量建模

多维缩放 (MDS

在降维后的低维空间中,尽可能地保持原始高维空间中样本点之间的距离关系(或相似性)

  • 保持距离结构:能够很好地保留数据点之间的原始距离或相似性结构。

  • 可处理非线性结构:虽然是线性方法,但通过保持距离,可以处理一些非线性关系。

  • 结果直观可解释:通过在二维或三维空间中可视化数据,便于理解数据的结构。

  • 计算复杂度高:需要计算并存储所有样本对之间的距离矩阵,对大数据集效果受限。

  • 可能产生失真:降维过程可能导致一定程度的变形。

距离保持降维

非线性

核主成分分析(KPCA)

将数据映射到高维空间再进行线性PCA

能处理复杂非线性结构

计算量大,参数敏感

数据有明显非线性模式,需要提取非线性主成分

t-SNE

保持高维和低维的局部相似性概率分布

可视化效果极佳,善于保持局部结构

计算开销大,不保留全局结构

  • 高维数据可视化

  • 探索性数据分析(EDA)

均匀流形近似与投影(UMAP)

基于拓扑流形理论,假设数据在局部是均匀分布的

  1. 比 t-SNE 更快,适合更大数据集。

  2. 同时保留局部和全局结构

  3. 可调节的邻域大小(n_neighbors 参数)

  1. 对超参数敏感(如邻域大小)。

  2. 理论较复杂(基于代数拓扑)

  • 大规模数据可视化

  • 替代 t-SNE(更快且保留全局结构)。

局部线性嵌入(LLE)

保持局部的线性重构关系

计算相对高效,保持局部线性特征

对邻居数k敏感,要求数据密度均匀

  • 流形学习(如瑞士卷数据集)。

  • 小规模数据可视化

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐