1.本发明涉及数据分析技术领域,具体涉及一种基于图嵌入极限学习机的图像分类方法、装置及介质。
背景技术:
2.目前,风力发电机组主要集中在维度较高的地区,且多安装于丘陵和浅山地区,工况环境恶劣,长期处于寒冷潮湿地区极容易产生风电机组叶片上覆冰现象。覆冰现象不仅会影响供电稳定性,同时还会造成风机运行寿命,造成经济损失。风电机组叶片是风力发电机组关键部件之一,因此,实时的风机叶片覆冰故障检测方法研究具有重要意义。
3.多数学者对风机叶片覆冰预测的研究包括:风洞试验、数值计算和风机scada系统数据分析三个方面。模拟风洞实验在叶片结冰预测方面,通过风机理论功率与实际功率的差值进行判断;较多覆冰检测研究以数值研究计算冰层产生机理的基本参数,进行相关故障检测;基于机器学习的scada数据分析方法进行风机叶片覆冰预测,具有高效和精确度高等优点。虽然近年来学者们在风机叶片结冰预测中提出了许多基于深度学习和数据挖掘的分类方法,但这些方法由于一些技术上的问题尚未攻克,以致于实际预测能力往往受到一些制约。如在风机监控系统scada数据中,现存方法普遍无法正确处理数据内在结构中类别不平衡问题以及少数样本数据形成噪声的问题;在特征层面上,现有基于传统模式识别分类方法普遍无法处理数据样本特征关联性不强造成决策识别率不高的问题。
4.综上所述,急需一种基于图嵌入极限学习机的图像分类方法、装置及介质以解决现有技术中存在的问题。
技术实现要素:
5.本发明目的在于提供一种基于图嵌入极限学习机的图像分类方法、装置及介质,充分利用每个自动编码器的特征降维能力,解决现有的自动编码器特征表示能力不足以及特征重构不完全的问题,具体技术方案如下:
6.一种基于图嵌入极限学习机的图像分类方法,其特征在于,步骤如下:
7.步骤s1:获取数据集并对其进行预处理,得到训练集和测试集;
8.步骤s2:采用多层图嵌入极限学习机算法对训练集进行模型训练,得到分类模型;
9.步骤s3:将测试集输入所述分类模型,得到图像分类结果;
10.其中,步骤s2中的多层图嵌入极限学习机算法具体是:构建多个图嵌入自动编码器,将图嵌入自动编码器以循环的方式形成信息交互,转化为多层图嵌入极限学习机,将单个图嵌入自动编码器作为子节点,所述训练集中的数据通过所述子节点输出至下一层网络,得到信息交互的权值输出,采用逐层最优的方法训练多层网络,得到最终的特征输出。
11.优选的,所述图嵌入自动编码器包括以下步骤:
12.1)获取训练集中的数据并设置激活函数;其中,x=[x1,...,xn];xi表示数据中第i个样本,xi∈rd,d表示每个样本特征维度;t=[t1,
…
,tn];ti表示数据
中第i个类别,ti∈rf;n表示数据量;f表示每个类别特征维度;
[0013]
2)计算重构误差权重w
ij
;生成图嵌入矩阵s;初始化权重参数a,a∈rd×
l
,d表示误差权重的对角矩阵,l为隐层节点数量;
[0014]
3)计算优化后的输出权值β,表达式如下:
[0015]
β=[h
t
dh (i
l
λs)/c]-1ht
wx;
[0016]
其中,i表示单位矩阵,λ表示平衡参数,c表示正则化系数,h表示隐层输出矩阵。
[0017]
优选的,所述激活函数为sigmod激活函数g(x),表达式为
[0018]
优选的,所述重构误差权重wij的计算表达式如下:
[0019][0020]
其中,表示基于样本xi邻域内类别t所有特征集合,设置近邻点个数为p,ω为所有成对输入数据平方距离中位数。
[0021]
优选的,计算图嵌入矩阵s的表达式如下:
[0022]
s=swsb=h(d
w-aw)h
t
h(d
b-ab)h
t
;
[0023][0024][0025][0026][0027]
其中,对角矩阵h代表特征空间输出矩阵,c代表数据类别,n为输入数据的个数。
[0028]
优选的,隐层数据矩阵的计算表达式为:h=g(a*x b);其中,b为偏置参数。
[0029]
优选的,所述多层图嵌入极限学习机中的训练方法具体是:对数据集中的数据基于图嵌入自动编码器从k=1到k=k进行循环计算,取第k次信息交互的输出为最终的特征输出,表达式如下:
[0030]hk
=g(g
(k-1)
(βk)
t
);
[0031]
其中,hk表示第k次输出矩阵的特征表示;gk=σ(∑f(g
k-1
,g
k-2
)),σ表示缩放参数,gk表示第k次信息交互的输入或者第k-1次信息交互的输出;βk表示第k次信息交互的输出权值;t表示矩阵转置。
[0032]
优选的,所述数据集为风机故障检测数据集。
[0033]
另外,本发明还包括基于图嵌入极限学习机的风机故障检测装置,包括:
[0034]
至少一个处理器;
[0035]
以及与所述至少一个处理器通信连接的存储器;
[0036]
其中,所述存储器用于存储计算机程序;
[0037]
所述处理器用于执行所述计算机程序时实现如上述的图像分类方法。
[0038]
另外,本发明还包括一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的图像分类方法。
[0039]
应用本发明的技术方案,具有以下有益效果:
[0040]
(1)本发明中的图像分类方法结合图理论利用风机叶片覆冰故障数据标签信息将权重嵌入至极限学习机自动编码器重构误差函数上,在elm特征空间中施加图嵌入矩阵保持特征数据全局结构信息、保留数据之间全局相似性,从而使算法在特征空间中找出更有效的特征判别边界。区别于现有的极限学习机,本发明采用极限学习机自动编码器对特征数据进行重构,同时基于图权重考虑压缩特征表示与其它特征之间的关系,在数据原始特征空间中计算每个数据特征与其它数据特征的相似性,由数据标签信息根据距离在elm特征空间中重构原始数据,在自动编码器重新构建数据误差项,然后特征子空间中增加图嵌入惩罚项,最大化类间可分性和缩小类内局部结构,从而在特征空间中找出更有效的特征判别边界。
[0041]
(2)本发明提出一种基于循环结构的多层图嵌入极限学习机(ml-geelm)结构,充分利用每个自动编码器特征降维能力。区别于现有的堆叠极限学习机,本发明利用多层输出权重基于图理论的方法有效聚合不同权重特征,保持特征降维后的全局数据结构与原始空间结构的相似性。
[0042]
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
[0043]
构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0044]
图1是本发明优选实施例中图像分类方法的步骤流程图;
[0045]
图2是本发明优选实施例中图嵌入自动编码器的框架示意图;
[0046]
图3是本发明优选实施例中图嵌入自动编码器的特征子空间示意图;
[0047]
图4是本发明优选实施例中多层图嵌入极限学习机的框架示意图;
[0048]
图5是iris在elm-ae算法降维后特征数据的可视化效果图;
[0049]
图6是iris在geelm算法降维后特征数据的可视化效果图;
[0050]
图7是在不同特征节点下本实施例与gdr-ml-elm算法的对比图。
具体实施方式
[0051]
针对原始风机scada数据上存在数据量大、数据特征维度过高、特征相关性较弱导致检测正确率不高和准确率不够等问题。本发明结合图嵌入理论提出基于图嵌入的极限学习机自动编码器(graph embedded extreme learning machine autoencoder,geelm-ae),本发明从极限学习机自动编码器入手,针对原始误差函数仅关注自身数据重构从而影响特征重构不完全以及特征表示能力不足的问题。本发明在风机叶片覆冰故障检测应用上相较于已存在算法具有更强的特征表示能力和更良好的分类决策能力。以下结合附图对本发明的实施例进行详细说明,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。
[0052]
实施例:
[0053]
如图1所示,本实施例公开了一种基于图嵌入极限学习机的图像分类方法,步骤如下:
[0054]
步骤s1:获取数据集并对其进行预处理,获得训练集和测试集,本实施例中的数据集为风机故障检测数据集;
[0055]
步骤s2:采用多层图嵌入极限学习机算法对训练集进行模型训练,得到分类模型,即风机叶片故障检测模型;
[0056]
步骤s3:将测试集输入所述风机叶片故障检测模型,得到风机叶片故障检测结果;
[0057]
其中,步骤s2中的多层图嵌入极限学习机算法具体是:构建多个图嵌入自动编码器,将图嵌入自动编码器以循环的方式形成信息交互,转化为多层图嵌入极限学习机,将单个图嵌入自动编码器作为子节点,所述训练集中的数据通过所述子节点输出至下一层网络,得到信息交互的权值输出,采用逐层最优的方法训练多层网络,得到最终的特征输出。
[0058]
如图2所示,本实施例基于图嵌入框架,结合基于图权重以及数据标签信息重建原始特征的监督方法来保留原始数据的局部特征信息和全局特征结构信息。
[0059]
如图3所示,所述图嵌入自动编码器的主要目的是在特征子空间中利用标签信息和惩罚图将同类数据聚类至一起,并增加类间距,从而找到更有效的判别边界。
[0060]
进一步地,所述图嵌入自动编码器具体包括以下步骤:
[0061]
1)获取训练集中的数据并设置激活函数;其中,x=[x1,...,xn];xi表示数据中第i个样本,xi∈rd,d表示每个样本特征维度;t=[t1,
…
,tn];ti表示数据中第i个类别,ti∈rf;n表示数据量;f表示每个类别特征维度;隐藏层到输出层的映射为线性映射为x=hβ,其中,h表示隐层输出矩阵,β表示输出权值;所述激活函数为sigmod激活函数g(x),表达式为
[0062]
2)首先,为重新定义编码器的结构误差,利用重构原始数据,定义误差权重矩阵w=w
ij
(i=1
……
n,j=1
……
n),则图嵌入自动编码器的重构误差函数定义为数据与重构后每个数据的距离关系ei:
[0063]ei
=∑
j w
ij
||x
i-hjβ||2;
[0064]
自动编码器的累计误差j
1st
可以表示为:
[0065][0066]
计算重构误差权重w
ij
,所述重构误差权重w
ij
的计算表达式如下:
[0067][0068]
其中,表示基于样本xi邻域内类别t所有特征集合,设置近邻点个数为p,ω为所有成对输入数据平方距离中位数;
[0069]
然后,在自动编码器的隐层施加图嵌入矩阵,增强特征信息在特征空间的局部结构的相似性和全局结构的差异性,隐层的损失函数j
2nd
设计为:
[0070][0071]
其中,s为图嵌入矩阵,故geelm-ae联合损失函数如下:
[0072][0073]
其中,第一项为基于图权重矩阵特征数据误差重构项,w
ij
控制样本经过特征映射之后在特征空间中相邻类别的权重会聚类在一起,从而降低对于相同类别不同分类引起的特征错误表达,并在特征空间聚类更有效判别特征。第二项为正则项,控制模型复杂度,防止过拟合,并保证损失函数稳定性;其中,c表示正则化系数,c>0调节重构误差项和关联正则项的平衡。第三项为基于特征空间中图嵌入的特征数据关联性正则项,增强特征信息在特征空间的局部结构的相似性和全局结构的差异性,λ为损失函数的平衡参数,本实施例中优选的λ>0。
[0074]
另对目标函数j
geelm-ae
进行求导,令解出求解β:
[0075][0076]
其中,d表示误差权重的对角矩阵,d=d
ii
=∑
j w
ij
。
[0077]
具体的,计算图嵌入矩阵s的表达式如下:
[0078]
s=swsb=h(d
w-aw)h
t
h(d
b-ab)h
t
;
[0079][0080][0081][0082][0083]
其中,对角矩阵h代表特征空间输出矩阵,c代表数据类别,n为输入数据的个数;
[0084]
接着初始化权重参数a,a∈rd×
l
,l为隐层节点数量;
[0085]
3)计算优化后的输出权值β,表达式如下:
[0086]
β=[h
t
dh (i
l
λs)/c]-1ht
wx;
[0087]
其中,i表示单位矩阵,λ表示平衡参数,c表示正则化系数,h表示隐层输出矩阵,隐层数据矩阵的计算表达式为:h=g(a*x b);其中,b为偏置参数。
[0088]
需要说明的是,在极限学习机自动编码器领域,传统的多层极限学习机算法大都依靠多层感知机简单直接连接方式构造深度模型,并未充分利用图结构所带来特征数据之间的关系信息。本实施例提出将图嵌入自动编码器(geelm-ae)以循环的方式形成信息交互
相关图结构,然后转换成为堆叠多层图嵌入极限学习机(multi-layer graph embeded extreme learning machine,ml-geelm),将每个geelm-ae当成一个节点,充分找出不同权重(elm随机权重增加算法的泛化性能)下每个部分的结构关系,将“节点”关系转换为多层编码结构,形成广义多层极限学习机框架。
[0089]
如图5所示,本实施例以三层结构为例。所述多层图嵌入极限学习机中的训练方法具体是:对数据集中的数据基于图嵌入自动编码器从k=1到k=k进行循环计算,取第k次信息交互的输出为最终的特征输出,表达式如下:
[0090]hk
=g(g
(k-1)
(βk)
t
);
[0091]
其中,hk表示第k次输出矩阵的特征表示;gk=σ(∑f(g
k-1
,g
k-2
)),σ表示缩放参数,gk表示第k次信息交互的输入或者第k-1次信息交互的输出,f(
·
)为矩阵乘法;βk表示第k次信息交互的输出权值;t表示矩阵转置。
[0092]
对比传统的自动编码器方法,本实施例提出的多层图嵌入极限学习机算法在网络训练的优点分为两个部分:(1)无需多次反馈迭代算法就可以解析地计算出每一层的全局最优解,与其他多层极限学习机相比,ml-geelm以监督方式解决了数据降维问题,可以找到更多判别特征;(2)通过信息交互的方式融合,将每个节点的向其近邻发送信息集成至geelm-ae下一个单元中,而非简单的进行数据传递造成增加结构误差。
[0093]
仿真实验分析:
[0094]
为验证本实施例算法的有效性,实验对10个测试数据集进行测试和仿真实验。本实施例试验环境为:inter core i5-8265u cpu@1.8ghz,16gb ram,matlab 2018a。如表1所示的数据集及其参数,数据集yaleb、orl和umist人脸识别数据集,其中yaleb包含39类2414个人脸图像数据;orl包含40类,每类10张图像;umist共20类564张数据。iris、wine和page blocks classification来自于uci机器学习数据库。usps和minst是10类的手写数据集,usps包含2007数据,mnist共70000h个数据,数据集训练和测试数据集比例为6:1。
[0095]
表1数据集及其参数
[0096][0097]
为证明本实施例提出的geelm-ae算法的有效性,实验在真实数据集(uci:iris、wine、page blocks classification和image)和图像人脸识别数据集(yaleb、orl和umist)
进行了测试,对比算法包括:ae、elm-ae、gdr-elm、elm-sae和elm-aeif。
[0098]
该仿真实验包括三个超参数,具体是:正则化系数c、平衡参数λ和根据原始数据生成图邻接矩阵的邻域个数p。本实验中的对比算法包括elm-ae,gdr-elm和elm-aeif,它们的隐藏层神经元个数在500、1000和1500中选取,正则化系数c的选择范围为c∈[10-5
,10-4
,...,105],平衡参数λ的选择范围为λ∈[100,101,...,10
10
],邻域个数p的选择范围为p∈[[n/c]/4:[n/c]/5:[n/c]],其他算法均使用其最佳的超参数进行实验。
[0099]
在测试单层geelem算法分为:图像分类和真实数据集分类两部分。
[0100]
(1)人脸识别实验:
[0101]
实验中每类随机选择约为60%数量的样本作为训练集,将实验重复十次计算平均分类正确率为最后的分类正确率,分类精度和相应的标准差(standarddeviation,std)如表2所示。
[0102]
表2不同算法在人脸识别图像数据集上的性能对比
[0103][0104]
由表2可知,对于对于人脸图像分类,与其它极限学习机自动编码器算法相比,分类效果在不同程度都有一定的提升。原因在于geelm-ae在处理数据降维问题时,将图嵌入理论融入原始误差函数中,同时考虑了数据的局部结构信息和全局结构信息,并且更有效在特征空间中找到分类判别特征,相较于其它算法,geelm-ae算法对于人脸识别数据集标准差更小、识别率更高,算法更具有稳定性。本实施例算法与经典ae方法相比:一方面,geelm-ae通过监督信息挖掘有助于有效判别特征,而经典ae并没有得到明显的判别特征;另一方面,由于ae问题是大部分是非凸的优化问题,而采用bp算法迭代求解极易陷入局部最优,geelm-ae算法参数固定无需迭代,从而避免了陷入局部最优的问题。对比同为图嵌入方法的gdrelm算法,本实施例算法在极限学习机特征空间增加图嵌入矩阵,缩小类内距离、增大类间距离,寻找到更好的判别特征,从表2可以看出本实施例算法在多数情况下优与gdr-elm算法。
[0105]
(2)真实数据集分类实验
[0106]
为进一步阐述geelm的特征提取能力以及特征空间的聚类性能,实验在uci真实数据集上进行测试,并分析算法对真实数据的特征聚类能力,测试结果如表3所示,另外,实验还给出了算法在iris数据集的可视化效果,如图5和图6所示,图5由elm-ae得到的iris特征数据可视化效果;图6为iris在geelm算法降维后可视化效果。
[0107]
表3不同算法在uci真实数据集上的性能对比
[0108][0109]
从表3和图7的测试结果可以看出,与elm-ae方法相比较,经过geelm得到的数据特征表示将相同类别的数据聚类更近,不同类别的数据更远,即类间距更大、类内距离更小,便于得到更有效的特征判别边界。geelm与其它方法在真实数据集上的表现如表3所示。对比ae、elm-ae、elm-sae和elm-aeif算法,geelm-ae在分类精度和标准差都具有更好表现。当特征降维数据维度更低时候,gdr-elm具有更好的表现;当维度增加时,geelm-ae表现出良好性能,并且具有更低的标准差。
[0110]
(3)多层自编码结构性能实验:
[0111]
本实验主要对比不同算法多层自编码结构性能,为了方便实验,算法都选取最优参数进行实验,网络结构都采用三层结构,仅改变网络结构中的隐层神经元进行对比;并且提取特征后,为统一比较每个算法都采用elm分类器作为分类算法。对每个数据集进行20次试验计算平均值和标准差作为最后的结果,mnist和norb的测试结果分别如表4所示。
[0112]
表4不同算法的多层自编码结构性能对比
[0113][0114]
实验结果显示,与其它基于elm-ae的多层网络结构相比:(1)本实施例的方法在测试集平均正确率上有较大提升、标准差也相对较低,将多个geelm-ae以集成的方法组合成多层结构优势,有效利用不同层对于与数据特征的提取能力,避免简单堆叠造成的信息误差传递,影响单层性能;ml-geelm的分类性能相对于其它多层编码器算法进一步的提升。(2)图7表示在不同特征节点下本实施例算法与gdr-ml-elm算法的对比,当降维维度相同时,本实施例算法保持良好性能,这是因为本实施例在特征空间中嵌入了图矩阵,找到特征
空间中更有效的判别特征;随着多层矩阵对特征数据的重构,循环节点构成的多层图嵌入极限学习机特征表示能力越强,相对与其它简单堆叠算法更易获得有效特征。
[0115]
综上所述,本发明结合图嵌入方法提出一种新的极限学习机自动编码器(geelm-ae),通过重新定义特征空间中数据特征重构误差函数,根据标签信息增加特征聚合能力,提取局部特征能力,增强特征表示能力;在损失函数上嵌入基于图的惩罚项,在elm特征空间将缩小类内间距、增大类间距离,提取特征全局结构信息,从而在特征空间中找出更有效的判别边界。然后,提出一种由多个geelm-ae构建的多层图嵌入极限学习机(ml-geelm)深度网络结构,通过信息交互的方式将多层输出权重基于图论的方法进行有效聚合,输出至下一层网络结构,保持特征降维全局数据结构与原始空间结构的相似性。为验证算法的有效性,本章首先在特定的真实数据集上进行相关实验,实验结果表明,本文算法相较于其它算法,具有更强的特征表示能力,能将特征数据的局部结构更好聚类,从而提升分类能力。在应对风机叶片覆冰检测任务上,相对于目前最新的深度学习算法具有更好的分类效果。
[0116]
另外,本实施例还包括基于图嵌入极限学习机的风机故障检测装置,包括:
[0117]
至少一个处理器;
[0118]
以及与所述至少一个处理器通信连接的存储器;
[0119]
其中,所述存储器用于存储计算机程序;
[0120]
所述处理器用于执行所述计算机程序时实现如上述的图像分类方法。
[0121]
另外,本实施例还包括一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的图像分类方法
[0122]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。