APP下载

信号处理教学案例:PCA正交变换教学案例

2018-07-18米吉提阿不里米提吾米提尤努斯艾斯卡尔艾木都拉

现代计算机 2018年17期
关键词:对角特征向量特征值

米吉提·阿不里米提,吾米提·尤努斯,艾斯卡尔·艾木都拉

(新疆大学信息科学与工程学院,乌鲁木齐 830046)

0 引言

PCA(Principle Component Analysis)是一个有效、应用广泛的信号转换方法。因为简单、无需多余的附加信息就能从复杂数据中抽取最重要的信息。PCA为降低维度、解开隐藏信息提供了捷径。较少数据冗余度,转换结果比转换前减少至少一个成分。能量集中在前部分。转换结果是个不相关的正交基,即是个正交线性变换。

PCA变换,在不同的应用场合有不同的名字,如Hotelling变换、KL变换POD变换、SVD变换等[1]。它是最简单的特征向量为基础的分析方法,他是通过方差分析数据的方法。由于能量集中在前部分,通过主要部分就可以代表整个多维数据,并达到很好的降维目的。但是,PCA和多个抽象概念领域有密切关系,因此需要简单案例来解释才能达到最佳教学效果[2]。

虽然有很多这方面的资料[3-4],但是要么是过于抽象、难以理解并实现,要么就是概念模糊,所以本文以通俗易懂的方式讲解PCA变换。

1 理论及方法

我们的目的是找到一种变换Z=XW使得ZZT=I,最终使变换后的数据是个对角矩阵,这样变换后相关性就会消除。提取特征向量最好的办法是找出一个对称矩阵。Covariance协方差是很好的对称矩阵,它是正定矩阵,所以有正交特征向量,及实数特征值。

设X_由n个样本构成,每个样本的维数是p,则X_是n行p列,n*p,矩阵。设转换矩阵W是p*p方阵,X_归一化后的PCA变换是Z=XW。转换前及转换后的数据方差为:

covZ,covX都是p*p方阵。covX是对称矩阵,covZ是对角矩阵,即消除了 covX的互相关性。特别需要说明的是,方差的计算方法covX=XTX需要先对样本X_进行归一化后才是正确的。归一化是指,从X_的每列减去该列的平均值。

即:

因为,协方差矩阵是个对称矩阵,它的特征向量之间是互相正交的[2]。这里需要些线性代数知识,尤其是特征向量(eigenvector)分解方法。简单特征向量求解方法如下:

A=cov则Avi=λivi其中λi是特征值,vi是对应的特征向量

VTA=VTLI=AV=LIV,其中,L是由特征值构成的一行[…λi…]

求解方法是:AV=LIV→det(A-LI=)0

V对应的特征向量集,每列一个向量vi

I是单位对角矩阵;V是正交集,对每个向量进行标准化,就变成了标准正交集(orthonormal),我们直接取W=V。标准正交矩阵有性质W-1=WT。

对于对称矩阵 covXW=WTcovX=LW

WTcovXW=LWW-1→WTcovXW=LI=diag(λi)

2 具体实例

简单PCA变换步骤是:

①对X_的标准化。

②covX特征向量的求解,并由大到小排序,排序依据是对应的特征值幅度的大小。

③转换矩阵W的构造。

④计算Z=XW。

假设有三个样本数据X_,对每列归一化变成X,然后计算 covX。

要计算特征值和特征向量,可以用行列式方法

大家可以用Python或MATLAB获得结果。也可以根据行列式的算法构成一个多项式函数,然后求解。

特 征 值L=[λ1λ2λ3λ4]=[9.8630.32400.003]对应的特征向量是:

我们将特征值根据幅度从大到小排列L=[λ1λ2λ4λ3]=[9.8630.3240.0030],对应的特征向量也要换位置。

然后计算PCA变换Z=XW

我们可以看到能量集中在前2列,我们将后2列设置成0,然后进行反变换。

我们可以看到X的值比原始值变化很小。因此,通过小小的损失,将原来的样本的特征从4个减少到2个,有效消除了数据冗余。

3 结语

本文我们用简单概念讲解及实例来详细介绍了PCA转换的方法和步骤。虽然相关资料很多,但大部分资料要么概念形过于抽象,要么实例模糊。我门尽量用最简单的概念和典型的例子将概念和实践联系起来,为学生提供了教学案例。本文可能有不足之处,希望大家给予批评指正。

猜你喜欢

对角特征向量特征值
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
利用LMedS算法与特征值法的点云平面拟合方法
克罗内克积的特征向量
广义α-双链对角占优矩阵线性互补问题误差界的最优值
单圈图关联矩阵的特征值
凯莱图的单特征值
三个高阶微分方程的解法研究
会变形的忍者飞镖
求矩阵特征值的一个简单方法
折大象