特征降维方法汇总表格

方法原理适用场景优点缺点
主成分分析(PCA)通过线性变换将数据投影到新空间,使得数据的方差最大化。适用于大部分数据集,尤其是特征相关性较强时简单有效,适用于高维数据降维只能处理线性关系,受噪声影响较大
线性判别分析(LDA)最大化类间差异和最小化类内差异,寻找最优投影方向。适用于分类问题,类别标签明确时适用于监督学习,能够处理类别数据需要类别标签,假设数据符合高斯分布
t-SNE通过概率分布确保数据点之间的相似性在低维空间中尽可能保留,适用于可视化。数据可视化,聚类结果可视化能处理非线性关系,适合可视化计算复杂度高,不能用于预测任务
自编码器(Autoencoder)基于神经网络,通过编码器和解码器压缩和重建数据。深度学习应用,适用于大规模数据能处理复杂数据,适应性强需要训练模型,计算复杂度高
独立成分分析(ICA)寻找数据的独立成分,与PCA不同,目标是数据的非高斯性。信号分离,图像、音频处理能处理信号分离任务假设数据是非高斯的
特征选择方法基于特征的方差、相关性或模型重要性,选择对结果影响最大的特征。分类和回归任务计算简单,容易理解可能丢失重要信息,依赖数据特性
基于树的方法(如随机森林)通过训练模型计算特征的重要性,并选取最重要的特征。适用于分类和回归任务能自动评估特征重要性对于高维数据处理时可能较慢

PCA的详细原理和步骤

1. 数据中心化
  • 目的:通过中心化,将每个特征的均值变为0,消除不同特征之间的尺度差异。

  • 公式:

    X centered = X − μ X_{\text{centered}} = X - \mu Xcentered​=X−μ

    其中:

    • X X X 为原始数据集。
    • μ \mu μ 为每列特征的均值向量。
  • 步骤:

    1. 对每个特征(每一列)计算其均值。
    2. 从每个数据点中减去该特征的均值。
  • 示例:
    假设数据集为:

    X = ( 1 2 3 4 5 6 ) X = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} X= ​135​246​ ​

    每列均值:

    μ = ( 3 4 ) \mu = \begin{pmatrix} 3 & 4 \end{pmatrix} μ=(3​4​)

    数据中心化后:

    X centered = ( 1 − 3 2 − 4 3 − 3 4 − 4 5 − 3 6 − 4 ) = ( − 2 − 2 0 0 2 2 ) X_{\text{centered}} = \begin{pmatrix} 1-3 & 2-4 \\ 3-3 & 4-4 \\ 5-3 & 6-4 \end{pmatrix} = \begin{pmatrix} -2 & -2 \\ 0 & 0 \\ 2 & 2 \end{pmatrix} Xcentered​= ​1−33−35−3​2−44−46−4​ ​= ​−202​−202​ ​

2. 计算协方差矩阵
  • 目的:协方差矩阵衡量特征之间的线性关系,PCA通过协方差矩阵找出数据的主要方向。

  • 公式:

    Σ = 1 n − 1 X centered T X centered \Sigma = \frac{1}{n-1} X_{\text{centered}}^T X_{\text{centered}} Σ=n−11​XcenteredT​Xcentered​

    其中:

    • X centered T X_{\text{centered}}^T XcenteredT​ 为数据中心化后的转置矩阵。
    • Σ \Sigma Σ 为协方差矩阵。
  • 示例:
    对于上述中心化后的数据集:

    X centered = ( − 2 − 2 0 0 2 2 ) X_{\text{centered}} = \begin{pmatrix} -2 & -2 \\ 0 & 0 \\ 2 & 2 \end{pmatrix} Xcentered​= ​−202​−202​ ​

    协方差矩阵为:

    Σ = 1 2 ( − 2 0 2 − 2 0 2 ) ( − 2 − 2 0 0 2 2 ) = ( 4 4 4 4 ) \Sigma = \frac{1}{2} \begin{pmatrix} -2 & 0 & 2 \\ -2 & 0 & 2 \end{pmatrix} \begin{pmatrix} -2 & -2 \\ 0 & 0 \\ 2 & 2 \end{pmatrix} = \begin{pmatrix} 4 & 4 \\ 4 & 4 \end{pmatrix} Σ=21​(−2−2​00​22​) ​−202​−202​ ​=(44​44​)

3. 计算特征值和特征向量
  • 目的:通过计算协方差矩阵的特征值和特征向量,找到数据的主要方向(即主成分)。

  • 步骤:

    1. 计算协方差矩阵的特征值( λ \lambda λ)和特征向量( v v v)。
    2. 特征值表示了主成分的方差,特征向量表示主成分的方向。
    • 特征值和特征向量计算方法:
      解方程:

      Σ v = λ v \Sigma v = \lambda v Σv=λv

      其中, Σ \Sigma Σ 为协方差矩阵, v v v 为特征向量, λ \lambda λ 为对应的特征值。

  • 示例:
    对于协方差矩阵:

    Σ = ( 4 4 4 4 ) \Sigma = \begin{pmatrix} 4 & 4 \\ 4 & 4 \end{pmatrix} Σ=(44​44​)

    解方程得到特征值为:

    λ 1 = 8 , λ 2 = 0 \lambda_1 = 8, \quad \lambda_2 = 0 λ1​=8,λ2​=0

    对应的特征向量为:

    v 1 = ( 1 1 ) , v 2 = ( − 1 1 ) v_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}, \quad v_2 = \begin{pmatrix} -1 \\ 1 \end{pmatrix} v1​=(11​),v2​=(−11​)

4. 选择主成分并降维
  • 目的:选择最重要的特征(主成分),并将数据投影到这些主成分上,达到降维效果。

  • 步骤:

    1. 根据特征值的大小选择前几个特征向量(主成分)。
    2. 使用这些特征向量对原始数据进行投影。
  • 示例:
    选择最大的特征值对应的特征向量:

    v 1 = ( 1 1 ) v_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix} v1​=(11​)

    然后将数据投影到该特征向量上。

    投影后的数据为:

    X reduced = X centered ⋅ v 1 = ( − 2 − 2 0 0 2 2 ) ⋅ ( 1 1 ) = ( − 4 0 4 ) X_{\text{reduced}} = X_{\text{centered}} \cdot v_1 = \begin{pmatrix} -2 & -2 \\ 0 & 0 \\ 2 & 2 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ 1 \end{pmatrix} = \begin{pmatrix} -4 \\ 0 \\ 4 \end{pmatrix} Xreduced​=Xcentered​⋅v1​= ​−202​−202​ ​⋅(11​)= ​−404​ ​


总的来说,特征降维在机器学习处理数据方面是必不可少的,不仅为大量数据提取主要特征的同时,也提高了模型训练的效率。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐