本發明涉及基于異態特征子集集成(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.