PCA被认为是线性过程,但是:
其中 。这就是说,由PCA在数据矩阵上获得的特征向量的总和不等于由PCA在数据矩阵的总和上获得的特征向量。但是线性函数的定义不是:
那么,如果PCA不满足线性这一非常基本的条件,为什么将其视为“线性”呢?
PCA被认为是线性过程,但是:
其中 。这就是说,由PCA在数据矩阵上获得的特征向量的总和不等于由PCA在数据矩阵的总和上获得的特征向量。但是线性函数的定义不是:
那么,如果PCA不满足线性这一非常基本的条件,为什么将其视为“线性”呢?
Answers:
当我们说PCA是线性方法时,我们指的是降维映射从高维空间到低维空间。在PCA中,此映射是通过与PCA特征向量矩阵相乘得出的,因此显然是线性的(矩阵乘法是线性的):这与降维的非线性方法相反,在降维方法中,降维映射可以是非线性的。
另一方面,使用您所说的从数据矩阵中计算出顶部特征向量您问题中的: 并且此映射肯定是非线性的:它涉及计算协方差矩阵的特征向量,这是一个非线性过程。(作为一个简单的例子,乘法 由增加的协方差矩阵由,但其本征向量留,因为它们归一化为具有单位长度的相同)。
“线性”可能意味着很多事情,并且并非仅以正式方式使用。
PCA在形式上通常不被定义为函数,因此,当如此描述时,PCA不能满足线性函数的要求。正如您所说,它通常被描述为一个过程,有时甚至被描述为一种算法(尽管我不喜欢这最后一个选项)。人们通常认为它是非正式的,没有明确定义的方式是线性的。
例如,在以下意义上,可以将PCA视为线性的。它属于一系列方法,这些方法认为每个变量可以通过函数近似, 其中并且是一组变量,其中一些变量属性。在PCA的情况下,是一组自变量,可以在特定意义上以最小的近似精度损失来减小基数。在许多设置中,这些都是理想的属性。
现在,对于PCA,每个被限制为 ,即变量的线性组合。
鉴于此限制,它提供了一个过程来找到和的最佳值(在某种意义上)。也就是说,PCA仅将线性函数视为合理的假设。从这个意义上讲,我认为可以合理地将其描述为“线性”。