基于Bagging‑FSE算法的风洞马赫数混合模型建模方法与流程

文档序号:11432362阅读:316来源:国知局

本发明属于计算机应用技术领域,具体涉及基于bagging-fse算法的风洞马赫数混合模型建模方法。



背景技术:

风洞(windtunnel)是按特定要求设计的管道系统,它采用空气压缩器(compressor)、引射器(injector)、风扇等动力装置,驱动产生均匀可控气流。基于运动的相对性和相似性原理,风洞在地面条件下模拟特定气流环境,进行各种气动力(aerodynamic)试验(measurement)[1,2]。风洞试验是获取测试物体(testobjects,如飞行器、火箭等)气动力特性,评估其结构设计、布局方案合理性,检测飞行器飞行性能优良等的主要手段。风洞试验主要在试验段中进行,试验段马赫数(machnumber)作为试验过程最主要的性能指标之一,它的稳定性对风洞流场品质有着重要影响,而流场品质直接影响着测试物体布局方案的优化选择、飞行性能的准确分析等,关系到飞行器等的研制质量与水平[3]

面向高速风洞流场先进控制算法的研究,是一项探索有效解决目前新风洞和新工况调试难度大、流场控制精度要求高、试验效率亟需提升等问题的重要课题,也是适于我国风洞试验领域智能化、绿色化与高效低耗的必由之路。通常先进控制算法的有效实现依赖于高精度的被控对象模型,对被控对象全面而深刻的了解是提高控制精度的前提,尤其对于精度要求高的控制系统,被控对象的准确建模显得尤为重要。建立预测速度快、精度高的马赫数模型不仅有利于提升马赫数控制的精度及水平,更有利于实现试验的节能降耗,促进我国新型工业化道路的可持续发展。

随着计算机、检测、数据采集等技术的进步,风洞试验累积了海量、高维且信息充实的数据,使得面向数据驱动的试验段马赫数建模方法的研究具有更好的发展前景。2013年,宋佳佳[4]使用narmax(nonlinearauto-regressivemovingaveragewithexogenousvariables,带外部输入的非线性自回归滑动平均)辨识方法描述风洞流场的动态特性,分阶段(i.e.,起动充压阶段、稳压阶段和稳马赫数阶段)建立马赫数局部模型。实验表明马赫数的预测精度有所提高,但在同一试验过程中需要切换使用三个阶段的马赫数局部模型,切换时刻难以把握,切换点附近的马赫数预测误差过大。

2015-2016年,王晓军等[5,6]选用narx(nonlinearauto-regressivewithexogenousvariable,带外部输入的非线性自回归)方法辨识风洞流场的动态特性,narx只包含输入、输出变量的高阶时间序列,具有逼近精度高、结构简单、收敛速度快等优点,对于先进控制算法具有很好的适应性。作者针对试验的海量数据,采用集成学习算法拟合narx模型的非线性函数,先后提出了基于样本子集的randomforest(随机森林)马赫数模型[5]和基于多元模糊泰勒定理的fse(featuresubsetsensemble,特征子集集成)马赫数模型[6]。实验表明fse马赫数模型的均方根误差低于0.2%,在预测速度及精度上都优于randomforest马赫数模型。

然而,风洞试验数据存在着数据分布不均衡的现象,主要表现在不同试验工况下采集的样本个数不尽相同且差异较大。fse算法的设计是基于数据分布大致平衡这一假设的,而这一基本假设在风洞试验数据中并不成立,存在着学习算法与数据分布规律“不匹配”的问题:使用均衡数据的学习算法建立不均衡数据的模型,难以进一步提高各试验工况下马赫数的预测精度。

另外,现存的风洞马赫数模型都属于统一模型(unifiedmodel),即将多种工况的试验数据混合在一起构造统一的训练集,并对其进行学习建立马赫数模型。马赫数统一模型除了存在学习算法与数据分布规律“不匹配”的问题外,还缺乏在线更新的灵活性,难以应对新工况的马赫数预测任务。主要体现在新工况数据加入后,新旧工况数据重新构造训练集建立新的统一模型,数据规模进一步扩大,加剧马赫数建模难度,而且旧工况数据重新训练会带来不必要的时间和资源的浪费。



技术实现要素:

针对风洞马赫数统一模型的学习算法与数据分布规律“不匹配”以及在线更新能力差的问题,本发明提出了基于bagging-fse(fse,featuresubsetsensemble,特征子集集成)算法的风洞马赫数混合模型,以进一步提高各工况下的马赫数预测精度,为面向海量、高维、不均衡数据建立预测速度快、精度高的马赫数在线模型提供一种新的思路和方法。

本发明采用的技术方案如下:

基于bagging-fse算法的风洞马赫数混合模型建模方法,包括如下步骤:

第一步:以多工况的马赫数预测为总任务,以单一工况的马赫数预测为子任务,建立基于不同工况的马赫数混合模型结构;

第二步:在各工况下,建立narx马赫数模型结构。采用narx辨识方法描述稳定段总压和驻室静压的动态过程,分别建立narx总压和narx静压模型,再将其预测值代入经验公式,获得马赫数;

第三步:在各工况下,以bagging-fse算法拟合narx总压和narx静压模型中的非线性函数,建立基于bagging-fse的子任务马赫数模型。

第四步:bagging-fse风洞马赫数混合模型的在线更新,当现有工况发生改变时,更新该工况的子任务马赫数模型。

第一步的建立基于不同工况的马赫数混合模型结构的过程包括:通过分析风洞系统气动结构、空气环流机理以及试验工况特点,对来自试验现场的数据按工况和试验序号单独采集并存储,然后以多工况的马赫数预测为总任务,以单一工况的马赫数预测为子任务,建立基于不同工况的马赫数混合模型结构。

第三步的建立bagging-fse子任务马赫数模型的过程包括:在各工况的训练集上,首先利用bootstrap采样技术(即有放回地随机抽取部分样本)产生m个样本子集,建立bagging模型结构;然后将fse算法引入bagging的样本子集上,建立低维的特征子集;再以fixed-sizels-svms(固定尺度最小二者支持向量机)为基学习机,在bagging-fse的小规模、低维训练子集上建立子模型;最后加权融合所有子模型,实现基于bagging-fse的子任务马赫数模型。

第四步的bagging-fse风洞马赫数混合模型在线更新的过程包括:当现有工况中的工况#w产生数据更新,则只需重新训练该工况的bagging-fse子任务马赫数模型即可;当现有工况中的工况#w失效时,则剔除该工况的子任务马赫数模型;当有新工况#w加入时,则建立该工况的子任务马赫数模型。

与现有技术相比,本发明的有益效果为:将混合在一起的、多种工况的试验数据,以工况为单位划分开,进而避免试验数据的不均衡分布,即实现风洞试验数据的均衡化;然后以均衡数据的学习算法—bagging-fse建立各工况的子任务马赫数模型,解决了学习算法与数据分布规律“不匹配”的问题;再将面向海量样本的bagging算法与面向高维数据的fse算法相结合,在各工况下构建小规模、低维的训练子集,建立fixed-sizels-svms子模型,达到马赫数快速、准确预测的目的。另外,马赫数混合模型的灵活性强,可显著提升模型的在线更新能力,应对更多工况的马赫数预测任务。本发明所提的bagging-fse风洞马赫数混合模型能够有效克服fse学习算法与试验数据分布规律“不匹配”的问题,提高各工况下马赫数的预测精度以及模型的在线更新能力,满足工程上马赫数预测速度及精度的要求。

具体实施方式

结合具体实施方式对发明做进一步说明。

基于bagging-fse算法的风洞马赫数混合模型建模方法,包括如下步骤:

第一步:对来自试验现场的数据按工况和试验序号单独采集并存储,然后以多工况的马赫数预测为总任务,以单一工况的马赫数预测为子任务,建立基于不同工况的马赫数混合模型结构;

第二步:在各工况下,建立narx马赫数模型结构。采用narx辨识方法描述稳定段总压和驻室静压的动态过程,分别建立narx总压和narx静压模型,形式如下[5,6]

式中分别表示总压和静压的估计值;ψo、ψs分别表示narx总压和narx静压模型的非线性函数;smc、sme、sfin(mm)分别表示主调压阀位移、主排气阀位移、栅指位移;psta(kpa)表示气源压力;aatt(°)攻角角度;no、ns、nmc、nme、nfin、nsta、natt表示变量阶次。然后,将总压和静压的估计值带入下式,获得马赫数的预测值[5,6]

第三步:在各工况下,以bagging-fse算法拟合narx总压和narx静压模型中的非线性函数,建立bagging-fse子任务马赫数模型。

1)基于bootstrap采样技术构建m个样本子集,建立bagging模型结构。已知工况w(w=1,...,w)的训练集为yw={ytp,ysp,yma}w,其中ytp、ysp、yma分别表示总压、静压、马赫数,nw表示训练样本个数,n=30表示输入特征维数[5,6]。经bootstrap采样后产生的m个样本子集为其中表示样本子集的样本个数,且n1w,...,nmw可以不完全相同。另外,我们定义θb=(nbw/nw)×100%为采样比。

2)在各样本子集上建立fse模型。给定最大输入特征维数h*,(h*≤n),根据多元模糊泰勒公式,fse模型将对特征空间进行1-划分到h*-划分,产生个特征子集,其中个具有1维输入特征,它们是个具有2维输入特征,它们是个具有h*维输入特征,它们是

3)以fixed-sizels-svms为基学习机,在bagging-fse的小规模、低维训练子集上建立子模型,加权融合所有子模型后,实现基于bagging-fse的子任务马赫数模型。

第四步:bagging-fse风洞马赫数混合模型的在线更新,当现有工况发生改变时,更新该工况的子任务马赫数模型。

第一步的建立基于不同工况的马赫数混合模型结构的过程包括:通过分析风洞系统气动结构、空气环流机理以及试验工况特点,为数据建模提供了先验知识。研究发现风洞试验工况众多,但每次试验只涉及一种工况;另外,来自试验现场的数据都是按工况和试验序号单独采集和存储的,这些对马赫数混合模型的建立创造了便利之处。因此,以多工况的马赫数预测为总任务,以单一工况的马赫数预测为子任务,在各工况下建立子任务马赫数模型,所有子任务模型构成马赫数混合模型。

第三步的建立bagging-fse子任务马赫数模型的过程包括:在各工况的训练集上,首先基于bootstrap采样技术(即有放回地随机抽取部分样本)产生m个样本子集,建立bagging模型结构;然后将fse算法引入bagging的样本子集上,建立低维的特征子集;再以fixed-sizels-svms(固定尺度最小二者支持向量机)为基学习机,在bagging-fse的小规模、低维训练子集上建立子模型;最后加权融合所有子模型,实现bagging-fse子任务马赫数模型。

第四步的bagging-fse风洞马赫数混合模型在线更新的过程包括:当现有工况中的工况#w产生数据更新,则只需重新训练该工况的bagging-fse子任务马赫数模型即可;当现有工况中的工况#w失效时,则剔除该工况的子任务马赫数模型;当有新工况#w加入时,则建立该工况的子任务马赫数模型。

本节通过仿真实验,验证基于bagging-fse算法的风洞马赫数混合模型作为一种新的思路和方法,在面向试验的海量、高维且不均衡数据,解决马赫数统一模型的学习算法与数据分布规律“不匹配”以及在线更新能力差的问题时的有效性与优越性。

本节进行了三项实验,一是将基于fse算法的马赫数混合模型与基于fse算法的马赫数统一模型进行比较,旨在证明混合模型比统一模型的预测精度更好;二是将基于bagging-fse算法的马赫数混合模型与基于fse算法的马赫数混合模型进行比较,旨在证明bagging-fse算法能够进一步提升马赫数的预测精度;三是,建立新工况下的bagging-fse子任务马赫数模型,以评估混合模型的在线预测效果。

本发明以均方根误差来衡量总压、静压和马赫数的预测精度。模型参数通过10倍交叉验证确定,建模前所有数据都做归一化处理到[0,1]之间。fse模型中h*的取值为1。所有集成模型都以fixed-sizels-svms为基学习机并通过随机的方式选取支持向量;使用采用perrone&cooper提出的通用融合算法(generalizedensemblemethod-gem)[7]获得子模型的权值。

(1)基于fse算法的马赫数混合模型

实验(1)涉及四种工况:工况#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给出了从工况#1~工况#4的试验中采集到的样本个数。每组数据的输入特征维数是30,输出特征为稳定段总压、驻室静压和试验段马赫数。在fse马赫数混合模型中,各工况的前3组试验数据作为训练集,工况#1~工况#4的训练样本个数分别为n1=85568,n2=14341,n3=12875,n4=25178,其他试验数据作为测试集;在fse马赫数统一模型中,工况#1~工况#4的前3组试验数据合并起来作为训练集,样本个数为n=85568,其他作为测试集进行分工况测试。

表1从工况#1~工况#4的试验中采集到的样本个数

fse马赫数混合模型中,工况#1子任务马赫数模型的fixed-sizels-svms子模型使用10个支持向量;工况#2子任务马赫数模型的fixed-sizels-svms子模型使用10个支持向量;工况#3子任务马赫数模型的fixed-sizels-svms子模型使用5个支持向量;工况#4子任务马赫数模型中fixed-sizels-svms子模型都使用5个支持向量。fse马赫数统一模型的所有fixed-sizels-svms子模型都使用10个支持向量。表2分别给出了fse马赫数混合模型和统一模型在工况#1~工况#4下的测试集均方根误差,其结果显示,在工况#1~工况#4下的所有测试集上,fse马赫数混合模型的均方根误差都小于fse马赫数统一模型的均方根误差。

表2工况#1~工况#4下fse马赫数混合模型和统一模型的测试集均方根误差

(2)基于bagging-fse算法的马赫数混合模型

实验(2)在工况#1~工况#4的训练集上建立bagging-fse马赫数混合模型,子任务模型的参数如表3所示。表4给出了bagging-fse马赫数混合模型在工况#1~工况#4下的测试集均方根误差。比较表2和表4的实验结果发现,在工况#2的4组测试集和工况#3的4组测试集上,bagging-fse马赫数混合模型的均方根误差小于fse马赫数混合模型的均方根误差;在工况#1~工况#4的其他测试集上,bagging-fse马赫数混合模型的均方根误差等于fse马赫数混合模型的均方根误差。

表3子任务模型的参数

表4工况#1~工况#4下bagging-fse马赫数混合模型的测试集均方根误差

(3)新工况的bagging-fse马赫数混合模型

实验(3)使用bagging-fse算法对新加入的工况,建立子任务马赫数模型。新加入的工况为工况#5:ma=0.675,po=130kpa和工况#6:ma=0.38,po=110kpa。表6给出了从工况#5~工况#6的试验中采集到的样本个数。同样在混合模型中,各工况的前3组试验数据作为训练集,工况#5~工况#6的训练样本个数分别为n5=11947,n6=13442,其他试验数据作为测试集。

表5从工况#5~工况#6的试验中采集到的样本个数

为了比较新工况的bagging-fse马赫数混合模型的预测效果,我们还建立了新工况下的fse马赫数混合模型。在工况#5~工况#6下,fse子任务马赫数模型分别使用了5个和2个支持向量;bagging-fse子任务马赫数模型的参数如表3所示。表6分别给出了bagging-fse马赫数混合模型和fse马赫数混合模型在工况#5~工况#6下的测试集均方根误差,结果显示,在工况#5~工况#6的所有测试集上,bagging-fse马赫数混合模型的均方根误差都小于fse马赫数混合模型的均方根误差。

表6工况#5~工况#6下fse马赫数混合模型和bagging-fse马赫数混合模型的测试集均方根误差

综上,bagging-fse马赫数混合模型的预测精度要明显高于fse马赫数混合模型和fse马赫数统一模型的预测精度;只有bagging-fse马赫数混合模型在工况#1~工况#6的所有测试集上的均方根误差都小于或等于0.0015,满足工程上马赫数预测速度及精度的要求。另外,马赫数混合模型比马赫数统一模型更适合于在线预测。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

本发明涉及到的参考文献:

[1]y.yan,z.xi,s.zhang.numericalsimulationandtransonicwind-tunneltestforelasticthin-shellstructureconsideringfluid-structureinteraction,chinesejournalofaeronautics,28(1):141-151,2015.

[2]刘政崇.高低速风洞气动与结构设计,北京:国防工业出版社,2003.

[3]孙智伟,白俊强,高正红等.现代超临界翼型设计及其风洞试验,航空学报,36(3):804-818,2015.

[4]宋佳佳.风洞马赫数的建模与辨识,沈阳:东北大学,2013.

[5]王晓军,袁平,毛志忠等.基于随机森林的风洞马赫数预测模型,航空学报,37(5):1494-1505,2016.

[6]x.wang,p.yuan,z.mao.ensemblefixed-sizels-svmsappliedforthemachnumberpredictionintransonicwindtunnel,ieeetransactionsonaerospaceandelectronicsystems,51(4):3167-3181,2015.

[7]perronem.p.,andcooperl.n.,2001.whennetworksdisagree:ensemblemethodsforhybridneuralnetworks.(1993)inr.j.mammone(ed.),artificialneuralnetworksforspeechandvision.london:chapman&hall.,126-142。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1