数据挖掘day4——主成分分析

来源:互联网 发布:网络伤感情歌大全100首 编辑:程序博客网 时间:2024/05/31 13:16
参考书目:《数据挖掘:概念、模型方法和算法》  第二版  清华大学出版社
主成分分析(Principal components analysis)-最大方差解释

主成分分析(Principal component analysis, PCA)是一种分析、简化数据集的技术。主成分分析常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。主成分分析由皮尔·卡尔逊(Karl Pearson)在1901年分明,用于分析数据建立数理模型。在不同领域,PCA也称为奇异值分解(SVD)、Hotelling转换和经验正交函数(EOF)方法,等。其方法是通过协方差矩阵(共变异数矩阵)进行特征分解,以得出数据的主成分(即特征向量)和他们的权值(即特征值)。就均值平方误差而言,PCA是最佳的线性维规约技术;但就特征的协方差矩阵而言,PCA是一个二流的方法。实际上,PCA的目标是找出初始特征的几个方差最大的正交线性组合,以减少数据的维度,因为方差依赖于变量的取值范围,所以习惯上先标准化每个变量。
其基本概念可正式描述如下:n维向量样本集X={x1,x2,...,xn}应转换成另一个相同维度的集Y={y1,y2,...,yn}但是y-s的一个属性把大部分信息内容存储在前几维中,以减少数集的维度,而信息损失很少。
     这种转换假设,高信息等于高方差。因此,如果想把一组输入维度转换为只有一个维度的Y,应该通过矩阵计算将X转换为Y。     Y= A·X
     找出A,使Y对已知数据集的方差最大。在此转换中获得一维的Y叫做第一主成分。

下面将直接给出PCA的计算步骤:(其中涉及的线性代数和统计学知识并没有给出详细证明,在文章末尾将会给出对某些证明有益的博文)
(1)将样例标准化。即将样本数据取去平均值(使每个特征的均值为0)
(2)就特征的协方差矩阵S。
其中

(3)求协方差矩阵的特征值和特征向量。
     求得协方差矩阵的特征值λ1>=λ2>=λ3>=...>=λn>=0
     和与之相对应的特征向量e1,e2,e3,...,en,这些特征向量叫做主轴。有线性代数的相关知识可知这些特征向量不想关的(即这些向量之间是互相正交的)。
    主轴是n维空间转换后的新轴,新变量是互不相关的,第i个成分的方差等于第i个特征值(关于为什么第i个成分的方差等于第i个特征值,可以证明)。因为λi的值是经过排序的,所以数据集的大多数信息都集中在少数主成分中。

     在完成以上步骤之后,接下来的问题是用多少个主成分可以很好的描述数据呢?
         一个简单的方法是分析方差的比例。用前m个特征值之和除以所有方差(特征值)之和,得到一个基于前m个主成分的质量分析值。比如,如果该值超多90%就是合格的。
    主成分有时难以解释。尽管它们在构建为初始特征的限行组合时是不相关的特征,且具备需要的属性,但他们不一定对有意义的物理量。在一些情况下,这个领域的科学家对这种解释能力的丧失并不满意,所以它们会选择其他的方法,通常是特征选择技术。


扩展阅读:关于主成分分析的五个问题
协方差矩阵的几何解释
样本方差为何除以n-1
主成分分析(Principal components analysis)-最大方差解释
wikipedia: https://zh.wikipedia.org/wiki/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90
  https://en.wikipedia.org/wiki/Principal_component_analysis  
0 0