本发明涉及基于异态特征子集集成(heterogeneousfeaturesubsetsensemble,hfse)算法的试验段马赫数建模方法,属于计算机应用技术领域。
背景技术:
风洞(windtunnel)是空气动力学研究和飞行器研制的最基本试验设备。它是按照特定要求而设计的管道系统,可产生均匀可控气流,根据运动的相似性以及相对性原理,在地面上模拟某种气流环境,进行空气动力学试验[1]。风洞试验主要在试验段中进行,试验段马赫数(machnumber)作为试验过程最主要的性能指标之一,它的稳定性对风洞流场品质有着重要影响,关系到飞行器等的研制质量与水平[2]。
本发明以我国自主研制大飞机、远程轰炸机等唯一可依托的气动力试验平台—fl-26风洞为研究对象,其具有以下特点:试验段马赫数控制精度要求高,系统调试难度大,系统调试时间长,流场品质要求高,风洞属于高能耗设备,核心设备昂贵且损耗大。面向该风洞的特点,针对高速风洞流场先进控制算法的研究,是一项探索有效解决目前新风洞流场控制精度要求高、新工况调试难度大、节能降耗、试验效率亟需提升等问题的重要研究课题。而先进控制器的有效性往往依赖于准确的被控对象模型,因此建立精度高、预测速度快的风洞试验段马赫数模型有利于马赫数控制的精度及水平的提升,更有利于试验的节能降耗。
随着科学技术的迅猛发展,风洞试验过程累积了海量数据,使得基于数据驱动的风洞试验段马赫数建模方法的研究获得了广泛关注。2013年,宋佳佳[3]使用narmax(nonlinearauto-regressivemovingaveragewithexogenousvariables,带外部输入的非线性自回归滑动平均)辨识方法描述风洞流场的动态特性,分阶段(i.e.,起动充压阶段、稳压阶段和稳马赫数阶段)建立马赫数局部模型。实验表明马赫数的预测精度有所提高,但在同一试验过程中需要切换使用三个阶段的马赫数局部模型,切换时刻难以把握,切换点附近的马赫数预测误差过大。2014年,祖昊炜[4]同时考虑试验的三个阶段,建立马赫数全局模型,避免了模型的切换问题,并以改进的带状态反馈的elman神经网络拟合narmax模型的非线性函数。但是由于影响马赫数的因素较多,而narmax模型又包含着输入、输出以及误差变量的高阶时间序列,导致模型过于复杂,不利于马赫数的快速预测。
2015年,王晓军等[5,6]选用narx(nonlinearauto-regressivewithexogenousvariable,带外部输入的非线性自回归)方法辨识风洞流场的动态特性,narx只包含输入、输出变量的高阶时间序列,具有逼近精度高、结构简单、收敛速度快等优点,对于先进控制算法具有很好的适应性。作者针对试验的海量数据,采用集成学习算法拟合narx模型的非线性函数,先后提出了基于样本子集的randomforest(随机森林)马赫数模型[5]和基于多元模糊泰勒定理的fse(featuresubsetsensemble,特征子集集成)马赫数模型[6]。实验表明fse马赫数模型的均方根误差低于0.2%,在预测速度及精度上都优于randomforest马赫数模型。
针对海量数据集,fse马赫数预测模型在预测速度及精度上都具有突出表现,但是产生了庞大的子模型集。理论上fse模型要建立
技术实现要素:
为了缩减fse马赫数模型的子模型个数,本发明提出了基于hfse算法的试验段马赫数建模方法,在h*=1的条件下保持、甚至提高马赫数预测精度,提升fse马赫数模型的实际推过能力。
本发明采取的技术方案如下:
基于hfse算法的试验段马赫数建模方法,包括如下步骤:
第一步:基于亚音速一维等熵流理论,风洞试验段马赫数由稳定段总压和驻室静压决定,即预获得试验段马赫数,需先建立稳定段总压模型和驻室静压模型;然后以narx辨识方法描述总压和静压的动态特性,使用伪最邻近点法(falsenearestneighbors)[7]获得narx模型各变量的最佳阶次为5,确立narx总压和narx静压模型结构;
第二步:为拟合narx总压和narx静压模型的非线性函数,提出hfse算法:首先,确定h*=1的fse模型结构,即对特征空间进行1-划分,产生
第三步:以fixed-sizels-svms(fixed-sizeleastsquaressupportvectormachines,固定尺度最小二者支持向量机)[8]和elm(extremelearningmachine,极限学习机)[9]为异态基学习机,实现基于hfse算法的narx总压、静压预测模型,再将它们的预测值带入经验公式,获得基于hfse的试验段马赫数预测模型。
第一步的使用伪最邻近点法获得narx总压、narx静压模型各变量的最佳阶次的过程包括:首先,使用两种判别方法确定最邻近矢量,这两种方法只要有一个为假,就可认为是伪最邻近点;然后,对总压或静压数据集每个时刻k进行判别,计算有伪邻近点的所有时刻的百分比j(n);随后,逐渐增加n的值,继续进行以上几步,找到j(n)下降的拐角,即为最佳阶次;最后,通过实验分析的方式,确定narx总压和静压模型各输入变量的阶次。
第二步的为拟合narx总压、narx静压模型的非线性函数,提出hfse算法,其过程包括:首先,设定最大输入特征维数为h*=1,以控制fse的子模型集规模,此时fse模型将对特征空间进行1-划分,产生
第三步的以fixed-sizels-svm和elm为异态基学习机,实现基于hfse算法的narx总压、静压预测模型的过程包括:首先,结合风洞试验海量数据的特点,针对回归预测问题,考察了三种差异较大的、适合于海量数据建模的基学习机:fixed-sizels-svm、elm、多元线性回归(multiplelinearregression,mlr)算法;然后,组合其中任意两种基学习机生产三组异态基学习机;最后,通过实验分析进一步确定,以fixed-sizels-svm和elm组成的异态基学习机所建立的hfse马赫数模型预测效果最优,并将其作为要获得的基于hfse的试验段马赫数预测模型。
与现有技术相比,本发明的有益效果为:首先,利用fse算法解决风洞海量、高维数据建模难的突出优势,通过降低输入特征维数,间接缩小数据规模,显著提升建模及模型预测速度;然后,给定最大输入特征维数为h*=1,对特征空间进行1-划分,产生
具体实施方式
以下结合具体实施方式对发明做进一步说明。
基于hfse算法的试验段马赫数建模方法,包括以下步骤:
第一步:基于亚音速一维等熵流理论,风洞试验段马赫数ma由稳定段总压po(kpa)和驻室静压ps(kpa)决定[5,6]:
因此预获得试验段马赫数,需先建立稳定段总压模型和驻室静压模型。为准确而快速地描述风洞流场的动态特性,选用narx方法辨识,建立了narx总压结构[5,6]:
式中
还建立了narx静压结构[5,6]:
式中
使用伪最邻近点法获得narx总压、narx静压模型各变量的最佳阶次为5。
首先,使用两种判别方法确定最邻近矢量。
方法一:对于已给矢量xk=[y(k-1),...,y(k-n),u(k-1),...,u(k-n)]t找到最邻近矢量
其中γ为临界值,若为假,则该点为伪邻近点。γ一般选取10,当γ为10到50之间,计算结果也很稳定。
方法二:分别将n维中的相点
dn+1/dn≤γ,(5)
以上两种方法只要有一个为假,就可认为是伪最邻近点。
然后,对数据集每个时刻k都使用这两种判别方法,计算那些有伪邻近点的所有时刻的百分比j(n)。
随后,增加n的值,继续进行以上几步,找到j(n)下降的拐角,即为最佳阶次。
最后,通过实验分析的方式,确定narx总压和静压模型各输入变量的阶次为5。
第二步:为拟合narx总压和静压模型的非线性函数ψo、ψs,提出hfse算法。
首先,给定训练集
然后,基于不同的基学习机,在各一维特征子集上建立异态子模型。不同的基学习机其机理及优点各不相同,如mlr算法为典型的线性学习算法,简单但准确度低;回归树(regressiontree)是以分段线性化的思想实现非线性函数的拟合,可理解性强但泛化能力差;神经网络可以拟合任意形式的非线性函数,学习能力强但对于数据过于依赖;固定尺度最小二乘支持向量机基于结构风险最小原理,具有很强的学习和泛函能力,且适合于海量数据。同时使用多种基学习机有利于提升子模型的多样性,进而提高集成模型的预测精度。
最后,使用gem融合算法加权组合所有子模型,获得hfse模型fhfee(x),其形式如下:
其中φ(h,i)(xi)表示使用基学习机h在特征子集li上建立的子模型,h=1,...,h,h表示共使用了h种基学习机;β(h,i)表示φ(h,i)(xi)的权值,所有子模型权值和为1。
第三步:以fixed-sizels-svm和elm为异态基学习机,实现基于hfse算法的narx总压、静压预测模型。
首先,结合风洞试验海量数据的特点,针对回归预测问题,考察了三种差异较大的、适合于海量数据建模的基学习机(i.e.,子模型学习算法):fixed-sizels-svm、elm、mlr;
然后,组合其中任意两种基学习机生产三组异态基学习机:fixed-sizels-svm-mlr、fixed-sizels-svm-elm、elm-mlr;
随后,分别基于这三组异态基学习机建立hfse总压、静压预测模型,在代入经验公式(1)分别获得、hfse-fixed-sizels-svm-elms、hfse-fixed-sizels-svms-mlrs、hfse-elms-mlrs马赫数模型;
最后,通过实验分析进一步确定,hfse-fixed-sizels-svms-elms马赫数模型的预测效果最优,并将其作为要获得的基于hfse的试验段马赫数预测模型。
以下通过仿真实验,验证hfse算法作为一种新的思路和方法,面向风洞试验段马赫数模型建模时,不仅可以充分利用fse算法建模复杂度低、预测速度快的优势,还可以在有效控制子模型集规模的同时提升马赫数的预测精度。
本节进行了三项实验,一是分别以fixed-sizels-svm、elm、mlr为基学习机建立fse马赫数模型,考察基于fixed-sizels-svm的同态fse模型、基于elm的同态fse模型以及基于mlr的同态fse模型的预测性能;二是组合其中任意两种基学习机生产三组异态基学习机:fixed-sizels-svm-mlr、fixed-sizels-svm-elm、elm-mlr,再分别基于这三组异态基学习机建立hfse马赫数模型,考察这三种异态基学习机的预测性能;三是以fixed-sizels-svm、elm和mlr共同组成异态基学习机,建立hfse马赫数模型,验证并不是所有组合形式的异态基学习都适合于hfse马赫数模型。
本实验涉及四种工况,它们是工况#1:ma=0.823,po=130kpa;工况#2:ma=0.83,po=130kpa;工况#3:ma=0.774,po=120kpa;工况#4:ma=0.287,po=110kpa。表1给出了试验样本个数。样本的输出特征为总压、静压和马赫数,输入特征维数是30。训练集由4种工况的前3组试验数据合并组成,样本个数为85568,其他组试验数据作为测试集进行分工况测试。所有数据都做归一化处理到[0,1]之间,并以均方根误差来衡量总压、静压和马赫数的预测精度。所有fixed-sizels-svm子模型都以径向基函数为核函数,其核宽为108;所有elm子模型都以径向基函数为激活函数;所有mlrs子模型都采用最小二乘法获得模型参数。
表1试验样本个数
(1)同态fse马赫数模型
在fse-fixed-sizels-svms总压或静压模型中,各子模型使用15个支持向量;在fse-elms总压或静压模型中,各子模型使用3个神经元。表2分别给出了同态fse马赫数模型的训练集均方根误差,结果显示fse-fixed-sizels-svms、fse-elms和fse-mlrs马赫数模型的训练集均方根误差相同且都为0.0012。
表2同态fse马赫数模型的训练集均方根误差
表3分别给出了同态fse马赫数模型的测试集均方根误差,结果显示:在工况#1的两组测试集上,fse-elms马赫数模型的均方根误差最小,分别为0.0007和0.0009;在工况#2的两组测试集上,fse-mlrs马赫数模型的均方根误差最小,分别为0.0016和0.0017;在工况#3的两组测试集上,fse-elms马赫数模型的均方根误差最小,分别为0.0012和0.0016;在工况#4的两组测试集上,fse-fixed-sizels-svms马赫数模型的均方根误差最小,都为0.0011。遗憾的是,当h*=1时fse-fixed-sizels-svms、fse-elms和fse-mlrs马赫数模型都无法满足预测精度的要求(≤0.015)。
表3同态fse马赫数模型的测试集均方根误差
(2)hfse马赫数模型
组合任意两种基学习机生产三组异态基学习机:fixed-sizels-svm-mlr、fixed-sizels-svm-elm、elm-mlr,分别基于这三组异态基学习机建立hfse马赫数模型。在hfse-fixed-sizels-svms-elms总压(或静压)模型中,各fixed-sizels-svm子模型使用5个支持向量,各elm子模型使用2个神经元;在hfse-fixed-sizels-svms-mlrs总压或静压模型中,各fixed-sizels-svms子模型使用5个支持向量;在hfse-elms-mlrs总压或静压模型中,各elms子模型使用3个神经元。表4给出了hfse马赫数模型的训练集均方根误差,结果显示,三种hfse马赫数模型的训练集均方根误差相同且都为0.0011,低于fse-fixed-sizels-svms、fse-elms和fse-mlrs马赫数模型的训练集均方根误差。
表4hfse马赫数模型的训练集均方根误差
比较表3和表4的结果发现:①除了工况#4试验5的测试集,hfse-fixed-sizels-svms-elms马赫数模型的均方根误差都小于fse-fixed-sizels-svms马赫数模型的均方根误差;除了工况#1试验4的和工况#4试验5的测试集,hfse-fixed-sizels-svms-elms马赫数模型的均方根误差都小于fse-elms马赫数模型的均方根误差;②除了工况#4试验5的测试集,hfse-fixed-sizels-svms-mlrs马赫数模型的均方根误差都小于fse-fixed-sizels-svms和fse-fixed-sizemlrs马赫数模型的均方根误差;③除了工况#1试验4的和工况#4试验4的测试集,hfse-elms-mlrs马赫数模型的均方根误差都小于fse-elms马赫数模型的均方根误差;除了工况#2试验5的和工况#4试验4的测试集,hfse-elms-mlrs马赫数模型的均方根误差都小于fse-mlrs马赫数模型的均方根误差。整体来说,hfse马赫数模型的测试集均方根误差要低于其对应同态fse马赫数模型的测试集均方根误差。
表5给出了hfse马赫数模型的测试集均方根误差,结果显示:①除了工况#2试验4的测试集,hfse-fixed-sizels-svms-elms马赫数模型的均方根误差都小于其他两种hfse马赫数模型的均方根误差;在工况#2试验4的测试集上hfse-fixed-sizels-svms-elms马赫数模型的均方根误差只略高于hfse-fixed-sizels-svms-mlrs马赫数模型的均方根误差,而且只有hfse-fixed-sizels-svms-elms马赫数模型满足所有工况下的马赫数均方根误差≤0.015的要求。
表5hfse马赫数模型的测试集均方根误差
另外,我们还以fixed-sizels-svm、elm和mlr共同组成异态基学习机,建立hfse马赫数模型,但实验发现此时的子模型输出矩阵出现了病态矩阵的情况,表明在同一维度上建立过多的子模型会降低fse子模型之间的多样性,加重多重共线性问题,不利于建立有效的hfse模型。
综上,整体来说hfse马赫数模型的预测精度要高于同态fse马赫数模型的预测精度;不同组合形式的异态基学习机,其预测结果不尽相同,其中以fixed-sizels-svm和elm组成的异态基学习机所建立的hfse马赫数模型预测精度最高,且只有hfse-fixed-sizels-svms-elms马赫数模型满足所有工况下的马赫数均方根误差≤0.015的要求;实验还证明不是所有组合形式的异态基学习都适合与hfse马赫数模型。
本发明涉及到的参考文献:
[1]y.yan,z.xi,s.zhang.numericalsimulationandtransonicwind-tunneltestforelasticthin-shellstructureconsideringfluid-structureinteraction,chinesejournalofaeronautics,28(1):141-151,2015.
[2]孙智伟,白俊强,高正红等.现代超临界翼型设计及其风洞试验,航空学报,36(3):804-818,2015.
[3]宋佳佳.风洞马赫数的建模与辨识,沈阳:东北大学,2013.
[4]祖昊炜.引射式跨声速风洞关键参数的建模,沈阳:东北大学,2014.
[5]王晓军,袁平,毛志忠等.基于随机森林的风洞马赫数预测模型,航空学报,37(5):1494-1505,2016.
[6]x.wang,p.yuan,z.mao.ensemblefixed-sizels-svmsappliedforthemachnumberpredictionintransonicwindtunnel,ieeetransactionsonaerospaceandelectronicsystems,51(4):3167-3181,2015.
[7]王琳,马平.系统辨识方法综述[j],电力情报,2001,4:63-66.
[8]suykens,j.a.k.,gestel,t.v.,debrabanter,j.,demoor,b.,andvandewalle,b.,j.(2002).leastsquaressupportvectormachines,worldscientific,singapore.
[9]g.b.huang,h.zhou,x.ding,r.zhang,extremelearningmachineforregressionandmulticlassclassification,ieeetransactionsonsystems,manandcybernetics—partb:cybernetics,2012,42(2):513-529.
[10]perronem.p.,andcooperl.n.,2001.whennetworksdisagree:ensemblemethodsforhybridneuralnetworks.(1993)inr.j.mammone(ed.),artificialneuralnetworksforspeechandvision.london:chapman&hall.,126-142.