协方差矩阵与主成成分分析(整理后)
利用协方差阵求取主成分的步骤和公式
利用协方差阵求取主成分的步骤和公式哎呀,这可是个大学问啊!今天咱就来聊聊如何利用协方差阵求取主成分,让你的数据变得更加简洁明了。
别着急,我们一步一步来,先来看看这个题目的含义。
咱们得了解什么是协方差阵。
协方差阵就是一个矩阵,它表示两个变量之间的相关性。
简单来说,如果两个变量的变化趋势相同,那么它们的协方差就是正数;如果变化趋势相反,协方差就是负数;如果完全不相关,协方差就是0。
有了协方差阵,我们就可以求出主成分了。
那么,如何求主成分呢?这里就涉及到一个叫做“特征值分解”的魔法操作。
想象一下,你手里有一盒巧克力,里面有各种各样的口味,但是你不知道哪个是最好吃的。
这时候,你可以把这些巧克力混在一起,然后尝一尝,看看哪一种味道最受欢迎。
这就是特征值分解的原理。
我们把数据矩阵和协方差阵混在一起,然后对它们进行特征值分解,就可以找到最重要的成分了。
那么,特征值分解到底是什么样子呢?咱们来举个例子。
假设你有一个数据矩阵A,它的第i行第j列的元素是A[i][j]。
那么,A的特征值就是A[i][j]与A[j][i]的乘积除以它们的模长。
而A的主成分就是那些最大的特征值对应的列向量。
现在,我们已经知道了如何求主成分,那么接下来就是如何用协方差阵来求主成分了。
这里有一个小技巧:我们可以把协方差阵看作是一个“中心矩阵”。
也就是说,我们要找的主成分,其实就是协方差阵中最中间的那个元素所对应的列向量。
那么,如何找到这个“中心元素”呢?这里就涉及到一个叫做“奇异值分解”的魔法操作。
想象一下,你手里有一盒巧克力,里面有各种各样的口味,但是你不知道哪个是最好吃的。
这时候,你可以把这些巧克力混在一起,然后尝一尝,看看哪一种味道最受欢迎。
这就是奇异值分解的原理。
我们把协方差阵进行奇异值分解,就可以找到最重要的成分了。
那么,奇异值分解到底是什么样子呢?咱们来举个例子。
假设你有一个协方差阵B,它的第i行第j列的元素是B[i][j]。
那么,B的奇异值就是B[i][j]与B[j][i]的乘积除以它们的模长。
利用协方差阵求取主成分的步骤和公式
利用协方差阵求取主成分的步骤和公式在现代统计学中,主成分分析(PCA)是一种常用的数据降维方法。
它通过将原始数据投影到一个新的坐标系,从而实现对数据的简化和可视化。
PCA的原理基于协方差矩阵,协方差矩阵是一个描述数据之间关系的矩阵。
在这个过程中,我们需要利用协方差阵求取主成分,以下是详细的步骤和公式:我们需要计算数据的均值。
均值是一个重要的特征,它可以帮助我们消除数据中的量纲影响。
例如,如果我们有一个长度为n的数据向量x,那么它的均值就是x的平均值:均值= (1/n) * Σx_i接下来,我们需要计算协方差矩阵。
协方差矩阵是一个描述数据之间线性关系的特征矩阵。
对于一个n维数据向量x,它的协方差矩阵可以表示为:协方差矩阵 = (1/(n-1)) * Σ((x_i μ) * (x_j μ))其中,μ是数据向量的均值,Σ表示求和。
需要注意的是,协方差矩阵的上三角部分是正定的,这意味着我们可以直接求出它的特征值和特征向量。
这些特征值和特征向量构成了主成分。
为了求解协方差矩阵的特征值和特征向量,我们可以使用奇异值分解(SVD)。
奇异值分解是一种将矩阵分解为三个矩阵的乘积的方法。
对于一个n×n的矩阵A,它的奇异值分解可以表示为:A = U * S * V^T其中,U、S和V分别是正交矩阵,且S是一个对角矩阵,其对角线元素称为奇异值。
我们需要找到最大的奇异值对应的特征向量,这个特征向量就是我们要找的主成分。
具体来说,主成分的方向是由最大奇异值对应的特征向量确定的。
接下来,我们需要计算主成分的方差。
主成分的方差可以通过协方差矩阵的最大奇异值来表示。
设最大奇异值为λ1,那么主成分的方差就是:主成分方差= λ1^2 / (n-1)我们可以将原始数据投影到主成分上。
具体来说,对于一个n维数据向量x,它在第一个主成分上的投影就是:x_1 = x * Σ_j^0 * V^T_j^0 * S^(0/2) * U^(0,0)其中,Σ_j^0表示j=1,2,...,n-1时的特征值之和。
主成分相关矩阵与协方差矩阵
主成分相关矩阵与协方差矩阵主成分分析是一种常用的降维技术,用于将高维数据转化为低维空间以便更好地理解和分析数据。
在主成分分析中,我们常常需要使用主成分相关矩阵和协方差矩阵来帮助进行分析。
主成分相关矩阵是主成分分析中的一个重要工具。
它是由原始数据的相关系数矩阵通过线性变换得到的,其中每个元素表示对应两个主成分之间的相关性。
主成分相关矩阵的特征值和特征向量可以给出主成分的方差和方向,从而帮助我们选择合适的主成分。
协方差矩阵是另一个常用的工具,它用于衡量两个随机变量之间的关系。
在主成分分析中,我们常常使用协方差矩阵来计算原始数据的特征值和特征向量,从而得到主成分。
协方差矩阵的特征值表示主成分的方差,特征向量表示主成分的方向。
主成分相关矩阵和协方差矩阵之间有着密切的关系。
事实上,它们是可以通过线性变换相互转化的。
具体来说,主成分相关矩阵可以通过协方差矩阵和主成分的标准差得到。
而协方差矩阵则可以通过主成分相关矩阵和主成分的标准差得到。
主成分相关矩阵和协方差矩阵在主成分分析中起着重要的作用。
它们可以帮助我们理解数据的结构,找到数据中的主要特征,并进行降维处理。
通过分析主成分相关矩阵和协方差矩阵,我们可以得到主成分的方差和方向,从而确定哪些主成分是重要的,哪些是可以忽略的。
在实际应用中,主成分相关矩阵和协方差矩阵可以用于多种领域。
例如,在金融领域中,它们可以用于分析资产之间的相关性,帮助投资者进行资产配置和风险管理。
在生物领域中,它们可以用于分析基因表达数据,帮助研究人员发现关键的基因和生物过程。
在工程领域中,它们可以用于分析传感器数据,帮助工程师识别故障和改进系统性能。
主成分相关矩阵和协方差矩阵是主成分分析中的重要工具。
它们可以帮助我们理解数据的结构,找到数据中的主要特征,并进行降维处理。
通过分析主成分相关矩阵和协方差矩阵,我们可以得到主成分的方差和方向,从而确定哪些主成分是重要的,哪些是可以忽略的。
在实际应用中,它们可以用于多种领域,帮助我们进行数据分析和决策。
主成分分析(PCA)数学原理详解
主成分分析(PCA)数学原理详解PCA的数学原理可以分为以下几个步骤:1.数据中心化PCA首先将原始数据进行中心化处理,即将每个特征的均值减去相应特征的平均值,这是因为PCA假设数据围绕着原点分布,中心化可以消除数据的平移影响。
2.协方差矩阵的计算PCA的关键是计算数据的协方差矩阵。
协方差矩阵描述了不同特征之间的相关性。
对于一个n维的数据集,协方差矩阵是一个n×n的矩阵,其中第(i,j)个元素表示第i个特征和第j个特征的协方差。
协方差矩阵的计算公式如下:$C = \frac{1}{n-1} \sum _{i=1}^{n}(X_i - \overline{X})(X_i - \overline{X})^T$其中,X是一个n×m的矩阵,表示n个样本的m个特征,$\overline{X}$ 表示特征均值向量协方差矩阵是一个对称矩阵,通过对协方差矩阵的特征值分解,可以得到特征值和特征向量。
3.特征值和特征向量的计算对协方差矩阵进行特征值分解,可以得到特征值和对应的特征向量。
特征值代表了数据在特征向量方向上的方差,而特征向量表示了数据的主成分方向。
设协方差矩阵为C,有如下特征值方程:$Cv = \lambda v$其中,v是特征向量,λ是特征值。
将特征值按从大到小的顺序排序,选择前k个最大的特征向量,即主成分,作为新的基向量。
这些特征向量构成了一个新的坐标系,用于表示原始数据的新坐标。
4.数据转换将原始数据投影到新的坐标系上,得到降维后的数据。
设原始数据集为X,新的基向量为V(由前k个特征向量组成),降维后的数据集为Y,可以通过如下公式计算:$Y=XV$其中,X是一个n×m的矩阵,表示n个样本的m个特征,V是一个m×k的矩阵,Y是一个n×k的矩阵。
通过PCA降维,可以获得降维后的数据集Y,它是一个n×k的矩阵。
总结:主成分分析(PCA)通过计算数据的协方差矩阵,得到协方差矩阵的特征值和特征向量。
主成分分析法的原理应用及计算步骤
主成分分析法的原理应用及计算步骤1.计算协方差矩阵:首先,我们需要将原始数据进行标准化处理,即使每个特征都有零均值和单位方差。
假设我们有m个n维样本,数据集为X,标准化后的数据集为Z。
那么,计算协方差矩阵的公式如下:Cov(Z) = (1/m) * Z^T * Z其中,Z^T为Z的转置。
2.计算特征向量:通过对协方差矩阵进行特征值分解,可以得到特征值和特征向量。
特征值表示了新坐标系中每个特征的重要性程度,特征向量则表示了数据在新坐标系中的方向。
将协方差矩阵记为C,特征值记为λ1, λ2, ..., λn,特征向量记为v1, v2, ..., vn,那么特征值分解的公式如下:C*v=λ*v计算得到的特征向量按特征值的大小进行排序,从大到小排列。
3.选择主成分:从特征向量中选择与前k个最大特征值对应的特征向量作为主成分,即新坐标系的基向量。
这些主成分可以解释原始数据中大部分的方差。
我们可以通过设定一个阈值或者看特征值与总特征值之和的比例来确定保留的主成分个数。
4.映射数据:对于一个n维的原始数据样本x,通过将其投影到前k个主成分上,可以得到一个k维的新样本,使得新样本的方差最大化。
新样本的计算公式如下:y=W*x其中,y为新样本,W为特征向量矩阵,x为原始数据样本。
PCA的应用:1.数据降维:PCA可以通过主成分的选择,将高维数据降低到低维空间中,减少数据的复杂性和冗余性,提高计算效率。
2.特征提取:PCA可以通过寻找数据中的最相关的特征,提取出主要的信息,从而减小噪声的影响。
3.数据可视化:通过将数据映射到二维或三维空间中,PCA可以帮助我们更好地理解和解释数据。
总结:主成分分析是一种常用的数据降维方法,它通过投影数据到一个新的坐标系中,使得投影后的数据具有最大的方差。
通过计算协方差矩阵和特征向量,我们可以得到主成分,并将原始数据映射到新的坐标系中。
PCA 在数据降维、特征提取和数据可视化等方面有着广泛的应用。
从协方差矩阵出发求解主成分例题
主题:从协方差矩阵出发求解主成分例题内容:1. 概述- 主成分分析是一种常用的数据降维方法,通过寻找数据中的主要变化方向,将高维数据降为低维,便于数据的分析和可视化。
在主成分分析中,协方差矩阵是一个重要的数学工具,可以帮助我们求解主成分。
2. 协方差矩阵- 我们来介绍一下协方差矩阵。
假设我们有n个样本,每个样本有m个特征,我们可以将这些样本表示为一个n*m的矩阵X。
协方差矩阵的定义如下:- 计算X的每一列的均值向量,记为μ,然后将X的每一列减去对应的均值向量,得到一个新的矩阵X'。
- 计算X'的转置矩阵与X'的乘积,再除以n-1,就得到了协方差矩阵C。
- 协方差矩阵反映了不同维度之间的变化趋势,主成分分析的核心就是通过协方差矩阵找到变化最大的方向,从而实现数据的降维。
3. 求解主成分- 在得到协方差矩阵C之后,我们可以利用它来求解主成分。
假设v 是一个长度为m的单位向量,我们的目标是找到一个v使得v'Cv最大,其中v'表示v的转置。
- 由于C是一个对称矩阵,根据线性代数的知识,我们知道对称矩阵一定可以对角化,也就是存在一个正交矩阵P,使得P'CP为对角矩阵D。
对角矩阵D的对角线元素就是C的特征值,P的列向量就是C的特征向量。
- 我们可以将原问题转化为求解C的特征值和特征向量,然后选取对应的特征向量构成新的基,即为主成分。
4. 例题- 假设我们有一个2维的数据集X,其中有5个样本,每个样本包括两个特征。
我们的目标是对这个数据集进行主成分分析,找到主成分。
- 我们需要计算出X的协方差矩阵C。
求解C的特征值和特征向量。
- 假设计算得到C的特征值为λ1和λ2,对应的特征向量为v1和v2。
我们选择特征值最大的前k个特征向量构成新的基,即为主成分。
5. 结论- 通过以上的例题,我们可以看到主成分分析是一个基于协方差矩阵的方法,通过求解协方差矩阵的特征值和特征向量来实现数据的降维,找到数据中的主要变化方向。
多元分析公式主成分分析因子分析的计算方法
多元分析公式主成分分析因子分析的计算方法多元分析公式——主成分分析和因子分析的计算方法多元分析是一种统计分析方法,用于研究多个变量之间的关系和相互作用。
在多元分析中,一种常见的计算方法是主成分分析和因子分析。
本文将介绍这两种方法的计算公式和步骤,帮助读者了解并掌握它们的应用。
一、主成分分析主成分分析是一种通过线性变换将多个相关变量转换为少数几个无关变量(主成分)的方法。
它可以帮助我们减少数据集的维度,提取主要特征,并发现变量之间的模式。
下面是主成分分析的计算方法:1. 样本协方差矩阵的计算首先,我们需要计算原始变量之间的协方差矩阵。
协方差矩阵的元素是原始变量之间的协方差值,可以通过以下公式计算:Cov(X,Y)=Σ[(X_i-μ_X)(Y_i-μ_Y)]/n其中,X和Y分别表示两个原始变量,X_i和Y_i表示样本中的具体观测值,μ_X和μ_Y分别表示X和Y的样本均值,n是样本数量。
2. 特征值和特征向量的计算在计算样本协方差矩阵后,我们可以计算出它的特征值和特征向量。
特征值代表每个主成分的解释力度,特征向量则代表每个主成分的方向。
特征值和特征向量可以通过使用数学软件或计算工具来进行计算和获取。
3. 主成分的计算接下来,我们根据每个特征值对应的特征向量,将原始变量进行线性组合,得到主成分。
通常,我们选择特征值较大的几个主成分来解释大部分的方差。
主成分的计算公式如下:PC1=a_11X_1+a_12X_2+...+a_1kX_kPC2=a_21X_1+a_22X_2+...+a_2kX_k...PCm=a_m1X_1+a_m2X_2+...+a_mkX_k其中,PC1到PCm分别表示主成分,a_ij表示特征向量矩阵的元素,X_1到X_k表示原始变量。
二、因子分析因子分析是一种用于确定观测数据背后的更基本的、不可观测的潜在变量(因子)的方法。
它可以帮助我们理解数据背后的结构,并将多个指标归结为更少的几个潜在因子。
多元统计分析中的协方差矩阵与主成分分析
多元统计分析中的协方差矩阵与主成分分析在多元统计分析中,协方差矩阵和主成分分析是两个非常重要的概念。
协方差矩阵用于描述随机变量之间的相关性,而主成分分析则是一种通过线性变换将高维数据转化为低维数据的方法。
本文将详细介绍协方差矩阵和主成分分析的原理和应用。
一、协方差矩阵的概念和计算方法协方差矩阵是多元统计分析中用于描述随机变量之间关系的一种矩阵。
对于n个随机变量X1,X2,...,Xn,其协方差矩阵定义为一个n×n的矩阵Σ,其中Σij表示随机变量Xi和Xj之间的协方差。
协方差矩阵的计算方法如下:1. 首先计算随机变量Xi的均值μi和随机变量Xj的均值μj;2. 然后计算随机变量Xi和Xj的协方差Cov(Xi,Xj);3. 将协方差填入协方差矩阵Σ的对应位置。
需要注意的是,协方差矩阵是一个对称矩阵,即Σij=Σji。
同时,协方差矩阵的对角线上的元素是各个随机变量的方差。
二、主成分分析的原理和步骤主成分分析(Principal Component Analysis, PCA)是一种通过线性变换将原始数据转化为具有统计特性的新坐标系的方法。
主成分分析的原理如下:1. 假设我们有m个样本,每个样本有n个特征,可以将这些样本表示为一个m×n的矩阵X;2. 对X进行去均值操作,即将每个特征减去该特征的均值,得到一个新的矩阵X';3. 计算X'的协方差矩阵Σ;4. 对Σ进行特征值分解,得到特征值和对应的特征向量;5. 将特征值按照从大到小的顺序排列,选择前k个特征值对应的特征向量作为主成分;6. 将原始数据X'与主成分构成的新坐标系相乘,得到降维后的数据X''。
通过主成分分析,我们可以将高维的数据降维到低维,并且保留了大部分的信息。
主成分分析在数据降维、特征提取和数据可视化等领域都有广泛的应用。
三、协方差矩阵与主成分分析的应用协方差矩阵和主成分分析在实际应用中有着广泛的应用。
主成分得分的步骤
主成分得分的步骤主成分分析(PCA)是一种常用的降维技术,它可以将多个相关变量转化为少数几个不相关的主成分。
在实际应用中,我们通常需要计算每个样本在各个主成分上的得分,以便进行后续的分析和建模。
下面是计算主成分得分的步骤:1. 数据标准化:在进行主成分分析之前,需要对数据进行标准化处理,使其均值为0,标准差为1。
这是因为不同的变量可能具有不同的量纲和数值范围,如果不进行处理,可能会导致某些变量对主成分的贡献过大或过小。
2. 计算协方差矩阵:协方差矩阵是一个对称矩阵,它描述了各个变量之间的相关性。
协方差矩阵的第i行第j列的元素表示第i个变量和第j个变量之间的协方差。
3. 计算特征值和特征向量:通过对协方差矩阵进行特征值分解,可以得到若干个特征值和对应的特征向量。
特征值表示了主成分所解释的方差比例,而特征向量则表示了主成分在该方向上的投影。
4. 选择主成分:根据特征值的大小,选择前k个最大的特征值对应的特征向量作为主成分。
这些主成分可以解释原始数据中的大部分信息。
5. 计算主成分得分:利用选定的主成分和标准化后的数据,可以计算出每个样本在各个主成分上的得分。
具体方法是将每个样本在各个变量上的取值与对应的主成分的特征向量相乘,然后求和得到该样本在对应主成分上的得分。
6. 综合得分:如果需要将多个主成分的信息综合起来,可以为每个主成分分配一个权重,然后将各个主成分的得分乘以对应的权重再求和,得到最终的综合得分。
需要注意的是,在实际应用中,为了提高模型的稳定性和可解释性,可能需要对主成分进行旋转操作。
旋转的目的是使得各个主成分之间更加独立,从而更容易解释和应用。
常见的旋转方法有正交旋转(如Varimax)和斜交旋转(如Promax)。
主成分分析原理及详解
主成分分析原理及详解PCA的原理如下:1.数据的协方差矩阵:首先计算原始数据的协方差矩阵。
协方差矩阵是一个对称矩阵,描述了不同维度之间的相关性。
如果两个维度具有正相关性,协方差为正数;如果两个维度具有负相关性,协方差为负数;如果两个维度之间没有相关性,协方差为0。
2.特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
特征值表示该特征向量对应的主成分的方差大小。
特征向量表示数据中每个维度的贡献程度,也即主成分的方向。
3.选择主成分:根据特征值的大小选择前k个主成分,使其对应的特征值之和占总特征值之和的比例达到预定阈值。
这些主成分对应的特征向量构成了数据的新基。
4.数据映射:将原始数据投影到新基上,得到降维后的数据。
投影的方法是将数据点沿着每个主成分的方向上的坐标相加。
PCA的步骤如下:1.数据预处理:对原始数据进行预处理,包括去除均值、缩放数据等。
去除均值是为了消除数据的绝对大小对PCA结果的影响;缩放数据是为了消除数据在不同维度上的量纲差异。
2.计算协方差矩阵:根据预处理后的数据计算协方差矩阵。
3.特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
4.选择主成分:根据特征值的大小选择前k个主成分,其中k是满足预设的方差百分比的最小主成分数量。
5.数据映射:将原始数据投影到前k个主成分上,得到降维后的数据。
PCA的优缺点如下:2.缺点:PCA是一种线性方法,无法处理非线性数据;PCA对异常值敏感,可能会导致降维后的数据失去重要信息;PCA的解释性较差,不易解释主成分和原始数据之间的关系。
综上所述,PCA是一种常用的数据降维方法,通过保留数据的最大方差,将高维数据映射到低维空间。
它的原理基于协方差矩阵的特征值分解,步骤包括数据预处理、计算协方差矩阵、特征值分解、选择主成分和数据映射。
PCA具有很多优点,如无监督学习、重要特征提取和数据压缩等,但也存在一些缺点,如无法处理非线性数据和对异常值敏感。
利用协方差阵求取主成分的步骤和公式
利用协方差阵求取主成分的步骤和公式哎呀,这可是个大学问啊!不过别着急,小智我可是万能的,一定能帮你搞定这个问题。
今天我们就来聊聊如何利用协方差阵求取主成分,让你的数据变得更加简洁明了。
我们得了解一下什么是协方差阵和主成分。
协方差阵,顾名思义,就是用来表示两个变量之间的协方差关系的矩阵。
简单来说,就是一个表格,里面包含了两个变量的所有可能的组合及其对应的协方差值。
而主成分呢,就是指这些协方差值中最大的那个,它能够最大限度地保留原始数据的信息,同时又不会引入太多的噪声。
那么,我们该如何利用协方差阵求取主成分呢?其实步骤还是挺简单的,小智我给你分步讲解一下:第一步,我们需要计算数据的协方差矩阵。
这个过程叫做“中心化”,就是要让每个变量的均值为0。
这样一来,协方差矩阵的对角线元素就是各个变量的方差了。
接下来,我们要计算协方差矩阵的特征值和特征向量。
这个过程叫做“特征分解”,通过这个方法,我们可以得到一个简化后的协方差矩阵和一组新的变量(即主成分)。
第二步,我们需要找到最大的特征值对应的特征向量。
这个特征向量就是我们要找的主成分。
为什么呢?因为这个特征向量的方向是最能代表原始数据的,而且它的长度最大,所以它所包含的信息最多。
当然啦,我们还可以找到其他的特征值对应的特征向量,但是它们的信息量会比主成分少一些。
第三步,我们需要将原始数据投影到主成分上。
这个过程叫做“正交化”,就是要让所有数据都沿着主成分的方向排列。
这样一来,我们就可以得到一个简化后的数据集,其中只包含了最重要的信息。
好啦,现在我们已经知道了如何利用协方差阵求取主成分的方法。
那么,这个过程有什么意义呢?其实啊,主成分分析不仅仅是一种统计方法,更是一种降维技术。
它可以帮助我们把大量的复杂数据变得简单易懂,从而更好地进行数据分析和挖掘。
比如说,在金融领域,我们可以通过主成分分析来预测股票的价格走势;在生物医学领域,我们可以通过主成分分析来研究基因之间的相互作用等等。
主成分分析法
主成分分析法主成分分析(Principal Component Analysis,简称PCA)是一种常用的降维方法,它通过线性变换将高维数据转换为低维数据,从而提取出数据的最主要特征。
本文将详细介绍主成分分析的原理、应用以及算法流程。
一、原理主成分分析是一种基于统计学的数据降维方法。
其基本思想是将原始数据通过线性变换,得到一组新的不相关变量,即主成分,用来代替原始变量。
这些主成分在不同维度上的方差依次递减,即第一主成分包含最多的原始变量信息,第二主成分包含不重叠的信息量,以此类推。
主成分分析的目标是最大化原始数据的方差,从而保留尽可能多的信息。
首先,通过计算协方差矩阵来评估各个变量之间的相关性,然后通过特征值分解找出协方差矩阵的特征向量,即主成分。
最后,根据特征值的大小来选择保留的主成分个数。
二、应用主成分分析广泛应用于数据预处理、特征提取和数据可视化等领域。
以下是主成分分析的几个典型应用:1. 数据降维:主成分分析可以将高维数据转换为低维数据,从而减少计算量和存储空间,并提高模型的计算效率。
2. 特征提取:主成分分析可以将原始数据中高度相关的特征转换为互不相关的主成分,保留了原始数据的主要信息。
这样可以提高模型的训练速度和泛化能力。
3. 图像压缩:主成分分析可以将图像的冗余信息去除,从而实现图像的压缩和存储。
通过保留图像中的主要特征,可以在减少存储空间的同时保持图像的质量。
4. 数据可视化:主成分分析可以将高维数据映射到二维空间,从而实现数据的可视化。
通过显示主成分的分布,可以更好地理解数据之间的关系,并发现数据中的模式和异常。
三、算法流程主成分分析的算法流程如下:1. 数据标准化:将原始数据进行标准化处理,使得每个变量具有相同的尺度,从而避免变量之间的差异对主成分的影响。
2. 计算协方差矩阵:根据标准化后的数据计算协方差矩阵,该矩阵表示各个变量之间的相关性。
3. 特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
主成分分析(主元分析,PCA)原理
PCA原理1因为经常做一些图像和信号处理的工作,要用到主元分析(Principal Components Analysis)作为工具。
写出来供自己和朋友参考。
PCA是一种统计技术,经常应用于人面部识别和图像压缩以及信号去噪等领域,是在高维数据中提取模式的一种常用技术。
要了解PCA首先要了解一些相关的数学知识,这里主要介绍协方差矩阵、特征值与特征矢量的概念。
1、协方差矩阵协方差总是在两维数据之间进行度量,如果我们具有超过两维的数据,将会有多于两个的协方差。
例如对于三维数据(x, y, z维),需要计算cov(x,y),cov(y,z)和cov(z,x)。
获得所有维数之间协方差的方法是计算协方差矩阵。
维数据协方差矩阵的定义为(1)这个公式告诉我们,如果我们有一个n维数据,那么协方差矩阵就是一个n行n 列的方矩阵,矩阵的每一个元素是两个不同维数据之间的协方差。
对于一个3维数据(x,y,z),协方差矩阵有3行3列,它的元素值为:(2)需要注意的是:沿着主对角线,可以看到元素值是同一维数据之间的协方差,这正好是该维数据的方差。
对于其它元素,因为cov(a,b)=cov(b,a),所以协方差矩阵是关于主对角线对称的。
2、特征值和特征矢量只要矩阵大小合适,就可以进行两矩阵相乘,特征矢量就是其中的一个特例。
考虑图2.1中两个矩阵和矢量乘法。
图2.1 一个非特征矢量和一个特征矢量的例子图2.2 一个缩放的特征矢量仍然是一个特征矢量在第一个例子中,结果矢量不是原来因子矢量与整数相乘,然而在第二个例子中,结果矢量是原来因子矢量的4倍,为什么会这样呢?该矢量是一个2维空间矢量,表示从原点(0,0)指向点(3,2)的箭矢。
方矩阵因子可以看作是转换矩阵,一个矢量左乘该转换矩阵,意味着原始矢量转换为一个新矢量。
特征矢量来自于转换特性。
设想一个转换矩阵,如果用其左乘一个矢量,映射矢量是它自身,这个矢量(以及它的所有尺度缩放)就是该转换矩阵的特征矢量。
利用协方差阵求取主成分的步骤和公式
利用协方差阵求取主成分的步骤和公式下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!利用协方差阵求取主成分的步骤和公式引言在统计学和机器学习领域,主成分分析(Principal Component Analysis,PCA)是一种常用的降维技术,它能够将高维数据转换成低维数据,同时尽可能保留原始数据的信息。
主成分分析公式学习主成分分析的数学公式
主成分分析公式学习主成分分析的数学公式主成分分析(Principal Component Analysis,简称PCA)是一种常用的数据降维技术,通过线性变换将原始数据的维度降低,从而获得更为紧凑的表示。
学习主成分分析的数学公式是理解和应用该方法的基础。
在PCA中,我们首先通过计算数据的协方差矩阵来评估不同维度之间的相关性。
协方差反映了两个变量之间的线性关系程度。
对于具有n个特征的数据集,协方差矩阵的维度将是n × n。
协方差矩阵的(i, j)元素表示第i个特征与第j个特征之间的协方差。
接下来,我们需要对协方差矩阵进行特征值和特征向量分解。
特征值代表了协方差矩阵在特征向量方向上的投影大小,而特征向量则表示这些特征的方向。
若特征值非零,则存在一个与之对应的特征向量。
记协方差矩阵为C,特征值为λ1, λ2, ..., λn,特征向量为v1, v2, ..., vn,那么我们可以得到以下公式:C * v = λ * v其中,v是一个n维特征向量,λ是对应的特征值。
对于PCA,我们希望找到k个主成分(k < n),这k个主成分能够最大化数据的方差。
方差是数据分布的度量,我们希望能够保留数据中最具信息量的变量。
为了保留最大方差,我们选择具有最大特征值的k个特征向量,它们将作为主成分。
换句话说,我们选择对应于最大特征值的列向量,这样就能够决定在新的坐标系下数据的投影。
假设我们选择了m个主成分,那么我们可以得到降维后的数据集X'。
对于原始数据集X中的每一个样本xi,通过以下公式将其映射到低维空间:xi' = W^T * xi其中,xi'是降维后的样本,W是由前m个主成分组成的矩阵。
最后,我们可以通过计算降维后数据的方差来评估主成分分析的效果。
方差度量了数据在每个主成分上的分散程度。
如果数据在某个主成分上的方差很小,那么该主成分可能不太重要,可以选择舍弃。
通过学习主成分分析的数学公式,我们可以更好地理解该方法并应用于实际问题中。
主成分分析的基本原理
主成分分析的基本原理1.数据标准化:在应用PCA之前,通常需要对数据进行标准化处理,确保数据的均值为0,方差为1、这是因为PCA是在协方差矩阵的基础上进行计算的,如果数据的尺度不一致,可能会导致一些特征比其他特征更具影响力。
2.协方差矩阵计算:PCA的核心在于计算数据的协方差矩阵。
协方差矩阵描述了不同特征之间的相关性,每个元素表示两个特征之间的协方差。
如果两个特征的值一起增加或减少,它们之间的协方差将是正的;如果它们的值是相互独立的,协方差将为0。
3.特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
特征值表示了协方差矩阵对应特征向量方向上的方差大小。
特征向量是协方差矩阵的特征值对应的向量,每个特征向量对应一组主成分。
4.特征值排序:特征值表示每个主成分的重要性,数值越大表示对应主成分解释的方差越大。
因此,将特征值从大到小排序,可以确定哪些主成分是最重要的。
5.特征向量选择:根据特征值排序的结果,选择与最大特征值对应的特征向量作为第一个主成分,选择与第二大特征值对应的特征向量作为第二个主成分,以此类推。
6.数据转换:将原始数据投影到所选择的主成分上,得到降维后的数据。
这相当于在保留较高方差的数据方向上进行投影,以减少数据的维度。
通过上述步骤,PCA通过将相关性较低的特征组合为主成分,减小了数据的维度,同时保留了尽可能多的原始信息。
主成分是原始特征的线性组合,使得投影后的数据在主成分上的方差最大化。
这样一来,使用较少的主成分即可表示数据的大部分方差,实现了对数据的有效降维。
同时,主成分也可以用于数据可视化、去噪、特征提取等其他任务。
因此,PCA 在机器学习和数据分析中得到了广泛的应用。
协方差矩阵与主成成分分析(整理后)
统计学的基本概念统计里最基本的概念就是样本的均值,方差,或者再加个标准差。
首先我们给你一个含有n个样本的集合,依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。
均值:标准差:方差:很显然,均值描述的是样本集合的中间点,它告诉我们的信息是很有限的,而标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。
以这两个集合为例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差别是很大的,计算两者的标准差,前者是8.3,后者是1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。
之所以除以n-1而不是除以n,是因为这样能使我们以较小的样本集更好的逼近总体的标准差,即统计上所谓的“无偏估计”。
而方差则仅仅是标准差的平方。
为什么需要协方差?上面几个统计量看似已经描述的差不多了,但我们应该注意到,标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集,最简单的大家上学时免不了要统计多个学科的考试成绩。
面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:来度量各个维度偏离其均值的程度,标准差可以这么来定义:协方差的结果有什么意义呢?如果结果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),那必须的~结果为负值就说明负相关的,如果为0,也是就是统计上说的“相互独立”。
从协方差的定义上我们也可以看出一些显而易见的性质,如:协方差多了就是协方差矩阵上一节提到的猥琐和受欢迎的问题是典型二维问题,而协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算个协方差,那自然而然的我们会想到使用矩阵来组织这些数据。
给出协方差矩阵的定义:这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有三个维度,则协方差矩阵为可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。
高级数据分析技巧Excel的协方差矩阵与主成分分析
高级数据分析技巧Excel的协方差矩阵与主成分分析高级数据分析技巧:Excel的协方差矩阵与主成分分析Excel作为一款常用的电子表格软件,拥有丰富的数据分析功能。
在数据分析中,协方差矩阵和主成分分析是两个常用的工具,可以帮助我们理解变量之间的关系以及降低数据维度。
本文将介绍Excel中如何使用协方差矩阵和主成分分析进行高级数据分析。
一、协方差矩阵协方差矩阵是用来衡量变量之间相关性的矩阵。
在Excel中,可以使用COVARIANCE.P函数来计算协方差矩阵。
1. 准备数据首先,我们需要准备数据。
假设我们有两个变量X和Y,我们要计算它们的协方差。
我们将X的观测值储存在A列,Y的观测值储存在B列。
2. 计算协方差矩阵在Excel中,可以通过输入以下公式来计算协方差矩阵:=COVARIANCE.P(A:A, B:B)其中,A:A和B:B表示A列和B列的所有观测值。
3. 将公式拖动至其他单元格在得到了第一个协方差的数值后,我们可以将公式拖动至其他单元格,以计算出其他变量之间的协方差。
这样,我们就可以得到完整的协方差矩阵。
二、主成分分析主成分分析是一种常用的数据降维技术,可以帮助我们发现数据中潜在的关联和结构。
在Excel中,可以使用Data Analysis工具包中的主成分分析功能进行分析。
1. 启用Data Analysis工具包首先,我们需要启用Excel中的Data Analysis工具包。
点击Excel 菜单中的“文件”,再选择“选项”,在弹出的窗口中选择“加载项”,然后勾选“分析工具Pak”,最后点击“确认”按钮。
2. 打开Data Analysis工具包在Excel的标签栏中选择“数据”选项卡,在数据工具组中会看到“数据分析”按钮。
点击该按钮,将弹出Data Analysis对话框。
3. 选择主成分分析功能在Data Analysis对话框中,选择“主成分分析”功能,然后点击“确定”按钮。
4. 选择数据范围和输出选项在主成分分析对话框中,选择输入数据的范围,可以是一个数据区域或者一个数据表。
再谈协方差矩阵之主成分分析
再谈协方差矩阵之主成分分析自从上次谈了协方差矩阵之后,感觉写这种科普性文章还不错,那我就再谈一把协方差矩阵吧。
上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Component Analysis,简称PCA)。
结合PCA相信能对协方差矩阵有个更深入的认识~PCA的缘起PCA大概是198x年提出来的吧,简单的说,它是一种通用的降维工具。
在我们处理高维数据的时候,为了能降低后续计算的复杂度,在“预处理”阶段通常要先对原始数据进行降维,而PCA就是干这个事的。
本质上讲,PCA就是将高维的数据通过线性变换投影到低维空间上去,但这个投影可不是随便投投,要遵循一个指导思想,那就是:找出最能够代表原始数据的投影方法。
这里怎么理解这个思想呢?“最能代表原始数据”希望降维后的数据不能失真,也就是说,被PCA降掉的那些维度只能是那些噪声或是冗余的数据。
这里的噪声和冗余我认为可以这样认识:•噪声:我们常说“噪音污染”,意思就是“噪声”干扰我们想听到的真正声音。
同样,假设样本中某个主要的维度A,它能代表原始数据,是“我们真正想听到的东西”,它本身含有的“能量”(即该维度的方差,为啥?别急,后文该解释的时候就有啦~)本来应该是很大的,但由于它与其他维度有那么一些千丝万缕的相关性,受到这些个相关维度的干扰,它的能量被削弱了,我们就希望通过PCA处理后,使维度A与其他维度的相关性尽可能减弱,进而恢复维度A应有的能量,让我们“听的更清楚”!•冗余:冗余也就是多余的意思,就是有它没它都一样,放着就是占地方。
同样,假如样本中有些个维度,在所有的样本上变化不明显(极端情况:在所有的样本中该维度都等于同一个数),也就是说该维度上的方差接近于零,那么显然它对区分不同的样本丝毫起不到任何作用,这个维度即是冗余的,有它没它一个样,所以PCA应该去掉这些维度。
主成分分析的计算步骤
主成分分析的计算步骤1.数据预处理:首先,对原始数据进行预处理,包括数据清洗、缺失值处理、标准化等。
确保数据的质量以及统一度,以便更好地进行后续计算。
2.计算协方差矩阵:得到预处理后的数据后,计算协方差矩阵。
协方差矩阵可以反映不同变量之间的相关性。
协方差矩阵大小为n×n,其中n 是原始变量的个数。
3.计算特征值和特征向量:通过对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。
特征值是一个标量,表示对应特征向量的重要程度。
特征向量是一个n维列向量,代表主成分的方向。
4.特征值排序:将特征值按照大小降序排列,对应的特征向量也要相应地排序。
一般来说,特征值越大,对应的特征向量表示的主成分的重要性越高。
5.选择主成分数量:根据前面排好序的特征值和特征向量,确定需要选择的主成分数量。
一般可以根据累计贡献率来决定。
累计贡献率是指前k个主成分的特征值之和占总特征值之和的比例,一般要求累计贡献率达到一定的阈值,例如90%以上。
6.构建降维矩阵:根据选择的主成分数量,取对应的特征向量组成一个降维矩阵。
该降维矩阵的大小是n×k,其中n是原始变量的个数,k是选择的主成分数量。
7.数据降维:将原始数据与降维矩阵相乘,得到降维后的数据矩阵。
降维后的数据矩阵的大小是m×k,其中m是样本数量,k是选择的主成分数量。
8.主成分解释:计算降维后的数据矩阵的方差占比和累计方差占比。
方差占比是降维后的数据矩阵的方差占总方差的比例,累计方差占比是指前k个主成分的方差占总方差的比例。
通过方差占比和累计方差占比,可以评估主成分分析的效果和解释程度。
9.主成分得分:将降维后的数据矩阵乘以降维矩阵的转置,得到主成分得分矩阵。
主成分得分矩阵的大小是m×n,其中m是样本数量,n是原始变量的个数。
主成分得分表示每个样本在主成分上的投影值,可以用于后续的机器学习任务和数据可视化。
总结:主成分分析的计算步骤包括数据预处理、计算协方差矩阵、计算特征值和特征向量、特征值排序、选择主成分数量、构建降维矩阵、数据降维、主成分解释、主成分得分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
今天看论文的时候又看到了协方差矩阵这个破东西,以前看模式分类的时候就特困扰,没想到现在还是搞不清楚,索性开始查协方差矩阵的资料,恶补之后决定马上记录下来,嘿嘿~本文我将用自认为循序渐进的方式谈谈协方差矩阵。
统计学的基本概念学过概率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。
首先我们给你一个含有n个样本的集合,依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。
均值:标准差:方差:很显然,均值描述的是样本集合的中间点,它告诉我们的信息是很有限的,而标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。
以这两个集合为例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差别是很大的,计算两者的标准差,前者是8.3,后者是1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。
之所以除以n-1而不是除以n,是因为这样能使我们以较小的样本集更好的逼近总体的标准差,即统计上所谓的“无偏估计”。
而方差则仅仅是标准差的平方。
为什么需要协方差?上面几个统计量看似已经描述的差不多了,但我们应该注意到,标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集,最简单的大家上学时免不了要统计多个学科的考试成绩。
面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,比如,一个男孩子的猥琐程度跟他受女孩子欢迎程度是否存在一些联系啊,嘿嘿~协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:来度量各个维度偏离其均值的程度,标准差可以这么来定义:协方差的结果有什么意义呢?如果结果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),也就是说一个人越猥琐就越受女孩子欢迎,嘿嘿,那必须的~结果为负值就说明负相关的,越猥琐女孩子越讨厌,可能吗?如果为0,也是就是统计上说的“相互独立”。
从协方差的定义上我们也可以看出一些显而易见的性质,如:协方差多了就是协方差矩阵上一节提到的猥琐和受欢迎的问题是典型二维问题,而协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算个协方差,那自然而然的我们会想到使用矩阵来组织这些数据。
给出协方差矩阵的定义:这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有三个维度,则协方差矩阵为可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。
Matlab协方差实战上面涉及的内容都比较容易,协方差矩阵似乎也很简单,但实战起来就很容易让人迷茫了。
必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。
这个我将结合下面的例子说明,以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数(蓝色部分为Matlab代码)。
首先,随机产生一个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。
1 M ySample = fix(rand(10,3)*50)根据公式,计算协方差需要计算均值,那是按行计算均值还是按列呢,我一开始就老是困扰这个问题。
前面我们也特别强调了,协方差矩阵是计算不同维度间的协方差,要时刻牢记这一点。
样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。
为了描述方便,我们先将三个维度的数据分别赋值:123dim1 = MySample(:,1); dim2 = MySample(:,2); dim3 = MySample(:,3); 计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:1 2 3 sum( (dim1-mean(dim1)) .* (dim2-mean(dim2)) ) / ( size(MySample,1)-1 ) % 得到 74.5333sum( (dim1-mean(dim1)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到 -10.0889sum( (dim2-mean(dim2)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到 -106.4000搞清楚了这个后面就容易多了,协方差矩阵的对角线就是各个维度上的方差,下面我们依次计算: 123std(dim1)^2 % 得到 108.3222 std(dim2)^2 % 得到 260.6222 std(dim3)^2 % 得到 94.1778 这样,我们就得到了计算协方差矩阵所需要的所有数据,调用Matlab 自带的cov 函数进行验证: 1c ov(MySample)把我们计算的数据对号入座,是不是一摸一样?Update :今天突然发现,原来协方差矩阵还可以这样计算,先让样本矩阵中心化,即每一维度减去该维度的均值,使每一维度上的均值为0,然后直接用新的到的样本矩阵乘上它的转置,然后除以(N-1)即可。
其实这种方法也是由前面的公式通道而来,只不过理解起来不是很直观,但在抽象的公式推导时还是很常用的!同样给出Matlab 代码实现:1 2 X = MySample - repmat(mean(MySample),10,1); % 中心化样本矩阵,使各维度均值为0C = (X'*X)./(size(X,1)-1);总结理解协方差矩阵的关键就在于牢记它计算的是不同维度之间的协方差,而不是不同样本之间,拿到一个样本矩阵,我们最先要明确的就是一行是一个样本还是一个维度,心中明确这个整个计算过程就会顺流而下,这么一来就不会迷茫了~P.S.写论文要选Latex ,在wordpress 里编辑公式还得用Latex ,用Latex 还真对得起咱学计算机这张脸~自从上次谈了协方差矩阵之后,感觉写这种科普性文章还不错,那我就再谈一把协方差矩阵吧。
上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Component Analysis ,简称PCA)。
结合PCA 相信能对协方差矩阵有个更深入的认识~ PCA 的缘起PCA 大概是198x 年提出来的吧,简单的说,它是一种通用的降维工具。
在我们处理高维数据的时候,为了能降低后续计算的复杂度,在“预处理”阶段通常要先对原始数据进行降维,而PCA 就是干这个事的。
本质上讲,PCA 就是将高维的数据通过线性变换投影到低维空间上去,但这个投影可不是随便投投,要遵循一个指导思想,那就是:找出最能够代表原始数据的投影方法。
这里怎么理解这个思想呢?“最能代表原始数据”希望降维后的数据不能失真,也就是说,被PCA 降掉的那些维度只能是那些噪声或是冗余的数据。
这里的噪声和冗余我认为可以这样认识:∙噪声:我们常说“噪音污染”,意思就是“噪声”干扰我们想听到的真正声音。
同样,假设样本中某个主要的维度A,它能代表原始数据,是“我们真正想听到的东西”,它本身含有的“能量”(即该维度的方差,为啥?别急,后文该解释的时候就有啦~)本来应该是很大的,但由于它与其他维度有那么一些千丝万缕的相关性,受到这些个相关维度的干扰,它的能量被削弱了,我们就希望通过PCA处理后,使维度A与其他维度的相关性尽可能减弱,进而恢复维度A应有的能量,让我们“听的更清楚”!∙冗余:冗余也就是多余的意思,就是有它没它都一样,放着就是占地方。
同样,假如样本中有些个维度,在所有的样本上变化不明显(极端情况:在所有的样本中该维度都等于同一个数),也就是说该维度上的方差接近于零,那么显然它对区分不同的样本丝毫起不到任何作用,这个维度即是冗余的,有它没它一个样,所以PCA应该去掉这些维度。
这么一分析,那么PCA的最终目的就是“降噪”和消灭这些“冗余”的维度,以使降低维度的同时保存数据原有的特征不失真。
后面我们将结合例子继续讨论。
协方差矩阵——PCA实现的关键前面我们说了,PCA的目的就是“降噪”和“去冗余”。
“降噪”的目的就是使保留下来的维度间的相关性尽可能小,而“去冗余”的目的就是使保留下来的维度含有的“能量”即方差尽可能大。
那首先的首先,我们得需要知道各维度间的相关性以及个维度上的方差啊!那有什么数据结构能同时表现不同维度间的相关性以及各个维度上的方差呢?自然是非协方差矩阵莫属。
回忆下《浅谈协方差矩阵》的内容,协方差矩阵度量的是维度与维度之间的关系,而非样本与样本之间。
协方差矩阵的主对角线上的元素是各个维度上的方差(即能量),其他元素是两两维度间的协方差(即相关性)。
我们要的东西协方差矩阵都有了,先来看“降噪”,让保留下的不同维度间的相关性尽可能小,也就是说让协方差矩阵中非对角线元素都基本为零。
达到这个目的的方式自然不用说,线代中讲的很明确——矩阵对角化。
而对角化后得到的矩阵,其对角线上是协方差矩阵的特征值,它还有两个身份:首先,它还是各个维度上的新方差;其次,它是各个维度本身应该拥有的能量(能量的概念伴随特征值而来)。
这也就是我们为何在前面称“方差”为“能量”的原因。
也许第二点可能存在疑问,但我们应该注意到这个事实,通过对角化后,剩余维度间的相关性已经减到最弱,已经不会再受“噪声”的影响了,故此时拥有的能量应该比先前大了。
看完了“降噪”,我们的“去冗余”还没完呢。
对角化后的协方差矩阵,对角线上较小的新方差对应的就是那些该去掉的维度。
所以我们只取那些含有较大能量(特征值)的维度,其余的就舍掉即可。
PCA的本质其实就是对角化协方差矩阵。
下面就让我们跟着上面的感觉来推推公式吧。
假设我们有一个样本集X,里面有N个样本,每个样本的维度为d。
即:将这些样本组织成样本矩阵的形式,即每行为一个样本,每一列为一个维度,得到样本矩阵S:。
我们先将样本进行中心化,即保证每个维度的均值为零,只需让矩阵的每一列除以对应的均值即可。
很多算法都会先将样本中心化,以保证所有维度上的偏移都是以零为基点的。
然后,对样本矩阵计算其协方差矩阵,按照《浅谈协方差矩阵》里末尾的update,我们知道,协方差矩阵可以简单的按下式计算得到:下面,根据我们上文的推理,将协方差矩阵C对角化。
注意到,这里的矩阵C是是对称矩阵,对称矩阵对角化就是找到一个正交矩阵P,满足:。
具体操作是:先对C进行特征值分解,得到特征值矩阵(对角阵)即为,得到特征向量矩阵并正交化即为。
显然,。
假如我们取最大的前p(p<d)个特征值对应的维度,那么这个p个特征值组成了新的对角阵,对应的p个特征向量组成了新的特征向量矩阵。