主成分分析PCA,主成分分析(PCA),如何理解主成分分析法 (PCA),单片机PCA是什么意思...
主成分分析PCA
先放一张PCA图 主成分分析(Principal Component Analysis) 是不是听起来就一脸懵,下面就让我们来看看PCA是何方神圣! 01 降维? 主成分分析的字面意思就是用主成分来分析数据呗!阔是,什么是主成分?这就不得不聊一个关于“降维”的故事了。 “学医要考研,考研要复试,复试要…要…要…复试不仅让考生心痛更让导师眼花缭乱。”这不,A导就纠结着到底选5个复试学生里的哪一个来当自己的关门弟子? A导最终决定用数据说话!设置了“绩点,考研分数,科研能力,笔试成绩,面试表现,英语水平,奖学金,学科竞赛,部门任职”9个指标(相当于从9个维度去评价这5位考生)。 9个指标=9个变量=9个维度 我的三维大脑是搞不定的 看来9维是不行了,那怎么把维度降低,用简单的方法表示复杂的数据分析? 当然是用降维了!降维是通过减少数据中的指标(或变量)以化简数据的过程。这里的减少指标,并不是随意加减,而是用复杂的数理知识,得到几个 “综合指标” 来代表整个数据。 PS:降维的原理涉及复杂数理知识且大多由计算机完成 那么问题来了!这个“综合指标”是什么?为什么它们就可以代表整个数据? 02 Why 主成分? 综合指标=主成分 你没有看错,这个综合指标就是我们今天的重点:主成分。它不是原来的指标中的任何一个,而是由所有原有指标数据线性组合而来。 比如A导的故事中的主成分就可这样表示: 认识了“主成分”以后,PCA的概念就很容易理解了! PCA——就是以“降维”为核心,把多指标的数据用少数几个综合指标(主成分)替代,还原数据最本质特征的数据处理方式。 可是, 主成分为什么拽到可以代替所有数据? 认真看看可以发现 部分指标其实是相互关联的! (比如奖学金也可以反映绩点情况),这就会造成 数据冗余。 而降维就可以帮助我们 去除这些指标中重叠、多余的信息,把数据最本质和关键的信息提取出来。 A导终于可以一眼就区分这5位考生的水平并“理智”地做出选择了! 将学生成绩表示为矩阵形式,一行代表一个学生,每一列代表一门课的成绩 假设找到了一个线性组合(命名为特征矩阵(Yn, k)),其中k<n 得到一组新变量Pm, k = Xm, n Yn, k,并且新变量的协方差矩阵(Dm, m)为对角阵。 设我们有m个n维数据记录,将其按列排成n乘m的矩阵X,设 优化目标变成了寻找一个矩阵Y,满足YTCY是一个对角矩阵,并且对角元素按从大到小依次排列,那么Y的前K列就是要寻找的基,用Y的前K列组成的矩阵乘以X就使得X从M维降到了K维并满足上述优化条件。 A导可是只有5位考生,9个指标而已!在我们医学中!那可是上千的样本量,上万的基因数据...... 在医学领域中,我们可以用PCA图来进行 疾病危险因素分析,肠道菌群聚类分析,推断肿瘤亚群之间的进化关系......还用它来观察样本的分组、趋势、剔除异常数据。 所以PCA图在文献中出现率还是蛮高的!!!不过遇到它我们怎么看? 深入了解PCA 识图秘籍 样本点连线 距离长 =样本之间差异性大 样本点连线 距离短 =样本之间差异性小 1、各样本点连线的距离:体现各国家蛋白摄入习惯的相似性。 2、主成分与原变量之间的关系:箭头对应的原始变量在投影到水平和垂直方向上后的值,可以分别体现该变量与PC1和PC2的相关性(正负相关性及其大小)(例如,Eggs对PC1具有较大的贡献,而Nuts则与PC1之间呈较大的负相关性)。 3、样本点和箭头之间的距离:反映样本与原始变量的关系。(对于图中用蓝色粗箭头所指的样本点而言,该国的蛋白质来源主要为Fruits and Vegetables)。 怎么样?有没有一种豁然开朗的感觉? 什么?还是懵? 没关系,继续看例子
主成分分析(PCA)
主成分分析(PCA)是一种常用的无监督学习方法,这一方法利用正交变换把由现行相关变量表示的观测数据转化为少数几个由线性无关变量表示的数据,线性无关的变量称为主成分。主成分的个数通常小于原始变量的个数,所以主成分分析属于姜维方法。主成分分析主要用于发现数据中的基本结构,即数据中变量之间的关系,是数据分析的有力工具,也用于其他机器学习方法的前处理。 统计分析比中,数据的变量之间可能存在相关性,以致增加了分析的难度。于是,考虑由少数几个不相关的变量来代替相关的变量,用来表示数据,并且要求能够保留数据中的不部分信息。 主成分分析中,首先对给定数据进行规范化,使得数据每一变量的平均值为0,方差为1,。之后对数据进行正交变换,用来由线性相关表示的数据,通过正交变换变成若干个线性无关的新变量表示的数据。新变量是可能的正交变换中变量的方差和(信息保存)最大的,方差表示在新变量上信息的大小。将新变量一次成为第一主成分,第二主成分等。通过主成分分析,可以利用主成分近似地表示原始数据,这可理解为发现数据的“基本结构”;也可以把数据由少数主成分表示,这可理解为对数据降维。 方差最大的解释。假设有两个变量 ,三个样本点A,B,C。样本分布在由 轴组成的坐标系中,对坐标系进行旋转变换,得到新的坐标轴 ,表示新的变量 。坐标值的平方和 表示样本在变量 上的方差和。主成分分析旨在选取正交变换中方差最大的变量,作为第一主成分,也是是旋转变换中坐标值的平方和最大的轴。注意到旋转变换中变换中样本点到原点距离的平方和 不变,根据勾股定理,坐标值的平方和最大 等价于样本点到 轴的距离平方和 最小。所以,等价地,主成分分析在旋转变换中选取离样本点的距离的平方和最小的轴,作为第一主成分。第二主成分等的选取,在保证与已有坐标轴正交的条件下,类似地进行 假设 是m维随机变量,其均值是 , 协方差矩阵是 考虑到m维随机变量 到m维随机变量 的线性变换 其中 由随机变量的性质可知 总体主成分的定义 给定式(1)所示的线性变换,如果他们满足下列条件 设 是m维随机变量, 是 的协方差矩阵, 的特征值分别是 ,特征值对应的单位特征向量分别是 ,则 的第k主成分是 的第k主成分的方差是 即协方差矩阵 的第k个特征值 首先求 的第一主成分 ,即求系数向量 。第一主成分的 是在 的条件下, 的所有线性变换中使方差达到最大的 求第一主成分就是求解最优化问题 定义拉格朗日函数 其中 是拉格朗日乘子,将拉格朗日函数对 求导,并令其为0,得 因此 是 的特征值, 是对应的单位特征向量。于是目标函数 假设 是 的最大特征值 对应的单位特征向量,显然 与 是最优化问题的解,所以, 构成第一主成分,其方差等于协方差矩阵的最大特征值 接着求 的第二主成分 ,第二主成分的 是在 且 与 不相关条件下, 的所有线性变换中使达到最大 求第二主成分需参求解约束最优化问题 定义拉格朗日函数 其中 对应拉格朗日乘子。对 求偏导,并令其为0,得 将方程左则乘以 有 此式前两项为0,且 ,导出 ,因此式成为 由此, 是 的特征值, 是对应的特征向量,于是目标函数为 假设 是 的第二大特征值 的特征向量,显然 是以上最优化问题的解。于是 构成第二主成分,其方差等于协方差矩阵的第二大特征值, 按照上述方法可以求得第一、第二、直到第m个主成分,其系数向量 分别是 的第一、第二、直到m个单位特征向量, 分别是对应的特征值。并且,第k主成分的方差等于 的第k个特征值。 主成分分析的主要目的是降维,所以一般选择 个主成分(线性无观变量),使问题得以简化,并能保留原有变量的大部分信息。这里所说的信息是指原有信息的方差。 对任意正整数 ,考虑正交线性变换 其中 是q的维向量, 是q*m维矩阵,令 的协方差矩阵为 则 的迹 在 时取最大值,其中矩阵 是由正交矩阵A的前q列组成。 这表明,当 的线性变换 在 时,其协方差矩阵 的迹 取得最大值。也就是说,当A取前 的前q个主成分时,能够最大限度地保留原有变量方差的信息。 以上作为选择k个主成分的理论依据。具体选择k的方法,通常利用方差贡献率。 第k主成分 的方差贡献率定义为 的方差与所有方差之和的比记作 k个主成分 的累计方差贡献率定义为k个方差之和和所有方差之和的比 通常取k使得累计方差贡献率达到规定的百分比以上,例如70%~80%。累计方差贡献率反映了主成分保留信息的比例,但它不能反映对某个原有变量 保留信息的比例,这时通常利用k个主成分 对原有变量 的贡献率。 k个主成分 对原有变量 的贡献率为 , 的相关系数的平方,记作 计算公式如下: 其中, 是随机变量 的方差,即协方差矩阵 的对角元素。 在实际问题中,不同变量可能有不同的量纲,直接求主成分有时会产生不合理的结果,为了消除这个影响,常常对各个随机变量实施规范化,使其均值为0,方差为1 设 为随机变量, 为第i个随机变量, ,令 其中, 分布是随机变量 的均值和方差,这时 就是 的规范化随机变量。 在实际问题中,需要在观测数据上进行主成分分析,这就是样本主成分分析。样本主成分也和总体主成分具体相同的性质。 使用样本主成分时,一般假设样本数据是规范化的,即对样本矩阵如下操作: 其中 样本协方差矩阵S是中体协方差矩阵 的无偏估计,样本相关矩阵R是总体相关矩阵的无偏估计,S的特征值和特征向量 的特征值和特征向量的无偏估计。 传统的主成分分析通过数据的协方差矩阵或相关矩阵的特征值分解进行,现在常用的方法是通过数据矩阵的奇异值分解进行。下面介绍数据的协方差矩阵或相关矩阵的分解方法 给定样本矩阵 ,利用数据的样本的协方差矩阵或样本相关矩阵的特征值分解进行主成分分析 给定样本矩阵 ,利用数据矩阵奇异值分解进行主成分分析,这里没有假设k个主成分 对于 维实矩阵A,假设其秩为r, ,则可将矩阵A进行截断奇异值分解 式 是 矩阵, 是k阶对角矩阵, 分别由取A的完全奇异分解的矩阵U,V的前k列, 由完全奇异分解的矩阵 的前k个对角元素得到 定义一个新的 矩阵 的每一列均值为0, 即 等于X的协方差矩阵 主成分分析归结于求协方差矩阵 的特征值和对应的单位特征向量。 假设 的截断奇异值分解为 ,那么V 的列向量就是 的单位向量,因此V的列向量就是X的主成分。于是X求X的主成分可以通过 的奇异值来实现
如何理解主成分分析法 (PCA)
什么是主成分分析法
主成分分析法: 英文全名 Principal Component Analysis 简称 PCA ,由名字就可以看出来,这是一个挑重点分析的方法。主成分分析 法是通过 恰当 的数学变换 ,使新变量—— 主成分成为原变量 的线性 组合 ,并选 取少数 几个在变差总信息量中 比例较 大的主成分来分析 事物 的一种方法 。 主成分在变差信息量中的比例越大 , 它在综合评价 中的作用就越大
思想: 整体思想就是化繁为简,抓住问题关键,也就是降维思想。当然,既然是抓住关键,那么自然就是以牺牲精度为代价。
解决问题: 因为每个变量都在不同程度上反映了所研究问题的某些信息,并且指标之间彼此有一定的相关性,因而所得的统计数据反映的信息在一定程度上有重叠。 在用统计方法研究多变量问题时,变量太多会增加计算量和分析问题的复杂性。
人们希望在进行定量分析过程中,涉及的变量较少,得到的信息量较多。为了尽可能的减少冗余和噪音,一般情况可以从相关变量中选择一个,或者把几个相关变量综合为一个变量作为代表,用少数变量来代表所有变量。
原理: 因为评估所涉及的众多变量之间既然有一定的相关性,就必然存在着起支配作用的因素。根据这一点,通过对原始变量和相关矩阵的内部结构的关系研究 ,找出影响目标变量某一要素的几个综合指标,使综合指标为原来变量的线性拟合。 这样,综合指标不仅保留了原始变量的主要信息,且彼此间不相关,又比原始变量具有某些更优越的性质,使得我们在研究复杂目标变量评估问题时,容易抓住主要矛盾。
形象理解
比如,某学籍数据,有两列 M 和 F ,其中M 列的取值是如果学生为男性,则取值为 1 如果为女性,则取值为 0 。F 列,如果为男性则取值为 0 否则取值为一。 由这两种关系可以知道,这两列数据是强相关的。只要保留一列,就能够完全还原另外一列。 当然,不要局限于数据删除,还有数据转换,删除可以理解为在此方法中的一种方式。
当然,上述情况在真实数据中是不可能出现的。这里只是借此介绍一下这种思维。真实情况中, 我们需要考虑删除哪一列信息可以使得损失最小?或者是通过变换数据就能使得损失信息更小?又如何度量信息的丢失量?原始数据的处理降维有哪些步骤?
坐标示例:
我们来看下面这张图,这是一个椭圆的点阵。椭圆上面有一个长轴和一个短轴。现在我们要表示点阵的主要变化趋势,就可以以长短轴(或者平行于长短轴)构建新的坐标系。在极端的情况下,短轴变成了一个点,那么长轴就能代表这个点阵的趋势和特点。这样,一个二维数据,就变成了一维。
基础知识储备
内积与投影:
内积运算,将两个向量映射为一个实数。其几何意义就是 向量 A ,在向量 B 的投影长度。(下图是以二维向量为例,多维空间依然是如此。)
上式中,B 为单位向量
基 :
同样以上图 B为例,B向量为(3,2)其表示的其实为在 X 轴的投影值为3 ,在Y轴的投影值 为 2 。这其实加入了一个隐含信息,就是本坐标轴 分别是以 X Y轴为方向的单位向量。这里的 X Y 轴其实就是我们所提到的 基。只不过一般默认为 (1,0)和(0,1)
所以呢,要描述一组向量,首先是要确定一组基。然后求这个向量在这组基中的投影即可。对基的要求是线性无关,并不一定非要正交。但是因为正交基有较好的性质,所以一般情况我们都是用正交基。
基变换
上面我们了解了基的原理。如果同样把(3,2)放到新基里面描述,那就是把向量和新基相乘即可。
如果是在描述中,有多个基呢?那就是与基阵相乘。
如何实现降维
上面的思路,我们都清楚了。那么我们如何通过基变换来降维呢?这里我们来举个例子。假设我们有一个矩阵如下。
为了处理方面,我们现在把每个字段都减去字段平均值,那么就变成了如下所示
表示在坐标上如下图
那么,我们现在想用一维坐标来表示,而且要求尽可能的保留原来的信息,我们需要如何选择方向(基)呢?(二维降一维)
思路就是,希望投影后的值尽可能的分散,避免重合。
协方差:
在概率论与统计学中,协方差用于衡量两个随机变量的联合变化程度。而方差则是协方差的一种特殊情况,即变量与自身的协方差。
期望:在概率论和统计学中,一个离散性随机变量的期望值(或数学期望,亦简称期望,物理学中称为期待值)是试验中每次可能的结果乘以其结果概率的总和。比如骰子的期望值为 1* 1/6 +2*1/6 + …+ 6*1/6 = 3.5
协方差公式为:
其中,E(X) = u E(Y) = v
协方差表示的是两个变量的总体的误差 ,这与只表示一个变量误差的方差不同。 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。 如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。如果X 与Y 是统计独立的,那么二者之间的协方差就是0
流程和步骤
第一步:标准化
把输入数据集变量的范围标准化,以使它们中的每一个均可以大致成比例的分析。简单说,就是要把存在较大差异的数据转变为可比较的数据。比如把 0-100 的变量转化为 0-1 的变量。这一步一般可以通过减去平均值,再除以每个变量值的标准差来完成。标准差公式如下
那么常用的标准化指标变量公式可为
第二步:协方差矩阵计算
这一步的目的是:了解输入数据集的变量是如何相对于平均值变化的。或者换句话说,是为了查看它们之间是否存在任何关系。因为有时候,变量间高度相关是因为它们包含大量的信息。因此,为了识别这些相关性,我们进行协方差矩阵计算。
协方差矩阵是p×p对称矩阵(其中p是维数),其所有可能的初始变量与相关联的协方差作为条目。
好了,现在我们知道协方差矩阵只不过是一个表,汇总了所有可能配对的变量间相关性。下面就是计算协方差矩阵的特征向量和特征值,以筛选主要成分。
第三步:计算协方差矩阵的特征向量和特征值,用以识别主成分
特征向量和特征值都是线性代数概念,需要从协方差矩阵计算得出,以便确定数据的主成分。开始解释这些概念之前,让我们首先理解主成分的含义
主成分是由初始变量的线性组合或混合构成的新变量。该组合中新变量(如主成分)之间彼此不相关,且大部分初始变量都被压缩进首个成分中。所以,10维数据会显示10个主成分,但是PCA试图在第一个成分中得到尽可能多的信息,然后在第二个成分中得到尽可能多的剩余信息,以此类推。
例如,假设你有一个10维数据,你最终将得到的内容如下面的屏幕图所示,其中第一个主成分包含原始数据集的大部分信息,而最后一个主成分只包含其中的很少部分。因此,以这种方式组织信息,可以在不丢失太多信息的情况下减少维度,而这需要丢弃携带较少信息的成分。
在这里,方差和信息间的关系是,线所承载的方差越大,数据点沿着它的分散也越大,沿着线的散点越多,它所携带的信息也越多。简单地说,只要把主成分看作是提供最佳角度来观察和评估数据的新轴,这样观测结果之间的差异就会更明显。
协方差矩阵的特征向量实际上是方差最多的轴的方向(或最多的信息),我们称之为主成分。通过特征值的顺序对特征向量进行排序,从最高到最低,你就得到了按重要性排序的主成分。
第四步:特征向量
正如我们在上一步中所看到的,计算特征向量并按其特征值依降序排列,使我们能够按重要性顺序找到主成分。在这个步骤中我们要做的,是选择保留所有成分还是丢弃那些重要性较低的成分(低特征值),并与其他成分形成一个向量矩阵,我们称之为特征向量。
因此,特征向量只是一个矩阵,其中包含我们决定保留的成分的特征向量作为列。这是降维的第一步,因为如果我们选择只保留n个特征向量(分量)中的p个,则最终数据集将只有p维。
第五步:沿主成分轴重新绘制数据
在前面的步骤中,除了标准化之外,你不需要更改任何数据,只需选择主成分,形成特征向量,但输入数据集时要始终与原始轴统一(即初始变量)。
这一步,也是最后一步,目标是使用协方差矩阵的特征向量去形成新特征向量,将数据从原始轴重新定位到由主成分轴中(因此称为主成分分析)。这可以通过将原始数据集的转置乘以特征向量的转置来完成。
优缺点
优点:化繁为简,降低了计算量。
缺点:一定程度上损失了精度。并且只能处理“线性问题”,这是一种线性降维技术、
总结
假设我们拿到了一份数据集,有m个样本,每个样本由n个特征(变量)来描述,那么我们可以按照以下的步骤进行降维:
1、将数据集中的每个样本作为列向量,按列排列构成一个n行m列的矩阵;
2、将矩阵的每一个行向量(每个变量)都减去该行向量的均值,从而使得新行向量的均值为0,得到新的数据集矩阵X;
3、求X的协方差矩阵,并求出协方差矩阵的特征值λ和单位特征向量e;
4、按照特征值从大到小的顺序,将单位特征向量排列成矩阵,得到转换矩阵P,并按PX计算出主成分矩阵;
5、用特征值计算方差贡献率和方差累计贡献率,取方差累计贡献率超过85%的前k个主成分,或者想降至特定的k维,直接取前k个主成分。
参考文章: https://blog.csdn.net/Murray_/article/details/79945148
参考文章: https://www.cnblogs.com/Luv-GEM/p/10765574.html
参考文章: https://www.ssffx.com/wangzhanjianshe/40715.html
单片机PCA是什么意思
单片机PCA的意思是可编程计数器阵列。PCA由5个16位的捕获/比较模块与之相连,由高字节(PCA0H)和低字节(PCA0L)组成。 在读PCA0L 的同时自动锁存PCA0H 的值,先读PCA0L 寄存器将使PCA0H 的值得到保持(在读PCA0L 的同时),直到用户读PCA0H 寄存器为止。 扩展资料 计数/定时器溢出时,PCA0MD中的计数器溢出标志(CF)被置为1,并产生中断请求(如果CF 中断被允许)。 将PCA0MD 中ECF 位设置为逻辑1 即可允许CF 标志产生中断请求。当CPU 转向中断服务程序时,CF 位不能被硬件自动清除,必须用软件清0。 要使CF 中断得到响应,必须先总体允许PCA0 中断。通过将EA 位(IE.7 )和EPCA0 (EIE1.3 )设置为逻辑1 来总体允许PCA0 中断。清除PCA0MD寄存器中的CIDL 位将允许PCA 在微控制器内核处于等待方式时继续正常工作。 参考资料来源:百度百科-pca
下一篇:没有了