【问题标题】:how to choose more than one dimension using principle component analysis如何使用主成分分析选择多个维度
【发布时间】:2017-02-01 16:44:22
【问题描述】:

我最近阅读了 PCA(主成分分析)并了解了如何降维。当我们只需要一维时,我们选择一个对应于最大特征值的特征向量,但如果需要多于一维,那么我应该取对应于最大特征值的特征向量吗?

【问题讨论】:

    标签: image-processing machine-learning


    【解决方案1】:

    主成分分析 (PCA) 是一种统计技术,它执行正交变换以将可能相关变量的一组观察值转换为一组称为主成分的线性不相关变量值。

    PCA变换后的分量数等于变量数。这种转换的定义方式是,第一个主成分具有最大可能的方差(即,它尽可能多地解释数据中的可变性),并且每个后续成分依次具有在约束它与前面的组件正交。得到的向量是一个不相关的正交基组。

    一般来说,人们会选择占 99% 方差的尽可能多的成分,这将远少于变量的总数。

    参考文献:

    https://stats.stackexchange.com/a/140579/86202

    http://scikit-learn.org/stable/modules/decomposition.html#pca

    https://en.wikipedia.org/wiki/Principal_component_analysis

    【讨论】:

      【解决方案2】:

      基本上是的(从您的描述中可以推断出),如果您的案例、您的实施工具等有更多信息,那就太好了。但基本上是的,过程是:

      1. 计算协方差矩阵
      2. 计算协方差矩阵的特征向量,根据您的工具,可以使用预定义函数“eig”或“奇异值分解”(matlab 中的 svd)计算。如果您使用 svd,它通常会返回 3 个值,第一个值是一个矩阵,其中包含该矩阵的特征向量,如果您想要“k”维,则取“k”列,它们是您的主要成分。李>

      这是我在 PCA 八度音程中的实现,我使用 pca.m 文件来定义我的 pca 计算,并使用 ex7_pca.m 来针对特定情况使用它来减少维度: https://github.com/llealgt/standord_machine_learning_exercices/blob/master/machine-learning-ex7/ex7/pca.m

      https://github.com/llealgt/standord_machine_learning_exercices/blob/master/machine-learning-ex7/ex7/ex7_pca.m

      【讨论】:

        猜你喜欢
        • 2022-06-16
        • 2018-12-06
        • 2018-03-12
        • 2018-01-31
        • 2021-05-10
        • 2018-03-23
        • 1970-01-01
        • 2019-07-29
        • 2017-04-21
        相关资源
        最近更新 更多