虞文勝
(海軍裝備部航空技術(shù)保障部,北京 100084)
?
基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的航空液壓油軟測(cè)量
虞文勝
(海軍裝備部航空技術(shù)保障部,北京 100084)
BP 神經(jīng)網(wǎng)絡(luò)越來(lái)越多地被應(yīng)用于軟測(cè)量建模中,與傳統(tǒng)方法相比,BP神經(jīng)網(wǎng)絡(luò)進(jìn)行信息處理可以減少數(shù)據(jù)的分析和建模工作,但也存在易于陷入局部最小值和初始權(quán)值隨機(jī)選取的缺陷問(wèn)題;為了解決傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)存在的缺陷,文中在數(shù)據(jù)預(yù)處理過(guò)程中引入主成分分析法(PCA),在BP網(wǎng)絡(luò)輸入權(quán)值時(shí)引入遺傳算法(GA),最終達(dá)到彌補(bǔ)BP神經(jīng)網(wǎng)絡(luò)缺陷的目的;詳細(xì)介紹了改進(jìn)算法的流程與步驟,將改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于航空液壓油的軟測(cè)量,先是對(duì)航空液壓油軟測(cè)量參數(shù)進(jìn)行分析,包括輔助變量的選擇和數(shù)據(jù)預(yù)處理,然后進(jìn)行基于改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的建模與仿真實(shí)驗(yàn);實(shí)驗(yàn)結(jié)果表明,基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的航空液壓油軟測(cè)量效果優(yōu)于傳統(tǒng)神經(jīng)網(wǎng)絡(luò),具有更強(qiáng)的泛化能力,因此可進(jìn)行更廣泛的應(yīng)用。
軟測(cè)量;BP神經(jīng)網(wǎng)絡(luò);PCA;GA
據(jù)國(guó)內(nèi)外統(tǒng)計(jì)資料顯示,在高新武器裝備液壓系統(tǒng)的故障中,近70%是因液壓系統(tǒng)污染而引起的,而其中固體顆粒污染物所引起的液壓系統(tǒng)故障數(shù)占總污染故障數(shù)的60%~70%。只有迅速精確地檢測(cè)出油液中的機(jī)械雜質(zhì),才能及時(shí)采取相應(yīng)的防護(hù)措施。而一般來(lái)說(shuō),直接檢測(cè)油液中的機(jī)械雜質(zhì)顆粒比較困難,要精確檢測(cè)就更不理想了。
軟測(cè)量技術(shù)包括輔助變量選擇、數(shù)據(jù)采集與處理、軟測(cè)量建模等組成部分,僅需檢測(cè)一些易測(cè)變量,將其作為輔助變量,通過(guò)構(gòu)成相應(yīng)的數(shù)學(xué)關(guān)系進(jìn)行估計(jì)或者推斷,再通過(guò)軟件實(shí)現(xiàn)硬件的功能,不需要太多時(shí)間和資金的投入即可實(shí)現(xiàn),且可以實(shí)施在線校正。在航空液壓油的檢測(cè)系統(tǒng)中應(yīng)用軟測(cè)量技術(shù),不僅能及時(shí)監(jiān)測(cè)油液質(zhì)量,能及時(shí)發(fā)現(xiàn)不達(dá)標(biāo)的油液,防止因機(jī)械雜質(zhì)含量過(guò)高而引起的嚴(yán)重問(wèn)題,又可節(jié)約投資和運(yùn)行成本。
針對(duì)BP神經(jīng)網(wǎng)絡(luò)中易陷入局部最小和初始權(quán)值隨機(jī)選取的問(wèn)題,將主成分分析法(principal component analysis)和遺傳算法(genetic algorithms)引入網(wǎng)絡(luò),讓這幾種方法實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ),在經(jīng)典BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,構(gòu)建一個(gè)基于PCA的GA-BP改進(jìn)網(wǎng)絡(luò),以增強(qiáng)模型的泛化能力,使BP網(wǎng)絡(luò)具有更廣泛的應(yīng)用。
主成分分析法是一種將多個(gè)相關(guān)變量轉(zhuǎn)化為少數(shù)幾個(gè)獨(dú)立變量的方法,它的最終目的在于用最少的變量來(lái)概括樣本中的信息。在數(shù)據(jù)預(yù)處理中引入主元分析法,能減少BP網(wǎng)絡(luò)輸入變量的個(gè)數(shù),從而優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),使網(wǎng)絡(luò)具有更快的收斂速度[1]。利用遺傳算法優(yōu)化BP網(wǎng)絡(luò)的初始權(quán)值,可以使網(wǎng)絡(luò)在訓(xùn)練過(guò)程有效避免陷入局部最小[2]。基于PCA的GA-BP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法的流程大致分為三步,第一步主成分分析,第二步遺傳算法,第三步使用優(yōu)化的輸入變量和初始權(quán)值開(kāi)始訓(xùn)練網(wǎng)絡(luò)[3],具體過(guò)程如圖1所示。
圖1 基于PCA的GA-BP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法流程
2.1 參數(shù)選擇
首先進(jìn)行輔助變量的選擇,航空液壓油的檢測(cè)過(guò)程中,選擇如下幾個(gè)與機(jī)械雜質(zhì)含量有關(guān)的變量。
1)酸值:
單位mgKOH/g,是中和1g石油產(chǎn)品中酸性物質(zhì)所需的氫氧化鉀質(zhì)量(毫克數(shù)),用來(lái)表示液壓油、潤(rùn)滑油等油液中無(wú)機(jī)酸和有機(jī)酸的總含量。航空液壓油酸值的測(cè)定執(zhí)行GB/T264-83標(biāo)準(zhǔn)。
2)運(yùn)動(dòng)粘度:
單位mm2/s,航空液壓油的粘度指液體的內(nèi)摩擦,是液壓油由于受外力作用而發(fā)生相對(duì)移動(dòng)時(shí),油分子之間所產(chǎn)生的阻力,該阻力的大小稱為粘度。粘度又分為運(yùn)動(dòng)粘度、動(dòng)力粘度和條件粘度。其中運(yùn)動(dòng)粘度使用最廣泛。液壓油50 ℃運(yùn)動(dòng)粘度是指在溫度50 ℃時(shí),動(dòng)力粘度與同溫度下油密度的比值,亦即v=η/ρ。液壓油50℃運(yùn)動(dòng)粘度測(cè)定按GB/T 265_88的標(biāo)準(zhǔn)進(jìn)行。
3)運(yùn)動(dòng)粘度變化率:
該變化率為航空液壓油運(yùn)動(dòng)粘度在單位時(shí)間內(nèi)的變化量。
4)水分(百分含量):
水分含量指標(biāo)測(cè)定按GB/T 11193-89標(biāo)準(zhǔn)規(guī)定方法進(jìn)行,測(cè)定水含量的范圍從1%到90%(質(zhì)量分?jǐn)?shù)),該方法適用于測(cè)定輕質(zhì)石油產(chǎn)品的水含量。
5)金屬元素含量:
在航空液壓油內(nèi)包括鋁、鉻、銅、鐵、鎳以及硅元素含量。金屬元素含量直接影響到油液中固體顆粒數(shù)量,即影響到機(jī)械雜質(zhì)的含量。可通過(guò)原子發(fā)射光譜法測(cè)量各元素的含量。
6)粒徑范圍:
按QJ2724.5-95《航天液壓污染控制-測(cè)定工作液固體顆粒污染的自動(dòng)顆粒計(jì)數(shù)儀計(jì)數(shù)法》進(jìn)行測(cè)量。液壓系統(tǒng)中污染物的存在將破壞厚度小于固體顆粒尺寸0.6倍的潤(rùn)滑油膜而使其失效,從而加劇元件磨損,加速密封件磨損。測(cè)量最終結(jié)果為每毫升油樣含有某種尺寸顆粒的數(shù)量,通過(guò)ISO4406的污染等級(jí)確定與表示污染度等級(jí)。
7)機(jī)械雜質(zhì):
機(jī)械雜質(zhì)含量從質(zhì)量方面表征液壓油固體顆粒雜質(zhì)的污染程度,按GB/T 511《石油產(chǎn)品和添加劑機(jī)械雜質(zhì)測(cè)定法》測(cè)定,該標(biāo)準(zhǔn)規(guī)定了用重量法測(cè)定機(jī)械雜質(zhì)的方法。
2.2 數(shù)據(jù)預(yù)處理
選取某航空液壓油的實(shí)測(cè)數(shù)據(jù),進(jìn)行預(yù)處理,采用3σ準(zhǔn)則法,剔除實(shí)測(cè)數(shù)據(jù)中異常數(shù)據(jù)得到為14×20的數(shù)組。利用MATLAB語(yǔ)言實(shí)現(xiàn)過(guò)程如下:
clc
format long g
[filename pathname index]=
uigetfile({'AAA.xls'},'選擇文件');
file=[pathname filename];
data= xlsread(file);%調(diào)入原始數(shù)據(jù)
e=ones(17,1);
%生成元 素全為1的矩陣
mu=mean(data);%求平均值
sigma=std(data);%計(jì)算標(biāo)準(zhǔn)差
outliers=abs(data-e*mu)>3*e*sigma
%求出異常值的位置
v=[];
for i=1:1:17
for j=1:1:20
if outliers(i,j)==1
data(i,:)=0;
v=[v i];
end
end
end
data(v,:)=[] %顯示處理后數(shù)據(jù)
%將預(yù)處理數(shù)據(jù)以矩陣形式存入TXT文件中
format long g
fid=fopen('data.txt','wt');
%寫(xiě)入文件路徑
[m,n]=size(data);
for i=1:1:m
for j=1:1:n
if j==n
fprintf(fid,'%g/n',data(i,j));
else
fprintf(fid,'%g/t',data(i,j));
end
end
end
fclose(fid);
3.1 主成分分析
對(duì)預(yù)處理后所得數(shù)據(jù)中19個(gè)變量進(jìn)行主成分分析,利用MATLAB進(jìn)行主成分分析過(guò)程編碼,先求得相關(guān)矩陣R,然后求相關(guān)矩陣的特征值,并分析它們各自的貢獻(xiàn)率。部分程序代碼如下:
Cwstda.m;%用綜合標(biāo)準(zhǔn)化矩陣
function stda=cwstda(vector)
cwsumr=sum(vector,1);
[a,b]=size(vector);
%矩陣行數(shù)為a,列數(shù)為b
for i=1:a
for j=1:b
stda(i,j)=vector(i,j)/cwsumr(j);
end
end
Cwfacr.m,%相關(guān)系數(shù)矩陣計(jì)算
function result=cwfacr(vector)
fprintf('相關(guān)矩陣系數(shù)為:/n')
stda=CORRCOEF(vector)
fprintf('特征向量(vec)及特征值(val)分別為:/n')
[vec,val]=eig(stda);
newval=diag(val);
[y,i]=sort(newval);
fprintf('進(jìn)行特征根排序:/n')
for z=1:length(y)
newy(z)=y(length(y)+1-z);
end
fprintf('%g/n',newy)
rate=y/sum(y);
fprintf('/n貢獻(xiàn)率為:/n')
newrate=newy/sum(newy)
sumrate=0;
newi=[];
for k=length(y):-1:1
sumrate=sumrate+rate(k);
newi(length(y)+1-k)=i(k);
if sumrate>0.85
break;
end
end
fprintf('主成分?jǐn)?shù)為:%g/n',length(newi));
fprintf('主成分載荷為:/n')
for p=1:length(newi)
for q=1:length(y)
result(q,p)=sqrt(newval(newi(p)))*
vec(q,newi(p));
end
end
disp(result)
end
Cwscore.m;
%計(jì)算各主成分得分與綜合得分并排序
function score=cwscore(vector1,vector2);
sco=vector1*vector2;
csum=sum(sco,2);
[newcsum,i]=sort(-1*csum);
[newi,j]=sort(i);
fprintf('計(jì)算得分結(jié)果:/n')
score=[sco,csum,j]
end
經(jīng)MATLAB主成分分析的結(jié)果見(jiàn)表1。
表1 相關(guān)矩陣特征值及其貢獻(xiàn)率
一般要求累計(jì)貢獻(xiàn)率達(dá)到80%~90%即可,從表中可看出,前10個(gè)特征根的累積貢獻(xiàn)率達(dá)到88.38%,選取前10個(gè)主成分進(jìn)行綜合評(píng)價(jià)。求出前10個(gè)特征根對(duì)應(yīng)的特征向量,就可得到10個(gè)主成分,用這10個(gè)主成分代替原來(lái)的19個(gè)變量作為網(wǎng)絡(luò)的輸入變量。
3.2 遺傳算法
網(wǎng)絡(luò)訓(xùn)練仍然采用批處理的訓(xùn)練方式進(jìn)行,將全部實(shí)驗(yàn)數(shù)據(jù)作為訓(xùn)練樣本進(jìn)行網(wǎng)絡(luò)訓(xùn)練。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為10-20-1-
1,隱含層傳遞函數(shù)為“tansig”,輸出層傳遞函數(shù)為“purelin”。
將遺傳算法的編碼精度設(shè)為eps=1e-6。在GA種群規(guī)模和遺傳代數(shù)的選擇上,如果設(shè)置過(guò)小,會(huì)使所得解達(dá)不到預(yù)期精度,如果設(shè)置過(guò)大,會(huì)導(dǎo)致冗余現(xiàn)象,增加了網(wǎng)絡(luò)的訓(xùn)練負(fù)擔(dān)[4]。因此進(jìn)行多次仿真實(shí)驗(yàn),最終選定GA的初始種群個(gè)數(shù)為popu=50,遺傳代數(shù)GEN=100。按照?qǐng)D1所示的流程開(kāi)發(fā)仿真程序,目標(biāo)函數(shù)定義為gabpEval。程序代碼如下:
R=size(P,1);
S1=25;%計(jì)算隱含層節(jié)點(diǎn)數(shù)
S2=size(T,1);
S=R*S1+S1*S2+S1+S2;
%計(jì)算遺傳算法編碼長(zhǎng)度
Lena=ones(S,1)*[-1,1];
popu=50;%種群規(guī)模設(shè)定
initPpp=initializega(popu,Lena,'gabpEval');
%種群初始化
gen=100;%遺傳代數(shù)設(shè)定
%調(diào)用GAOT工具箱,gabpEval為定義的目標(biāo)函數(shù)
[x,endPop,bPop,trace]=ga(Lena,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...
'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);
染色體的平均適應(yīng)度在訓(xùn)練過(guò)程在2次迭代之后,基本趨于穩(wěn)定,得到最優(yōu)的初始權(quán)值。
3.3 仿真實(shí)驗(yàn)及其結(jié)果
創(chuàng)建BP網(wǎng)絡(luò),將遺傳算法優(yōu)化得到的初始權(quán)值帶入網(wǎng)絡(luò),以主成分分析得到的10個(gè)主成分為輸入變量,設(shè)定訓(xùn)練誤差目標(biāo)為1e-5,最大迭代次數(shù)為900,學(xué)習(xí)速率為0.05。訓(xùn)練過(guò)程如圖2所示。
圖2 訓(xùn)練過(guò)程中網(wǎng)絡(luò)誤差的變化
從圖2可以看到,網(wǎng)絡(luò)訓(xùn)練經(jīng)過(guò)4次迭代,就達(dá)到了設(shè)定的目標(biāo)要求。因此可見(jiàn)網(wǎng)絡(luò)較好的克服了局部最小問(wèn)題,誤差曲線沒(méi)有出現(xiàn)水平段,變化較快。接下來(lái)對(duì)訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行仿真,并計(jì)算相對(duì)誤差,如圖3所示。
圖3 改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果
通過(guò)觀察圖3可以看出,預(yù)測(cè)輸出與期望輸出非常接近,擬合效果較好,此遺傳神經(jīng)網(wǎng)絡(luò)具有較好的數(shù)據(jù)擬合能力。
由圖3可以得出,遺傳BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值的相對(duì)誤差在-0.000 4~0.000 05這個(gè)區(qū)間,有效地提高了預(yù)測(cè)精確度。遺傳BP神經(jīng)網(wǎng)絡(luò)方法對(duì)同一動(dòng)態(tài)測(cè)量數(shù)據(jù)的預(yù)測(cè)效果明顯好于經(jīng)典BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果,證明了遺傳BP神經(jīng)網(wǎng)絡(luò)在動(dòng)態(tài)測(cè)量數(shù)據(jù)預(yù)測(cè)方面的優(yōu)越性。
編程工具軟件為Matlab,進(jìn)行基于改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的航空液壓油參數(shù)軟測(cè)量的軟件設(shè)計(jì)。
軟件功能分為網(wǎng)絡(luò)訓(xùn)練和機(jī)械雜質(zhì)含量測(cè)量?jī)刹糠帧?/p>
1)網(wǎng)絡(luò)訓(xùn)練模塊:
網(wǎng)絡(luò)訓(xùn)練模塊功能包括設(shè)定網(wǎng)絡(luò)參數(shù)、對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練及查看訓(xùn)練效果。
訓(xùn)練效果即為將網(wǎng)絡(luò)訓(xùn)練結(jié)束后所得的結(jié)果繪制成圖,以圖形方式直觀地讓大家看到網(wǎng)絡(luò)訓(xùn)練是否滿足要求。圖形共有3種,分別是期望輸出與網(wǎng)絡(luò)輸出、網(wǎng)絡(luò)預(yù)測(cè)值的相對(duì)誤差曲線和適應(yīng)值曲線。
2)機(jī)械雜質(zhì)含量測(cè)量模塊:
機(jī)械雜質(zhì)含量測(cè)量模塊主要有數(shù)據(jù)的輸入和運(yùn)用網(wǎng)絡(luò)進(jìn)行軟測(cè)量并顯示結(jié)果的功能。
數(shù)據(jù)的輸入。將有效的數(shù)據(jù)輸入對(duì)應(yīng)變量中,以便下一步進(jìn)行機(jī)械雜質(zhì)含量測(cè)量。
機(jī)械雜質(zhì)含量測(cè)量。將剛輸入的數(shù)據(jù),帶入前面訓(xùn)練好的網(wǎng)絡(luò),就可得到與輸入數(shù)據(jù)對(duì)應(yīng)的機(jī)械雜質(zhì)含量。
論文首先對(duì)航空液壓油軟測(cè)量參數(shù)進(jìn)行分析,包括輔助變量的選擇和數(shù)據(jù)預(yù)處理;然后進(jìn)行基于改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的建模與仿真實(shí)驗(yàn),對(duì)實(shí)驗(yàn)結(jié)果表明改進(jìn)后的網(wǎng)絡(luò)應(yīng)用于航空液壓油軟測(cè)量能達(dá)到較好的測(cè)量效果。
[1] 龔 純,王正林.精通MATLAB最優(yōu)化計(jì)算[M].北京:電子工業(yè)出版社,2009.
[2] 黃 勤,劉衍鵬,劉益良,等.基于PCA的GA-BP神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用研究,26(12),2009:4755-4756.
[3] 龔 純,王正林.MATLAB語(yǔ)言常用算法程序集[M].北京:電子工業(yè)出版社,2011.
[4] Fu Lian Dong D, Chen Kui Sheng, Yu Jun Sheng, et.al.The Fault Diagnosis for lectro-Hydraulic Servo Valve Based on the Improved Genetic Neural Network Algorithm[A]. Machine Learning and Cybernetics, 2006 International Conference on [C].Aug, 2006:2995-2999.
Aircraft Hydraulic Fluids Soft Measurement Based on Improved sBP Neural Network
Yu Wensheng
(Navy Equipment Department Aviation Technical Support Division, Beijing 100084, China)
The BP neural network is increasingly used in the soft measurement modeling, compared with the traditional method, the BP neural network information processing can reduce the data analysis and modeling work, but there are also easy to fall into local minimum and the initial weights randomly selected defects. In order to solve the defects of traditional BP neural network, the thesis introduced in the process of data preprocessing, principal component analysis (PCA), when the input of the BP network weights is introduced into the genetic algorithm (GA), and finally achieve the purpose of make up for the BP neural network defects; Introduces in detail the process and steps of improved algorithm, the improved BP neural network was applied to the soft measurement of the aircraft hydraulic fluids detection, first analyze the aviation aircraft hydraulic fluids soft measurement parameters, including the selection of auxiliary variables and data preprocessing, and then based on the improved BP neural network modeling and simulation experiments. The experimental results show that the improved BP neural network model of the generalization ability is stronger, more widely, can achieve better measuring result, which make the BP neural Network can be used even more widely.
soft measurement; BP neural network; PCA;GA
2015-08-27;
2015-10-30。
虞文勝(1968-),男,安徽合肥人,高級(jí)工程師,工學(xué)學(xué)士,主要從事航空裝備檢測(cè)方向的研究。
1671-4598(2016)03-0021-04
10.16526/j.cnki.11-4762/tp.2016.03.007
TP15
A