主成分分析详解以及python实现
主成分分析的基本概念 主成分分析(Principal Component Analysis,PCA)是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 主成分分析的意义 对于一组数据X,存在以下特征{x1,x2,x3},这些特征之间可能存在一些关联性,主成分分析就是利用代表数据之间关联性的协方差矩阵来去除数据的关联性,找到一组数据中最关键的要素。 举一个简单的例子,比如对于一组深海鱼的数据,有身长,体重,游速,体温等等。但是如果我们用这些数据来描述一条深海鱼,那就过于复杂了。显然,即使凭借我们从先验的感官中,就可以看出鱼的身长和体重这两组数据是有高度重合性的,身长长的鱼类体重必然沉。那么我们可不可以把这两种鱼类特征合并到一起呢。因为对于数据的分析而言,少了一个数据,就让整数据的空间下降了一个维度,这是十分必要的。 主成分分析用到的数学工具 协方差矩阵 协方差矩阵是利用标准化过后特征矩阵的转置乘以它本身来得到的,它是一个对角矩阵,用来表示特征与特征之间的关联性。 特征值与特征向量 一个矩阵的特征向量表示在乘以这个矩阵后只发生长度变化而不发生方向变化的向量,而特征值是这些向量乘以矩阵后的变化的程度。因此,求矩阵的特征向量,本质上是将矩阵分解为相互独立正交的向量,而特征值是这些向量对于矩阵本身影响的重要程度