1.概念
将一组可能存在相关性的随机变量转变成互不相关的随机变量。
这个概念里有三个地方需要理解清楚。
(1)随机变量的指代
在数据集中,每一个样本,即将数据集理解成一个表格的话,一个样本就是一行,则每一列就是一个特征,也就是一个随机变量,一列的所有取值就是随机变量的所有可能取值(说的所有可能取值只针对训练集,并不是实际生活中所有可能的取值)。
(2)相关性的意义
相关性在这里的指代是随机变量相关,理解成两个随机变量之间存在信息重合,比如一个特征是你喜欢什么颜色,特征的取值可能有红色,绿色,蓝色,另一个特征是,你喜欢穿什么样式的衣服,可能的取值有蓝色蕾丝,红色杰克什么的,这里可以简单认为这两个特征之间有信息重合,因为你喜欢的颜色很可能影响了你对衣服的选择,你可能比较偏向于是你喜欢颜色的衣服。
(3)转化为互不相关的变量组的意义
在用统计分析方法研究多变量的课题时,变量个数太多就会增加课题的复杂性。人们自然希望变量个数较少而得到的信息较多。所以简单来说这个转化是为了特征降维而存在。
2.方法
(1)什么是主成分
转化后的互不相关的向量组成为主成分。
(2)协方差矩阵的意义
协方差是用来衡量变量相关性的工具。
协方差矩阵的求法:
当特征的取值范围相近,量纲一样时,可以直接对两个变量求协方差。当两个特征的量纲不一致时,需要经过标准化(归一化)。即xi = (xi-mean)/方差。数据标准化后计算的协方差矩阵即 相关系数矩阵。需要注意的是,协方差矩阵对角线元素就是此时两个变量的方差。
当一组数据有n个特征时,则这组数据的协方差矩阵为n*n,协方差矩阵始终是方阵。
(3)正交变换
正交变换是主成分分析的思想核心。它的作用在几何图形上可看做是不改变原始变量形状和大小的前提下,进行坐标旋转 。所谓的正交变换,实际上就是坐标旋转,通过逆时针旋转135度,使得第一主成分的方差达到最大,因此这种方法叫 方差最大化旋转。通过方差最大化旋转使得主成分按照方差由大到小的顺序排列,选择方差较大的前几个主成分,剔除方差较小的主成分,以达到削减变量的目的,即降维 。若需完全理解主成分分析,还需深入学习和理解线性代数的基本知识。
(4)步骤
1)求相关系数矩阵。
即先标准化,再求协方差矩阵。
2)求协方差矩阵的特征值和对应的特征向量。
假设特征值为(a1,a2,...,an),对应的特征向量为(A1,A2,...,An)
3)将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。
3)将正交矩阵A右乘原始数据标准化后的data_scale的过程称为正交变换 。
4)正交矩阵A右乘原始数据data_raw产生的两个新变量,称为 主成分 ,主成分数据集我们用data_new数据集表示。至此我们从原始数据 data_raw 通过正交变换产生了新的数据集 data_new 。
4)将样本点投影到选取的特征向量上。假设样例数为m,特征数为n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData为
FinalData(10*1) = DataAdjust(10*2矩阵) x 特征向量(-0.677873399, -0.735178656)T
然后就算完成降维了。
引用文章链接:
从变量角度解释主成分分析的原理和概念
http://baijiahao.baidu.com/s?id=1584276406324059019&wfr=spider&for=pc
【机器学习】主成分分析详解
https://blog.youkuaiyun.com/lyl771857509/article/details/79435402