APP下载

SIMCA分类法中主成分分析算法的研究

2017-06-02龙草芳

数字技术与应用 2017年4期
关键词:模式识别主成分分析

龙草芳

摘要:模式识别是研究用计算机模拟人的识别能力,对不同类型形式的数据进行描述、分类、识别等有关的理论和方法。SIMCA方法是基于主成分分析之上的一种模式识别方法,本文对SIMCA分类法中主成分分析的算法进行了比较研究,并在MATLAB中进行了模拟和结果比较。

关键词:模式识别;SIMCA分类法;主成分分析

中图分类号:R965; O6204 文献标识码:A 文章编号:1007-9416(2017)04-0145-02

1 基于主成分分析的SIMCA分类法[1]

SIMCA(Soft Independent Modeling Class Analog)是由瑞典化学家Wold于1976年提出的一种基于主成分分析(PCA,Principal component analysis)的分类方法。它利用先验分类知识,对每一种类别建立一个PCA模型,然后利用这些建立的模型判断未知样本的归属。SIMCA方法是通过F检验设定分类的置信区间,针对每个类,其F检验的两个维度的自由度分别为:(M-A)和(n-A-1)(M-A),其中M为变量数(变量数对每类应该是一样的),A为该类的有效主成分数,n为该类的样本数。对化学测量来说,一般样本数n都远远小于测量变量数M,为使每个维度的自由度大于0,请注意样本数、变量数和选择的主成分数之间的关系。

1.1 原理

SIMCA方法是一种建立在主成分分析基礎上的模式识别方法,其基本思路是先利用PCA分析建立每个类别的模型,然后计算未知样本与PCA模型的距离,根据距离判别方法判别分析,以确定其属于哪一类或不属于哪一类。

1.2 计算过程

SIMCA方法的计算过程流程图如图1所示, 通过图示过程,可以看出SIMCA分类法是多次使用主成分分析方法,首先利用PCA分析得到整个样本的分类,然后,为每一个类建立PCA模型,最后用它们来判别未知样本的类别。

从上述讨论可知,在整个SIMCA方法的计算过程中,每一类样本进行了主成分建模,因此主成分分析方法对结果起决定作用。

2 主成分分析

主成分分析(Principal components analysia)是由Hotelling于1933年首先提出的。PCA是将多个指标的数据进行降维化为少数几个指标的一种方法,它在尽可能保留原有信息的基础上将样本指标数压缩,使数据矩阵简化,降低维数,由少数几个原始变量线性组合的“有效”特征成分来揭示数据结构特征,提取主要信息。

2.1 主成分分析基本原理

人们在对具体事物进行研究时,为了更详细全面的了解事物的特性,常常会涉及到多指标问题,为获取可靠信息,往往考虑尽可能相关的多个指标去观测,而在实际问题中多指标也增加了问题的复杂度,指标之间总是有一定的相关性及信息重叠,我们希望用较少的指标反映事物的特征。基于此,就产生了主成分分析,主成分分析是通过分析可观测的指标,提取几个较少的综合指标以揭示原来变量绝大多数信息的一种多元统计方法[2,3,4]。

综上所述,利用PCA得到的主成分与原始变量的关系可以归结如下:

(1)每一个主成分都是原始变量的线形组合(2)主成分的数目明显小于原始变量的数目

(3)主成分带有原始变量的大部分信息(4)各主成分之间互不相关。

2.2 主成分分析算法[5-14]

2.2.1 特征值分解

对数据进行预处理,得到矩阵X,又通过计算得到协方差矩阵Z,最后根据协方差矩阵得到特征值和特征矢量,这种计算过程称为特征值分解方法。计算过程在MATLAB语言环境中,用一个语句[V,D]=eig(X)就可得到特征值对角阵D和满秩正交矢量阵V,且XV=VD。

2.2.2 奇异值分解

奇异值分解是另一种对数据矩阵进行求解的方法,它更稳定用途广泛。利用MATLAB语言对数据矩阵Xnm作奇异值分解,[U,S,V]=svd(X),可得

式中,U、S和V的大小分别为n×r、r×r和m×r,且U′U=Ir×r,V′V=Ir×r,X′X=VS2V′, XX′=US2U′。

与下节中的X=TP相比,可知T=US,P=V′且λ=S2,即实数矩阵的特征值等于相应奇异值的二次方。由于svd性能优异且表示简洁,已被广泛采用。

2.2.3 NIPALS法

计算主成分的方法还有非线性迭代偏最小二乘法(nonlinear iterative partial least squires,NIPALS)。这一方法以所需计算机内存少、易于实现著称。

以对m个变量的n次观测值组成一个矩阵为例

X=

假定Xn×m的秩为r[r

这些秩为1的矩阵Zh,可以表示为两个向量的外积[其中向量之一称为得分向量(score),维数为n;另一向量称为载荷向量(loading),维数为m],即,维数为,与X的相同。因此,上式可写为

其矩阵形式表示为

其中,T和P分别由t和p组成。

通常,主成分分析中,人们所关心的是投影操作。通过一种操作使Xn×m向一维空间投影,使得它的每一列用一个标量表示;通过另一种操作使Xn×m向另一维空间投影,使得它的每一行用一个标量表示。这些操作具有很简单的特点,最常用的操作是NIPALS方法。NIPALS方法并不能一次计算出所有主成分。它首先从Xn×m计算出t1和,然后,从Xn×m减去t1和的外积,得到残差矩阵E1。再用E1计算t2和p2,即

NIPALS代数如下:

(1)从Xn×m中任取一向量,将其赋值给,;(2)计算,即;(3)将归一化,即;(4)计算,即;(5);(6)比较步骤4和2中的,如果迭代收敛,停止计算,否则转至步骤继续迭代。

3 算法实现

在MATLAB中分别用三种方法進行主成分分析,如图2所示,处理对象由一个42个样本,351维变量组成的数据矩阵,处理结果如表1。

得分矩阵反映了样本与样本之间的关系,而载荷矩阵反映了变量(如波长、质荷比)之间的关系。

上述两种方法都是对原有多维变量的处理以得到一组较少的线性组合做为新的变量。然而,不像主成分分析是无监督的方法,选取主成分时可能会遗漏一些变量,导致最终的预测模型的可靠性下降。而偏最小二乘在导出组合方向的时候考虑了响应变量的信息,PLS可以找到具有高方差并且与响应变量更有关的方向。PLS是一种因变量对自变量的回归建模方法,可以同时实现回归建模、主成分分析以及两组变量之间的相关性分析,因此,PLS被广泛用于许多领域进行建模。

40.9269 66.1242 74.0180 79.6090 82.6203 85.3744 87.2801 88.6928 89.8915 90.9224 91.7542 92.4988 93.1600 93.7725 94.2798 94.7683 95.2148 95.6012 95.9720 96.3017 96.6237 96.9274 97.2236 97.4806 97.7238 97.9490 98.1480 98.3365 98.5216 98.6905 98.8538 99.0046 99.1528 99.2923 99.4214 99.5394 99.6443 99.7420 99.8357 99.9200 100.0000

参考文献

[1]许禄.化学计量学:一些重要方法的原理及应用[M].北京:科学出版社,2004.2.

[2]李云雁,胡传荣.试验设计与数据处理[M].北京:化学工业出版社,2005.3.

[3]高惠漩.应用多元统计分析[M].北京:北京大学出版社,2005.1.

[4]宫下芳胜,佐佐木慎一.化学计量学:化学模式识别与多变量解析[M].共立出版株式会社,1995.

[5]Sharaf M A,Illman D L,Kowalski B R. Chemometrics. New York:Wiley-Interscience,1986.

[6]Malinowski E R. Factor Analysis in Chemistry.2nd Ed.John Wiley & Scons,Inc,1991.

[7]陆婉珍,袁洪福,徐广通,等.现代近红外光谱分析技术[M].北京:中国石油化工出版社,2000.

[8]何旭初.广义逆矩阵的基本理论和技术方法[M].上海:上海科学技术出版社,1985.

[9]倪国煦.常用的矩阵理论和方法[M].上海:上海科学技术出版社,1984.

[10]程云鹏.矩阵论.第二版[M].西安:西北工业大学出版社,1999.

猜你喜欢

模式识别主成分分析
紫地榆HPLC指纹图谱建立及模式识别
浅谈模式识别在图像识别中的应用
第四届亚洲模式识别会议
基于NAR模型的上海市房产税规模预测
主成分分析法在大学英语写作评价中的应用
江苏省客源市场影响因素研究
SPSS在环境地球化学中的应用
可拓模式识别算法中经典域的确定方法
第3届亚洲模式识别会议
电气设备的故障诊断与模式识别