如何使用主成分分析选择多个维度

时间:2017-02-01 06:25:43

标签: image-processing machine-learning

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

2 个答案:

答案 0 :(得分:2)

主成分分析(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

答案 1 :(得分:1)

基本上是(从你的描述中可以得到的),在你的案例,你的实现工具等中获得更多信息会很好。但基本上是的,过程将是:

  1. 计算协方差矩阵
  2. 计算协方差矩阵的特征向量,根据您的工具,可以使用预定义的函数计算它,并且#34; eig"或者也是"奇异值分解" (matlab中的svd)。如果你使用svd,它通常会返回3个值,第一个值是一个矩阵,它将包含特征向量,如果你想要" k"尺寸,你采取" k"列,它们是您的主要组成部分。
  3. 继承我在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