数据降维技术对比
零碎知识 机器学习 0 365

本文只对比最常见的主成分分析(PCA: Principal Component Analysis)和t分布随机邻居嵌入(t-SNE: t-Distributed Stochastic Neighbor Embedding)。

t-SNE则是一种非线性降维方法,它主要通过优化相似度的Kullback-Leibler散度来将高维数据映射到低维空间中,同时保留数据之间的相对距离关系。

两种方法的具体原理和实现方式都不同,因此在不同的数据集和场景下,它们各自有着不同的优缺点和应用场景。

PCA

原理: 通过将数据投影到方差最大的方向上,实现将高维数据转化为低维数据的目的。

步骤:

  1. 数据预处理:对数据进行标准化,将每个特征值减去该特征的均值,然后除以该特征的标准差,使得每个特征的均值为0,标准差为1。
  2. 计算协方差矩阵:将标准化后的数据集X构建协方差矩阵,协方差矩阵是一个对称矩阵,描述不同特征之间的相关性。
  3. 计算特征值和特征向量:求解协方差矩阵的特征值和特征向量,其中特征向量是协方差矩阵的特征值对应的向量,描述了数据在主成分方向上的投影关系。
  4. 选择主成分:将特征值从大到小排序,选取前k个特征向量对应的特征值作为主成分,这k个特征向量构成了主成分空间,描述了数据集在k个方向上的最大方差。
  5. 转化数据:将原始数据集X投影到选取的主成分空间中,得到新的低维度数据集Y,Y的每个样本是X在主成分上的投影。

PCA的实现过程中,关键步骤是计算协方差矩阵和特征值、特征向量,以及选择主成分和转化数据。这些步骤可以使用不同的算法和优化技术进行实现,例如使用奇异值分解(SVD: Singular Value Decomposition)算法来求解特征值和特征向量,或者使用迭代法来进行矩阵计算。

形象理解:

  1. 获取所有数据点的均值,设定这个均值为新的原点
  2. 根据新的原点建立的坐标系,随机初试化一个主成分向量\(PC_i\)
  3. 通过迭代,使得所有的数据点到这个向量的距离的平方和最小(即所有数据点的投影与原点距离的平方和最大),所得的向量就是\(PC_i\),单位化得到的就是\(PC_i\)的特征向量(Eigenvector),特征向量中坐标系的数值就是Loading Scores,\(PC_i\)的特征值就是数据点到向量的距离的平方和的均值,也等于\(PC_i\)的方差:
    $$ \lambda_{PC_i} = \frac{1}{N-1}\sum_{j=0}^{M} d_j^2 = \sigma_i^2 $$ 此外,\(PC_i\)的奇异值 = \(\sqrt{SS(distances for PC1)}\),SS就是指Sum of squared。
  4. 分解出\(PC_i\),回到第一步,开始类似的操作,直到原始数据的维度跟PC维度一致。

成分比例: \(PC_i\)成分比例: \(\frac{\sigma_1^2}{\sum{\sigma^2_i}}\),成分比例通过Scree Plot看出。

优缺点:

  • 优点:

    1. 简单: PCA是一种非常简单和易于实现的降维方法。
    2. 可解释性: PCA可以生成具有可解释性的新特征。这些新特征是原始数据的线性组合,因此它们可以解释为原始特征的加权和。
    3. 速度快: 相对于其他非线性降维方法,如tSNE,PCA是一种快速的方法。
  • 缺点:

    1. 线性:PCA只能捕捉原始数据中的线性关系。对于非线性关系,PCA的效果可能不好。
    2. 不具有局部结构:PCA将数据映射到低维空间中,但是它不会考虑每个数据点周围的局部结构。这意味着在低维空间中,数据点可能会失去其真实的局部结构信息。

t-SNE(t-distributed stochastic neighbor embedding)

t-SNE 的基本原理是通过概率分布的方法来描述高维空间和低维空间之间的相似性,然后使用梯度下降的方法不断调整低维空间中的点的位置,使得低维空间中的点之间的相似性与高维空间中的点之间的相似性相似。

优缺点:

  • 优点:
    1. 非线性: tSNE是一种非线性降维方法,可以捕捉原始数据中的非线性关系。
    2. 考虑局部结构: tSNE考虑每个数据点周围的局部结构。这意味着在低维空间中,数据点可以保留其真实的局部结构信息。
    3. 可视化: tSNE经常用于数据可视化,因为它可以在二维或三维空间中表示数据,从而使人们能够更好地理解和解释数据。
  • 缺点:
    1. 速度慢: 相对于PCA,tSNE是一种慢速的方法,尤其是在处理大型数据集时。

参考资料:

编写
预览