PCA降维方法(主成分分析降维)

合集下载

数据处理(一):降维之主成分分析(PCA)

数据处理(一):降维之主成分分析(PCA)

数据处理(⼀):降维之主成分分析(PCA)降维⽬的:样本数据为⾼维数据时,对数据进⾏降维操作,避免模型出现过拟合。

1.过拟合含义:训练集误差⼩,验证集误差⼤。

过拟合三种解决⽅案:1)增加数据集;2)正则化; 3)降维。

2.⾼维灾难:具有⾼维度特征的数据易导致⾼维灾难。

:⾼维灾难含义:⾼维数据分布具有稀疏性;不容易根据特征对数据进⾏分类.3.降维降维分类:1)直接降维(特征选择(lasso))2)线性降维(PCA,MDS)3)⾮线性降维(流形:ISOMAP,LLE)4.【⼀般要求覆盖率达到85%以上】1) PCA本质:将⼀组线性相关的数据通过正交变换转化为⼀组线性⽆关的数据,本质是特征空间的重构+主成分筛选。

2)PCA转化为优化问题:最⼤投影⽅差(最⼩重构距离)最⼤投影⽅差:数据进⾏特征转换后,筛选出投影⽅差最⼤的前q个基变量,即主成分(尽可能多地保留原数据的信息)【最⼩重构代价:数据进⾏特征转换后,筛选出重构代价最⼩的(p-(q+1))个基变量,即被筛掉的特征(使转换筛选后去掉的信息尽可能少),本质和最⼤投影⽅差⼀样】转化为带约束的优化问题:⽤拉格朗⽇乘⼦法求解,输出为主成分P【被筛去的成分P1】 最⼤投影误差 【最⼩重构代价】=> problem: optimization P = argmax P T*S*P 【P T*S*P是变换后样本的协⽅差】 s.t P T P = 1 【P为正交阵】=> solution: P,lambda 【拉格朗⽇乘⼦法通过求解导数为0得出的最优解:当变换矩阵 P 等于协⽅差矩阵S的特征向量时,可以实现⽅差最⼤化】 SP=lambda*P 取 lambda 的前q个最⼤的特征值; 取前q个最⼤的特征值对应的特征向量组成变换矩阵P; newdata=data*T(因为data(nxm):n为样本数,m为特征数,所以右乘变换矩阵;反之则左乘);3)i)均值、协⽅差、中⼼矩阵H(⼏何⾓度理解:将数据平移⾄特征空间的原点)矩阵表⽰:(视频更为清楚,仅为⾃⼰⽅便回顾)X={x1 x2 x3 ... x N}mean: x_bar=1/N*X T*1ncovariance: S=1/N*X T HX || S=1/N*X T X (两者相等?)centering matrix H: H=I N-1/N*1N1N Tii) (的特征值和特征向量)【另⼀种解释可以通过拉格朗⽇乘⼦法公式推导】PCA⽬标:最⼤化特征本⾝的⽅差;最⼩化不同特征间的相关度(这⾥的特征指的是变换后的特征)=> 最⼤化转化后的样本的协⽅差 S1(S1=u T Su);最⼩化S'除了对⾓元素之外的元素。

pca降维例题

pca降维例题

pca降维例题摘要:1.PCA 降维概述2.PCA 降维原理3.PCA 降维例题解析4.PCA 降维的实际应用正文:一、PCA 降维概述PCA(Principal Component Analysis,主成分分析)是一种常见的降维方法,主要通过线性变换将原始数据映射到一个新的坐标系中,使得新坐标系中的各个维度能够较好地解释数据的方差信息。

PCA 降维方法在数据挖掘、机器学习等领域具有广泛的应用。

二、PCA 降维原理PCA 降维的原理是找到一个新的坐标系,使得该坐标系中的各个维度对应原始数据中的主要特征。

具体来说,PCA 降维方法包括以下步骤:1.计算原始数据的协方差矩阵;2.计算协方差矩阵的特征值和特征向量;3.选择特征值最大的前k 个特征向量作为新的坐标轴;4.将原始数据投影到新坐标系上,得到降维后的数据。

三、PCA 降维例题解析假设有一个二维数据集,包含三个样本:(1, 2),(2, 3),(3, 5)。

我们可以通过PCA 降维方法将数据集降维到一条直线上。

1.计算协方差矩阵:(1) (2)(4) (6)(9) (12)= (1/2) * [[1, 2], [2, 3]]= (1/2) * [[1, 0.5], [0.5, 1]]2.计算特征值和特征向量:特征值:1, 1特征向量:[1, 0], [0, 1]3.选择特征值最大的前两个特征向量作为新的坐标轴,即x 轴和y 轴。

4.将原始数据投影到新坐标系上:(1, 2) -> (1, 1)(2, 3) -> (2, 1)(3, 5) -> (3, 2)降维后的数据集为:(1, 1), (2, 1), (3, 2)。

四、PCA 降维的实际应用PCA 降维方法在实际应用中可以帮助我们处理高维数据,减少计算量和噪声,以及更好地挖掘数据中的潜在信息。

PCA(主成分分析)降维算法详解和代码

PCA(主成分分析)降维算法详解和代码

PCA(主成分分析)降维算法详解和代码PCA的原理:1.中心化数据:对原始数据进行中心化处理,即将每个特征减去其均值,使得数据以原点为中心。

2.计算协方差矩阵:计算中心化后的数据的协方差矩阵。

协方差矩阵描述了不同特征之间的关系和相关性。

3.计算特征值和特征向量:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。

特征值代表每个特征的重要性,特征向量表示特征的方向。

4.选择主成分:根据特征值的大小,选择最大的k个特征值对应的特征向量作为主成分。

5.降维:将原始数据投影到所选主成分上,得到降维后的数据。

投影后的数据保留了最重要的特征,且维度减少。

PCA的代码实现:下面是一个基于Numpy库实现PCA算法的示例代码:```pythonimport numpy as npdef pca(X, k):#中心化数据X = X - np.mean(X, axis=0)#计算协方差矩阵cov = np.cov(X.T)#特征值分解eigvals, eigvecs = np.linalg.eig(cov)#选择主成分idx = np.argsort(eigvals)[::-1][:k]eigvecs = eigvecs[:, idx]#降维X_pca = np.dot(X, eigvecs)return X_pca#测试X = np.random.rand(100, 5) # 生成100个样本,每个样本有5个特征k=2#目标降维维度X_pca = pca(X, k)print(X_pca.shape) # 输出降维后的数据维度```在上述代码中,使用`numpy`库进行了主成分分析的各个步骤。

首先,通过计算均值,对原始数据进行中心化。

然后,使用`cov`函数计算协方差矩阵,并通过`numpy.linalg.eig`函数进行特征值分解。

接下来,通过`argsort`函数对特征值进行排序,选择前k个特征值对应的特征向量作为主成分。

pca方法的实现过程

pca方法的实现过程

pca方法的实现过程
主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维方法,它可以将高维数据投影到低维空间,同时保留数据的主要信息。

下面是 PCA 方法的实现过程:
1. 数据标准化:首先,需要对原始数据进行标准化处理,使得每个特征的均值为 0,方差为 1。

这可以通过将每个特征除以其标准差来实现。

2. 计算协方差矩阵:计算标准化后的数据的协方差矩阵。

协方差矩阵表示了各个特征之间的相关性。

3. 计算特征值和特征向量:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。

特征值表示了各个主成分的方差,而特征向量表示了各个主成分的方向。

4. 选择主成分:根据特征值的大小选择主成分。

通常,选择前几个主成分,使得它们的累计方差贡献率达到一个给定的阈值(例如 80%或 90%)。

5. 投影数据:将原始数据投影到选择的主成分上,得到降维后的数据。

投影的过程可以通过将原始数据乘以对应的特征向量来实现。

6. 结果解释:对降维后的结果进行解释和分析。

可以通过观察各个主成分的载荷来了解它们对原始数据的解释能力。

PCA 的实现过程可以通过各种编程语言中的数据分析库来完成,如 Python 中的 NumPy 和 Scikit-learn 库等。

在实际应用中,需要根据具体问题和数据集的特点来选择合适的主成分数量。

希望这个回答对你有帮助。

如果你有任何其他问题,请随时提问。

matlab中的pca降维处理

matlab中的pca降维处理

matlab中的pca降维处理(原创版)目录一、引言二、PCA 降维原理1.降维目的2.PCA 方法简介三、MATLAB 中 PCA 降维处理步骤1.数据预处理2.提取特征值和特征向量3.选择主成分4.投影数据到主成分空间四、MATLAB 中 PCA 降维处理的优点1.计算简便2.降低数据维度3.保留数据主要信息五、结论正文一、引言在数据分析和机器学习领域,降维技术是一种常用的方法,它可以将高维数据映射到低维空间,从而减少计算复杂度,提高算法效率和准确率。

在众多降维方法中,主成分分析(PCA)因其原理简单、计算简便、效果显著等优点而广泛应用。

本文将介绍在 MATLAB 中如何进行 PCA 降维处理。

二、PCA 降维原理1.降维目的降维的目的是在尽量不丢失数据信息的情况下,将数据从高维降到低维。

降维后的数据更容易进行分析和处理,同时可以降低计算复杂度,提高机器学习算法的效率和准确率。

2.PCA 方法简介PCA 是一种线性降维方法,它通过将数据投影到主成分空间来实现降维。

主成分分析首先计算数据的协方差矩阵,然后找到协方差矩阵的特征值和特征向量。

特征向量按照特征值从大到小的顺序排列,前 k 个特征向量作为主成分。

数据经过投影到主成分空间后,可以得到降维后的数据。

三、MATLAB 中 PCA 降维处理步骤1.数据预处理在 MATLAB 中进行 PCA 降维处理前,需要先将数据进行预处理,包括去除异常值、标准化等操作。

去除异常值可以使用“isoutlier”函数判断,标准化可以使用“zscore”函数进行。

2.提取特征值和特征向量MATLAB 中有专门的 PCA 函数可以提取特征值和特征向量,该函数为“pca”。

在使用该函数时,需要将数据按列组成矩阵,然后调用“pca”函数,输入数据矩阵和需要提取的主成分个数。

3.选择主成分根据实际需求,可以选择需要保留的主成分个数。

在 MATLAB 中,可以通过设置“pca”函数的输出参数来实现。

PCA(主成分分析)的原理与应用

PCA(主成分分析)的原理与应用

PCA(主成分分析)的原理与应用简介主成分分析(PCA)是一种常用的多变量数据降维技术,用于发现数据中的主要模式与关系。

通过PCA,可以将高维数据转换为低维表示,从而减少计算复杂度、去除冗余信息、提取关键特征等。

本文将介绍PCA的基本原理和常见的应用场景。

1. PCA的基本原理PCA的基本思想是通过线性变换将原始数据投影到新的坐标系中,新的坐标系由一组互相正交的基向量构成。

这些基向量被称为主成分,每个主成分都是原始数据的一个线性组合。

通过保留最重要的主成分,可以实现数据降维。

1.1 数据标准化在应用PCA之前,通常需要对原始数据进行标准化处理。

标准化可以使不同特征的数据具有相同的尺度,避免某些特征对PCA结果的影响过大。

常见的标准化方法有均值方差标准化和最大最小值标准化。

1.2 协方差矩阵与特征值分解PCA的核心是通过计算协方差矩阵来确定主成分。

协方差矩阵反映了不同维度之间的相关性。

通过对协方差矩阵进行特征值分解,可以得到特征值和特征向量。

特征值表示了数据在对应特征向量方向上的方差,特征向量则表示了变换后的坐标系中各维度的方向。

1.3 选择主成分在进行特征值分解后,主成分的选择是根据特征值的大小进行的。

通常保留较大的特征值对应的特征向量作为主成分,因为这些特征值表示了数据的主要变化模式。

1.4 重构数据通过选取主成分,可以将原始数据投影到新的坐标系中。

重构数据可以通过将原始数据乘以选取的主成分对应的特征向量来实现。

2. PCA的应用场景PCA有广泛的应用场景,以下列举一些常见的应用领域。

2.1 降维与特征选择在高维数据中,存在大量冗余和噪音信息。

通过使用PCA,可以将高维数据降低到较低的维度,并保留重要的特征,从而提高数据的表示效果和计算效率。

2.2 数据压缩与图像处理PCA在数据压缩和图像处理中也有广泛的应用。

通过PCA,可以用较少的数据表示信息量较大的图像,从而实现图像的压缩和存储。

同时,还可以对图像进行去噪、增强和特征提取等操作。

pca的使用方法和注意事项

pca的使用方法和注意事项

PCA的使用方法和注意事项一、PCA简介主成分分析(Principal Component Analysis,PCA)是一种广泛使用的统计方法,用于降维、特征提取和数据可视化。

PCA通过找到数据中的主要模式,将高维数据转换为低维数据,同时保留数据中的主要结构或变化。

这种转换有助于简化数据、减少计算复杂性和提高模型的解释性。

二、PCA使用方法PCA的使用主要包括以下步骤:1.数据预处理:对数据进行标准化或归一化,使其具有零均值和单位方差。

这一步是必要的,因为PCA对数据的规模或量纲敏感。

2.计算协方差矩阵:使用标准化后的数据计算协方差矩阵。

协方差矩阵是一个衡量数据中变量之间相关性的矩阵。

3.特征值分解:对协方差矩阵进行特征值分解,找到最大的特征值及其对应的特征向量。

这一步通常使用数学库(如NumPy、SciPy)进行计算。

4.确定主成分数量:选择前k个最大的特征值对应的特征向量,用于构建主成分。

k通常根据保留的总方差比例或根据应用需求来确定。

5.投影数据:将原始数据投影到选定的主成分上,得到降维后的数据。

这一步可以通过简单的矩阵乘法完成。

三、PCA注意事项在使用PCA时,需要注意以下几点:1.避免解释性陷阱:PCA仅关注方差最大化,而不是解释性最大化。

因此,选择的主成分可能与原始变量有很少或没有解释性联系。

为了提高解释性,可以考虑使用其他降维技术,如因子分析或线性判别分析。

2.处理缺失值:PCA对缺失值敏感,因此在应用PCA之前,应处理或填充缺失值。

常用的方法包括插值、删除缺失值或使用其他数据处理技术。

3.选择合适的维度:选择合适的主成分数量对于结果的解释性和性能至关重要。

保留的主成分数量应根据问题的实际需求来确定,同时应保留足够的解释性以提供有用的信息。

4.比较与其它降维技术:PCA并不是唯一的降维技术,还有许多其他的降维方法可用。

比较不同方法的性能和适用性可以帮助选择最适合特定数据集的方法。

例如,如果目标是分类任务,则可以考虑使用线性判别分析(LDA)。

pca算法的基本原理

pca算法的基本原理

pca算法的基本原理
PCA全称为Principal Component Analysis,翻译成中文就是主成分分析。

它是一种数据降维的方法,可以将高维度的数据转换为低维度的数据,同时保留大部分原始数据的特征。

PCA算法的基本原理如下:
1. 特征提取:对于给定的数据集,首先需要找到其中最重要的特征,即数据集中的主成分。

主成分是指与原始数据最为相关的特征向量,或者说是最能代表原始数据特征的线性组合。

这些特征向量就是数据中的主轴方向,通过它们能够最大程度地解释整个数据集的方差。

通常情况下,只需要选择前几个主成分,就能够保留大部分数据特征。

2. 降维处理:在得到数据集的主成分之后,可以使用这些主成分将原始数据降维到一个低维度的空间。

在这个低维度空间中,数据点之间的距离和分布与原始数据点之间的距离和分布相似。

降维后的数据集可以更容易处理,从而加快了数据分析的速度。

3. 矩阵运算:PCA算法的核心是矩阵运算。

一般来说,PCA算法的实现需要计算数据集的协方差矩阵,通过对协方差矩阵进行SVD分解,即奇异值分解,得到主成分和对应的特征向量。

这些特征向量决定了数据的最主要的方向,可以用来降低数据的维度。

4. 可视化:通过PCA算法得到的降维数据可以进行可视化,便于数据分析和展
示。

在可视化过程中,考虑到主成分中的权重差异,需要进行合适的权重调整才能得到更好的可视化效果。

总之,PCA算法是一种重要的数据降维算法,在数据分析中有着广泛的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、简介
PCA(Principal Components Analysis)即主成分分析,是图像处理中经常用到的降维方法,大家知道,我们在处理有关数字图像处理方面的问题时,比如经常用的图像的查询问题,在一个几万或者几百万甚至更大的数据库中查询一幅相近的图像。

这时,我们通常的方法是对图像库中的图片提取响应的特征,如颜色,纹理,sift,surf,vlad等等特征,然后将其保存,建立响应的数据索引,然后对要查询的图像提取相应的特征,与数据库中的图像特征对比,找出与之最近的图片。

这里,如果我们为了提高查询的准确率,通常会提取一些较为复杂的特征,如sift,surf等,一幅图像有很多个这种特征点,每个特征点又有一个相应的描述该特征点的128维的向量,设想如果一幅图像有300个这种特征点,那么该幅图像就有300*vector(128维)个,如果我们数据库中有一百万张图片,这个存储量是相当大的,建立索引也很耗时,如果我们对每个向量进行PCA处理,将其降维为64维,是不是很节约存储空间啊?对于学习图像处理的人来说,都知道PCA是降维的,但是,很多人不知道具体的原理,为此,我写这篇文章,来详细阐述一下PCA及其具体计算过程:
二、PCA原理
1、原始数据:
为了方便,我们假定数据是二维的,借助网络上的一组数据,如下:
x=[2.5, 0.5, 2.2, 1.9, 3.1, 2.3, 2, 1,1.5, 1.1]T
y=[2.4, 0.7, 2.9, 2.2, 3.0, 2.7, 1.6, 1.1, 1.6, 0.9]T
2、计算协方差矩阵
什么是协方差矩阵?相信看这篇文章的人都学过数理统计,一些基本的常识都知道,但是,也许你很长时间不看了,都忘差不多了,为了方便大家更好的理解,这里先简单的回顾一下数理统计的相关知识,当然如果你知道协方差矩阵的求法你可以跳过这里。

(1)协方差矩阵:
首先我们给你一个含有n个样本的集合,依次给出数理统计中的一些相关概念:
均值:
标准差:
方差:
既然我们都有这么多描述数据之间关系的统计量,为什么我们还要用协方差呢?我们应该注意到,标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集,最简单的大家上学时免不了要统计多个学科的考试成绩。

面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解这几科成绩之间的关系,这时,我们就要用协方差,协方差就是一种用来度量两个随机变量关系的统计量,其定义为:
从协方差的定义上我们也可以看出一些显而易见的性质,如:
需要注意的是,协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算CN2【此乃组合数基本公式】个协方差,那自然而然的我们会想到使用矩阵来组织这些数据。

给出协方差矩阵的定义:
这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有三个维度{x,y,z},则协方差矩阵为
可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。

(2)协方差矩阵的求法:
协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。

下面我们将在matlab 中用一个例子进行详细说明:
首先,随机产生一个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。

[cpp]view plaincopy
1.MySample = fix(rand(10,3)*50)
根据公式,计算协方差需要计算均值,那是按行计算均值还是按列呢,我一开始就老是困扰这个问题。

前面我们也特别强调了,协方差矩阵是计算不同维度间的协方差,要时刻牢记这一点。

样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。

为了描述方便,我们先将三个维度的数据分别赋值:
[cpp]view plaincopy
1.dim1 = MySample(:,1);
2.dim2 = MySample(:,2);
3.dim3 = MySample(:,3);
4.%计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:
5.sum( (dim1-mean(dim1)) .*(dim2-mean(dim2)) ) / ( size(MySample,1)-1 ) %得
到 74.5333
6.sum( (dim1-mean(dim1)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得
到 -10.0889
7.sum( (dim2-mean(dim2)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得
到 -10***000
8.%搞清楚了这个后面就容易多了,协方差矩阵的对角线就是各个维度上的方差,下面我们依次计
算:
9.std(dim1)^2 % 得到 108.3222
10.std(dim2)^2 % 得到 260.6222
11.std(dim3)^2 % 得到 94.1778
12.%这样,我们就得到了计算协方差矩阵所需要的所有数据,调用Matlab自带的cov函数进行验
证:
13.cov(MySample)
可以看到跟我们计算的结果是一样的,说明我们的计算是正确的。

但是通常我们不用这种方法,而是用下面简化的方法进行计算:
先让样本矩阵中心化,即每一维度减去该维度的均值,然后直接用新的到的样本矩阵乘上它的转置,然后除以(N-1)即可。

其实这种方法也是由前面的公式通道而来,只不过理解起来不是很直观而已。

大家可以自己写个小的矩阵看一下就明白了。

其Matlab代码实现如下:[cpp]view plaincopy
1.X = MySample –repmat(mean(MySample),10,1); %中心化样本矩阵
2. C = (X’*X)./(size(X,1)-1)
3.%为方便对matlab不太明白的人,小小说明一下各个函数,同样,对matlab有一定基础的人直
接跳过:
4.%B = repmat(A,m,n ) %%将矩阵 A复制 m×n块,即把 A 作为 B的元素,B由 m×n个 A
平铺而成。

B的维数是 [size(A,1)*m, (size(A,2)*n]
5.%B = mean(A)的说明:
6.%如果你有这样一个矩阵:A = [1 2 3; 3 36; 4 6 8; 4 7 7];
7.%用mean(A)(默认dim=1)就会求每一列的均值
8.% ans =
9.% 3.0000 4.5000 6.0000
10.% 用mean(A,2)就会求每一行的均值
11.% ans =
12.% 2.0000
13.% 4.0000
14.% 6.0000
15.% 6.0000
16.size(A,n)%% 如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将
返回矩阵的行数或列数。

其中r=size(A,1)该语句返回的是矩阵A的行数, %c=size(A,2)该语句返回的是矩阵A的列数
上面我们简单说了一下协方差矩阵及其求法,言归正传,我们用上面简化求法,求出样本的协方差矩阵为:
3、计算协方差矩阵的特征向量和特征值
因为协方差矩阵为方阵,我们可以计算它的特征向量和特征值,如下:
[cpp]view plaincopy
1.[eigenvectors,eigenvalues] = eig(cov)
我们可以看到这些矢量都是单位矢量,也就是它们的长度为1,这对PCA来说是很重要的。

4、选择成分组成模式矢量
求出协方差矩阵的特征值及特征向量之后,按照特征值由大到小进行排列,这将给出成分的重要性级别。

现在,如果你喜欢,可以忽略那些重要性很小的成分,当然这会丢失一些信息,但是如果对应的特征值很小,你不会丢失很多信息。

如果你已经忽略了一些成分,那么最后的数据集将有更少的维数,精确地说,如果你的原始数据是n维的,你选择了前p个主要成分,那么你现在的数据将仅有p维。

现在我们要做的是组成一个模式矢量,这只是几个矢量组成的矩阵的一个有意思的名字而已,它由你保持的所有特征矢量构成,每一个特征矢量是这个矩阵的一列。

对于我们的数据集,因为有两个特征矢量,因此我们有两个选择。

我们可以用两个特征矢量组成模式矢量:
我们也可以忽略其中较小特征值的一个特征矢量,从而得到如下模式矢量:
5、得到降维后的数据
其中rowFeatureVector是由模式矢量作为列组成的矩阵的转置,因此它的行就是原来的模式矢量,而且对应最大特征值的特征矢量在该矩阵的最上一行。

rowdataAdjust是每一维数据减去均值后,所组成矩阵的转置,即数据项目在每一列中,每一行是一维,对我们的样本来说即是,第一行为x维上数据,第二行为y维上的数据。

FinalData是最后得到的数据,数据项目在它的列中,维数沿着行。

这将给我们什么结果呢?这将仅仅给出我们选择的数据。

我们的原始数据有两个轴(x和y),所以我们的原始数据按这两个轴分布。

我们可以按任何两个我们喜欢的轴表示我们的数据。

如果这些轴是正交的,这种表达将是最有效的,这就是特征矢量总是正交的重要性。

我们已经将我们的数据从原来的xy轴表达变换为现在的单个特征矢量表达。

说明:如果要恢复原始数据,只需逆过程计算即可,即:
到此为止,相信你已经掌握了PCA的原理了。

相关文档
最新文档