适合近红外光谱数据特征的降维方法对比分析
moboyou 2025-05-07 13:47 48 浏览
摘 要: 因近红外光谱具有波长点多、谱带归属困难、光谱重叠严重及光谱分布结构未知等问题,在进行近红外光谱关键特征提取和数据特征空间映射时难以准确获知合适降维方法。为了解决该问题,本文对比分析了典型线性和非线性降维方法,并用烟叶近红外光谱数据从数据降维可视化和分类准确性识别率角度分别进行了实验验证。结果表明,线性降维算法,特别是PCA、LDA算法,比较适合应用于烟叶近红外光谱降维分析中,非线性降维算法因其泛化学习能力与推广能力差以及本征维数估计困难不适合应用于近红外光谱降维分析。
0 引言
近红外光谱(NIR)分析技术是近年来分析化学领域迅猛发展的高新分析技术,越来越受到国内外分析专家的关注,在分析化学领域被誉为分析“巨人”。它的出现可以说带来了又一次分析技术的革命。近红外光谱分析技术广泛应用于农产品、化工、医药等领域的质量分析。然而,由于近红外光谱数据具有高维、谱带重叠等特征,给提取样品的关键主成分信息带来了一定程度的困难和挑战。如何实现高维到低维空间的特征映射关系,选择合适降维方法显得尤为重要。近年来,为了解决高维光谱数据降维问题,国内外相继出现大量的降维算法。主成分分析(PCA)[1]和线性识别分析(LDA)[2]是目前应用最为广泛的特征提取与数据降维方法之一。但当分析数据集呈现非线性且数据分布明显弯曲时,采用线性降维方法无法获取数据非线性结构特征。为了更好地解决该问题,先后有不少非线性降维方法被提出,比较经典的有局部线性嵌入LLE算法、等距离映射方法Isomap算法;另外,Sammon[3]提出了一种非线性映射,即Sammon映射(SM),该算法能够保持输入样本之间的相关距离;Hastie[4]提出了Principal Curves(PC),其定义为通过概率分布或数据云中间的“自洽”光滑曲线;Kohonen[5]基于自组织神经网络提出Self-organizing Map(SOM)用来保存数据空间的拓扑属性;Scholkopf[6]应用Mercer核将PCA扩展为Kernel PCA(KPCA),该算法在高维空间中计算主分量,而该高维空间由输入空间经某种非线性映射得到;Mika等[7]采用相同的思想来非线性扩展LDA,从而提出了Kernel LDA(KLDA)。
上述这些线性和非线性降维方法各有特性,适合解决不同类型特征数据,对于近红外光谱而言,需要根据光谱特征找到适合降维和关键特征提取方法,因此,本文重点分析近红外光谱特征,对比分析了线性降维算法与非线性降维算法在提取关键数据特征方面的优缺点,获得一种可行有效的降维方法,并在实际应用中得到较好应用。
1 降维方法
1.1 线性降维方法
主成分分析PCA是目前应用最为广泛的降维方法之一。PCA算法依据的是方差最大化原理,将数据从高维空间向低维空间映射,并使之投影后方向相互正交。主成分大小根据方差大小依次提取。PCA是一种无监督的降维算法,该方法无需考虑数据类别属性,通过某种线性投影变化获得综合变换,综合变量最大化反应了原始光谱数据中所反映的大致规律。
线性判别式分析LDA算法是模式识别的经典算法,其基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,使投影后空间中有最佳的可分离性。但是,PCA和LDA方法中的全局线性属性限制了它们在非高斯分布数据上的有效性。
1.2 两种线性方法的区别
PCA算法是在数据空间中找出一组向量,用此向量尽可能地表达数据的方差,将数据从高维降到低维,其利用K-L变换获得逼近原数据空间的最低维识别空间。LDA算法也是一种线性降维方法,它基于分类的思想对数据进行降维,即它希望降维后的数据在分类后间距尽可能的大。
1.3 两种线性方法的结合PCA+LDA
根据PCA与LDA的特点,可将二者进行结合使用。设训练样本为xi∈Rm×n,i=1,2,…,N,N表示训练样本数,训练样本的协方差矩阵Q为XXT,然后计算协方差矩阵的特征值与特征向量,并取其较大d个特征值对应的特征向量,组成PCA算法的特征子空间W1;在样本数小于样本维数时,直接运用LDA算法会出现小样本问题,即Sw奇异,此时无法求出Sw-1Sb的特征向量,其中Sw为类内散布矩阵,Sb为类间散布矩阵。依据PCA算法的特征子空间W1,结合使用PCA、LDA算法时Sw与Sb分别定义为:
Sw=W1TXwXwW1
Sb=W1TXbXbW1
然后,求解矩阵Sw-1Sb的特征值问题。这里选择Sw-1Sb的P个较大特征值对应的特征向量构造LDA算法的特征子空间W2,将PCA算法与LDA算法的特征子空间进行融合,即WS=W1W2,可获得PCA-LDA算法的融合特征空间WS,使用得到的WS作为PCA-LDA算法的特征空间进行运算。
1.4 非线性降维方法
(1)LLE算法
局部线性嵌入(Locally Linear Embedding,LLE)算法是流形学习中非线性降维方法中最为经典的算法之一,能够使降维后的数据较好地保持原有流形结构,并找到每个样本的k个最近邻域。
(2)ISOMAP
如果数据采自一个蛋卷形的流形,两点间的欧式距离不能真实反应两点间的关系,而两个点之间沿着蛋卷的最短距离即geodesic距离可以更好地反应这两个点之间的关系。ISOMAP的主要思想就是利用点之间的geodesic距离来代替点之间的欧氏距离,然后用Metric MDS计量多元尺度算法进行数据降维。ISOMAP对数据的整体平移、旋转和翻转具有不变形的特性,并且它最后也归结为特征值和特征向量的计算问题,它具有发现高维空间低维流形的能力。
(3)KPCA(Kernel-PCA)
KPCA算法是基于核函数的思想对PCA算法进行改进,它不会显著增加计算的复杂度,并且继承了PCA算法可以得到全局最优解的特性,另外它可以求解非线性问题。其算法思想大致如下:假设有m个数据x1,x2,…,xm,当这些数据在n维空间中线性不可分时,希望通过一个映射将数据从n维空间映射到N(N>n)维空间中,使得数据在N维空间中是线性可分的,这样,当使用PCA在N维空间对数据进行降维时可以得到更好的结果。实践发现,当对数据处理时,经常会出现求两个向量点积的形式,即椎(xi)T(xj)的形式,于是,可以用一个函数来代替这种点积计算,即寻找一个函数,使得K(xi,xj)=(xi)T(xj),这样可以把求点积的运算转化为求函数值的问题。这里的函数K(xi,xj)便称为核函数。
2 实验部分
2.1 材料和仪器
为了获得有效的近红外光谱数据降维方法,挑选了134个有代表性的复烤片烟,包含福建、云南、山东3个质量差异明显的产区。这些烟叶样品的近红外光谱采用FOSS近红外分析仪NIRS DS2500采集,该设备波长范围400~2 500 nm,数据采样间隔0.5 nm。
2.2 环境条件
为了保证近红外光谱数据采集的准确性和稳定性,需具有良好的环境温湿度条件,空气相对湿度范围保持20%~70%,温度范围为20℃~26℃,样品检测过程中门窗处于关闭状态,确保每小时的温度变化不大于1℃,湿度变化不大于2%。
2.3 样品前处理
将挑选的134份来自三个不同产区的烟叶样品进行抽样、去梗等前处理,然后在烘箱中以60℃、4 h条件烘干(含水量约为4%~8%),从烘箱中取出烘好的样品马上磨粉,过筛40目,装入密封袋中密封并常温下避光贮存。
2.4 光谱数据采集
每份烟叶粉末样品称重20~25 g,采用漫反射的方式扫描,每个样本重复装样3次,取平均光谱作为该样品的最终近红外光谱。
2.5 实验验证分析
2.5.1五种降维算法的数据可视化结果
本实验中,分别采用PCA、LDA、LLE、ISOMAP、KPCA 5种降维算法对134份烟叶粉末样品近红外光谱数据在MATLAB平台下进行降维分析,降维因子数为10个,其获得数据可视化结果如图1~图5(其中横轴表示降维后第一主成分的得分,纵轴表示降维后第二主成分的得分)。
从数据的可视化结果来看,LDA算法在水平与垂直方向都可以把产区分开,PCA、LLE、ISOMAP可以在某些方向上把产区分开,Kernel-PCA可以在某些区域内把产区分开。
2.5.2 分类结果
从降维后的可视化结果中可看出5种算法的不同性能,此外,本文从另外一个角度——分类器正确识别率来判断算法的适合性。从三个产区中分别随机选取部分样本作为测试样本,训练样本与测试样本的组成结构如表1所示。如果测试样本经过分类器分类之后可以正确识别出产区信息,则认为是正确识别。实验过程中主因子数采用1~10,对5种降维算法分别进行KNN分类,不同算法采用不同主因子数得到的正确识别率如表2所示。
由表2可以看出:(1)LDA具有最好的对烟叶产区分类功能,其次是PCA和ISOMAP,LLE对于产区分类的效果不理想,由此可以推测烟叶近红外光谱在高维空间的分布情况;(2)特征空间维数对产区的正确识别率有一定的影响,并不是特征空间的维数越多对产区分类越好,这表明在特征提取时部分维数信息对于产区的分类是具有干扰性的。
3 结论
本文着重对比分析了线性与非线性的数据降维方法在烟叶光谱中的应用。在对5种降维算法的分析中可以看出,PCA和LDA降维算法在烟叶近红外光谱图方面相对其他的降维算法有较好的分类性能,而且特征空间的维数对产区分类有一定的影响,合适的特征空间维数能够进行较好的分类。本文的分析结果与专家评吸的结果相一致,对降维算法的研究可为实际应用中降维算法的选择提供重要的参考依据。
参考文献
[1] HOTELLING H. Analysis of a complex of statistical variables into principal components[J]. Journal of Educational Psychology, 1933,24:417-441.
[2] FISHER R A. The use of multiple measurements in taxonomic problems[J]. Annals of Eugenics, 1936,7(2):179-188.
[3] SAMMON J J W. A nonlinear mapping for data structure analysis[J]. IEEE Trans on Computers,1969,18(5):401-409.
[4] HASTIE T. Principal curves and surfaces[D]. California:
Stanford Univ, 1984.
[5] KOHONEN T. Self-organizing Maps[J]. Journal of Mathematical Modelling and Algorithms,2008,7(4):371-387.
[6] SCHOLKOPF B, SMOLA A, M?譈LLER K R. Nonlinear component analysis as a kernel eigenvalue problem[J]. Neural Computation, 1999(10):1299-1319.
[7] MIKA S, RATSCH G, WESTON J, et al. Fisher Discriminant Analysis with Kernels[C]. Proc. IEEE Workshop Neural Networks for Signal Processing, 1999,25: 41-48.
相关推荐
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
-
首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
-
一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
-
原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
-
EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...
- office办公应用网站推荐_office办公软件大全
-
以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
-
办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
-
原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
-
批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...
- Excel函数公式教程(490个实例详解)
-
Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
-
工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...
- Excel中的SCAN函数公式,把计算过程理清,你就会了
-
Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...
- Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效
-
在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...
- Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!
-
在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...
- Excel新版本,IFS函数公式,太强大了!
-
我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...
- Excel不用函数公式数据透视表,1秒完成多列项目汇总统计
-
如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...
- 一周热门
- 最近发表
-
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
- office办公应用网站推荐_office办公软件大全
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
- Excel函数公式教程(490个实例详解)
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)
- 可以上传视频的网站源码 (25)
- 随机函数如何生成小数点数字 (31)
- 随机函数excel公式总和不变30个数据随机 (33)
- 所有excel函数公式大全讲解 (22)
- 有动图演示excel函数公式大全讲解 (32)
