主成分分析法(PCA)
在本篇博客中,我们将会介绍一种方法,叫做主成分分析法(PCA),这种方法试图确定数据接近位于的子空间。PCA相对于因子分析法将会更为直接,它仅仅需要进行特征向量的计算(在Matlab中使用eig函数),并不需要使用EM算法。
假设我们有这样的一个数据集 {
x(i);i=1,...,m} 表示m个不同种类的汽车发动机的属性,例如他们的最大速度,选旋转半径等等。使得对于每个i 满足 x(i)∈R ( n≪m )。但是对于我们不知道的是——对于两个不同的属性,例如 xi 和 xj ——分别代表车的最大速度由英里/小时和千米/小时测量的结果。这两个属性几乎是线性相关的,仅仅是由于mph和kph之间凑整导致的误差。因此,因此这个数据实际上是位于一个接近n-1维的子空间。那么,我们如何自动检测,或者是移除这个冗余呢?
考虑一个更加自然的例子,这些数据是通过调查无线操控直升飞机的飞行员得到的,其中 x(i)1 代表飞行员i的驾驶技能,而 x(i)2 代表他们对飞行的喜欢程度。由于RC直升飞机非常难操控,只有正真喜欢它的学生才能成为好的飞行员。所以两个属性 x