摘 要:通過(guò)人工神經(jīng)網(wǎng)絡(luò)算法與參數(shù)靈敏度分析的結(jié)合,找到了一種新的工程系統(tǒng)功能模擬和變化分析方法。神經(jīng)網(wǎng)絡(luò)可以有效地解決復(fù)雜、非線(xiàn)性系統(tǒng)的功能模擬問(wèn)題,其傳遞函數(shù)的可微性為參數(shù)靈敏度矩陣的求解提供了保證,從而方便尋找系統(tǒng)輸入屬性與輸出屬性之間的影響因子。同時(shí),該模型具有良好的擴(kuò)展性,可以更加全面地考慮系統(tǒng)影響因素。經(jīng)實(shí)例仿真分析表明:該方法在工程分析方面,能夠快速找到屬性之間的關(guān)聯(lián)程度,得到準(zhǔn)確、穩(wěn)定的分析結(jié)果,滿(mǎn)足工程分析需求。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò); BP 算法; 感知器; 靈敏度分析
中圖分類(lèi)號(hào):TP183文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2009)06-2279-03
doi:10.3969/j.issn.1001-3695.2009.06.085
Parameter sensitivity analysis based on artificial neural network
YU Ji-hui, WEI Jun-tao, PENG Guang-jin, WANG Ying
(State Key Laboratory of Power Transmission Equipment System Security New Technology, Chongqing University,Chongqing 400030,China)
Abstract:
studied new method of function simulation and analysis based on the combination of artificial neural network and parameter sensitivity analysis. Neural networks algorithm Could solve the function simulation problem of complex, nonlinear system effectively. The differentiability of the transfer function provided a guarantee to solution of sensitivity matrix, and made the searching for the impact between the input and output attributes. Meanwhile, the model had a good scalability, could be better to consider a comprehensive system factor. The conclusion shows that the method can find out correlation degree of attributes quickly and obtain a result ideally at the aspect of engineering analysis system.
Key words:neural network; BP algorithm; perceptron; sensitivity analysis(SA)
0 引言
隨著社會(huì)和技術(shù)的進(jìn)步,大系統(tǒng)工程的出現(xiàn)在所難免,從而使工程系統(tǒng)及其變化分析變得越來(lái)越復(fù)雜。工程系統(tǒng)成為一個(gè)有眾多影響因素和多目標(biāo)輸出的復(fù)雜非線(xiàn)性問(wèn)題。針對(duì)工程系統(tǒng)進(jìn)行有效計(jì)算和變化分析變得費(fèi)時(shí)、費(fèi)力,又常常得不到理想結(jié)果。如何能夠找到一種簡(jiǎn)化、高效的數(shù)學(xué)模型對(duì)工程系統(tǒng)進(jìn)行功能模擬和變化分析就迫在眉睫。
對(duì)于復(fù)雜系統(tǒng)的模擬,隨著智能算法研究的深入,新算法不斷出現(xiàn)。較為常見(jiàn)的智能模擬方法有神經(jīng)網(wǎng)絡(luò)[1,2]、遺傳算法[3]、小波分析[4]等。而目前最為常用的神經(jīng)網(wǎng)絡(luò)算法,提出類(lèi)似于人腦神經(jīng)元的連接方式來(lái)決定系統(tǒng)的自適應(yīng)、非線(xiàn)性和并行處理能力,從而對(duì)系統(tǒng)進(jìn)行模擬。針對(duì)系統(tǒng)變化的分析,Salitelli等人提出參數(shù)靈敏度(SA)[5,6]模型,研究數(shù)學(xué)模型的輸出變化如何根據(jù)輸入源的變化進(jìn)行定量或定性的分配。本文通過(guò)神經(jīng)網(wǎng)絡(luò)與靈敏度分析的結(jié)合,利用已知的系統(tǒng)輸入?yún)⒘浚瑢?shí)現(xiàn)對(duì)系統(tǒng)工程的輸出預(yù)測(cè);同時(shí),分析系統(tǒng)輸入輸出之間的變化關(guān)系,從而實(shí)現(xiàn)利用數(shù)學(xué)模型對(duì)系統(tǒng)進(jìn)行分析模擬的目標(biāo)。
1 基于神經(jīng)網(wǎng)絡(luò)的靈敏度分析方法
1.1 神經(jīng)網(wǎng)絡(luò)的映射機(jī)制
神經(jīng)網(wǎng)絡(luò)能夠模擬復(fù)雜的非線(xiàn)性系統(tǒng),關(guān)鍵在于其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與學(xué)習(xí)算法的合理搭配[7]。對(duì)于在監(jiān)督方式下訓(xùn)練的網(wǎng)絡(luò),有以下四種網(wǎng)絡(luò)映射方式:a)聯(lián)想記憶網(wǎng)絡(luò);b)利用反向傳播算法的前向多層感知器;c)對(duì)傳網(wǎng)絡(luò);d)徑向基函數(shù)網(wǎng)絡(luò)。
本文采用的網(wǎng)絡(luò)映射方式為多層感知器(multi-layer perceptron, MLP)模型,它以其結(jié)構(gòu)明確、訓(xùn)練算法成熟和非線(xiàn)性映射能力強(qiáng)等特點(diǎn)成為現(xiàn)在最廣為使用的網(wǎng)絡(luò)映射方式[8]。其結(jié)構(gòu)如圖1所示。
圖1為典型的多層前向感知器,由輸入層、隱含層和輸出層構(gòu)成。其具體數(shù)學(xué)表達(dá)式如下:
第一層 : in1=w1p+b1out1=f1(in1)(1)
第二層 : in2=w2out1+b2 out2=f2(in2)(2)
第M層 : inM=wMoutM-1+bMoutM=fM(inM)(3)
其中:p為網(wǎng)絡(luò)結(jié)構(gòu)的輸入向量;inM為第M層神經(jīng)元的輸入向量;wM為第M-1層與第M層神經(jīng)元間的連接權(quán)值矩陣;bM為第M層神經(jīng)元的偏置向量;fM為第M層神經(jīng)元的傳遞函數(shù);outM為第M層神經(jīng)元的輸出向量。
同時(shí),神經(jīng)元傳遞函數(shù)的性質(zhì)直接決定了網(wǎng)絡(luò)結(jié)構(gòu)的映射性能,常用的函數(shù)形式有以下幾種:
a)閾值函數(shù)out=1 in≥00 in<0(4)
b)線(xiàn)性函數(shù)out=k#8226;in(5)
c)對(duì)數(shù)sigmoid函數(shù)out=1/(1+e-in)(6)
d)正切sigmoid函數(shù)out=(ein-e-in)/(ein+e-in)(7)
其中:c)和d)是實(shí)現(xiàn)非線(xiàn)性映射機(jī)制的關(guān)鍵,也稱(chēng)為sigmoid轉(zhuǎn)換函數(shù)。
1.2 參數(shù)靈敏度分析原理
當(dāng)一個(gè)工程系統(tǒng)規(guī)劃確定后,輸入?yún)?shù)的變化往往是部分屬性子集的變化,而不是整個(gè)輸入?yún)?shù)的全盤(pán)更改,因此本文著重討論局部靈敏度分析法。
對(duì)于與時(shí)間無(wú)關(guān)的靜定系統(tǒng)而言,系統(tǒng)方程可表示為[9]
y=f(x)(8)
其中:y=(y1,y2,…,yn)T是系統(tǒng)的輸出變量;x=(x1,x2,…,xm)T是系統(tǒng)的輸入變量。
當(dāng)系統(tǒng)輸入?yún)?shù) x發(fā)生微小攝動(dòng) Δx時(shí),對(duì)應(yīng)系統(tǒng)輸出 y可利用泰勒公式展開(kāi):
y(x+Δx)=y(x)+∑mj=1y/xjΔxi+1/2∑ml=1∑mj=1(2y/xlxj)ΔxlΔxj+…(9)
其中:將一階偏微分yi/kj稱(chēng)為一階靈敏度指標(biāo);二階偏微分 y2i/klkj稱(chēng)為二階靈敏度指標(biāo),依此類(lèi)推。實(shí)際操作中,由于一階靈敏度指標(biāo)能夠較為全面反映出系統(tǒng)模型在某一名義點(diǎn)處隨輸入?yún)?shù)變化的趨勢(shì)及大小,常將它作為局部靈敏度分析指標(biāo),相應(yīng)的靈敏度矩陣為
S={Sij}={yi/xj}(10)
1.3 基于神經(jīng)網(wǎng)絡(luò)的參數(shù)靈敏度分析
參數(shù)靈敏度分析[10]原本的目的是計(jì)算各系統(tǒng)參數(shù)對(duì)于系統(tǒng)輸出的影響因子,從而對(duì)系統(tǒng)參數(shù)進(jìn)行優(yōu)選。本文借用靈敏度分析的計(jì)算方法求出部分屬性共同變化時(shí)對(duì)應(yīng)的靈敏度矩陣,再根據(jù)靈敏度值的大小找出對(duì)輸出結(jié)果影響較大的屬性。而針對(duì)系統(tǒng)計(jì)算的BP神經(jīng)網(wǎng)絡(luò)是基于誤差反向傳播算法的多層前向神經(jīng)網(wǎng)絡(luò),是最常用的系統(tǒng)分析模型。其傳遞函數(shù)選用sigmoid型可微函數(shù),這為計(jì)算靈敏度矩陣提供了數(shù)學(xué)理論上的保證。
對(duì)于含一個(gè)隱層的BP神經(jīng)網(wǎng)絡(luò),設(shè)網(wǎng)絡(luò)輸出為o,網(wǎng)絡(luò)輸入為p,則神經(jīng)網(wǎng)絡(luò)的映射關(guān)系為
in1=w1×p+b1 out1=f1(in1)(11)
in2=w2out1+b2 o=f2(in2)(12)
其中:in1指隱層神經(jīng)元的輸入向量;in2指輸出層神經(jīng)元的輸入向量。隱含層傳遞函數(shù)是雙曲正切函數(shù),如式(7)所示。輸出層傳遞函數(shù)是線(xiàn)性函數(shù),如式(5)所示,且令k=1。
網(wǎng)絡(luò)輸出 o對(duì)于網(wǎng)絡(luò)輸入 p的靈敏度矩陣可以由下式計(jì)算:
o/p=o/in2 in2/out1 out1/in1 in1/p=[f2(in2)]′×w2×[f1(in1)]′×w1(13)
同時(shí),在BP網(wǎng)絡(luò)計(jì)算時(shí),需對(duì)輸出輸入值進(jìn)行標(biāo)準(zhǔn)化處理,將數(shù)值限定在[0,1]區(qū)間內(nèi)。設(shè)系統(tǒng)的輸入向量為 x,輸出向量為 z,則歸一化矩陣為
p=Ax+B o=Cz+D(14)
其中:A、B、C、D分別對(duì)應(yīng)網(wǎng)絡(luò)輸入層和輸出層的歸一化轉(zhuǎn)換矩陣和偏量矩陣。將數(shù)據(jù)歸一處理到區(qū)間[0,1]的計(jì)算公式為
x=(x-min X)/(max X-min X)y=(y-min Y)/(max Y-min Y)(15)
其中:min X、max X、min Y、max Y分別表示系統(tǒng)輸入和輸出向量中的極小、極大值。
從而求得系統(tǒng)輸出向量z相對(duì)于系統(tǒng)輸入向量x的靈敏度矩陣:
z/x=z/o o/p p/x=C-1×[f2(in2)]′×w2×[f1(in1)]′×w1×A(16)
由隱含層和輸出層函數(shù)形式可得:
[f1(y)]′=1-[f1(y)]2 [f2(y)]′=1(17)
將式(1)(14)(17)帶入式(16)得
z/x=C-1×w2×{1-[f1(in1)]2}×w1×A=C-1×w2×{1-[f1(w1Ax+w1B+b1)]2}×w1×A(18)
式(18)即為利用含一個(gè)隱含層的BP神經(jīng)網(wǎng)絡(luò)計(jì)算靈敏度矩陣的一般表達(dá)式。利用系統(tǒng)數(shù)據(jù)對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練后,參數(shù) w1、b1、w2可以直接讀取出來(lái);再利用式(14)和(15)求歸一化矩陣A、B、C、D,即可以方便地計(jì)算出靈敏度矩陣。
2 模型建立及實(shí)例評(píng)估
為了更好地分析該模型,特選取某地區(qū)電力線(xiàn)路造價(jià)數(shù)據(jù)進(jìn)行實(shí)例分析。基于神經(jīng)網(wǎng)絡(luò)的靈敏度分析模型建立過(guò)程如圖2所示。
首先對(duì)歷史數(shù)據(jù)進(jìn)行歸一化處理得到標(biāo)準(zhǔn)數(shù)據(jù),并獲取系數(shù)矩陣;然后將標(biāo)準(zhǔn)數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò),訓(xùn)練網(wǎng)絡(luò)權(quán)值使網(wǎng)絡(luò)達(dá)到一定的精度,讀取神經(jīng)元權(quán)值,并按式(18)計(jì)算靈敏度矩陣。
2.1 模型建立
為便于對(duì)模型進(jìn)行功能模擬和變化分析,將該模型在電力線(xiàn)路造價(jià)管理研究中進(jìn)行應(yīng)用。本文定義了研究對(duì)象的輸入集合和輸出集合,如下所示:
輸入集={x1:截面(mm2),x2:地形系數(shù),x3:轉(zhuǎn)角次數(shù)(次),x4:平均檔距(m),x5:人力運(yùn)距(m),x6:汽車(chē)運(yùn)距(m),x7:水泥桿數(shù)(基),x8:鐵塔桿數(shù)(基),x9:澆型基數(shù)(基),x10:掛線(xiàn)金具(萬(wàn)元/km),x11:拉線(xiàn)金具(萬(wàn)元/km),x12:絕緣子(萬(wàn)元/km)}
輸出集={y1:單位靜態(tài)造價(jià)(萬(wàn)元/km),y2:單位動(dòng)態(tài)造價(jià)(萬(wàn)元/km)}
輸入屬性則按照實(shí)際工程分析需要。選取歷史工程130個(gè)記錄建立BP網(wǎng)絡(luò),輸入和輸出數(shù)據(jù)如表1、2所示。該BP網(wǎng)絡(luò)的輸入神經(jīng)元為12個(gè),隱層神經(jīng)元10個(gè),輸出層神經(jīng)元兩個(gè)。隱含層傳遞函數(shù)選用正切sigmoid函數(shù),保證可微性;輸出層傳遞函數(shù)選用線(xiàn)性函數(shù)。
首先,對(duì)輸入和輸出數(shù)據(jù)進(jìn)行歸一化處理,由前面設(shè)置的神經(jīng)元個(gè)數(shù)可得到歸一化系數(shù)矩陣A[10×10],B[10×1],C[2×2],D[2×1]。利用歸一化后的數(shù)據(jù)對(duì)BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,采用Le-venberg-Marquardt優(yōu)化方法提高訓(xùn)練效率;采用提前終止法提高網(wǎng)絡(luò)泛化能力,將130個(gè)數(shù)據(jù)分成三組。其中86個(gè)記錄作為訓(xùn)練集,22個(gè)用做測(cè)試集,22個(gè)用做驗(yàn)證集,訓(xùn)練結(jié)果均方誤差如圖3所示。可見(jiàn)網(wǎng)絡(luò)訓(xùn)練集、驗(yàn)證集和測(cè)試集的誤差均同步下降,說(shuō)明通過(guò)訓(xùn)練網(wǎng)絡(luò)已經(jīng)達(dá)到一定精度和泛化能力。
2.2 模型性能評(píng)估
下面將從輸出靈敏度矩陣的合理性和對(duì)于不同觀(guān)察點(diǎn)的輸出穩(wěn)定性?xún)蓚€(gè)方面對(duì)該模型的性能進(jìn)行評(píng)估。
2.2.1 模型輸出的合理性
分別對(duì)比“x1:截面”和“x2:地形系數(shù)”兩個(gè)屬性對(duì)于y1:單位靜態(tài)造價(jià)的靈敏度。設(shè)x1和x2均為實(shí)際值的(-10%,10%)范圍內(nèi)不確定變化,靈敏度矩陣的輸出結(jié)果如圖4所示。圖4(a)是y1對(duì)于x1的靈敏度,y1對(duì)x1的靈敏度值在(-0.2,0.3)內(nèi)波動(dòng);(b)中,y1對(duì)x2靈敏度波動(dòng)范圍是(-0.955, 0)。顯而易見(jiàn),當(dāng)?shù)匦魏徒孛婀餐兓瘯r(shí),對(duì)單位靜態(tài)投資影響而言,地形的變化比導(dǎo)線(xiàn)截面的變化大得多,這與實(shí)際情況十分吻合。在陡峭的地形上施工會(huì)給工地運(yùn)輸、架線(xiàn)等工程帶來(lái)相當(dāng)大的難度,增加許多工作量,導(dǎo)致單位靜態(tài)投資增加。以上結(jié)果說(shuō)明該模型所計(jì)算的靈敏度矩陣與工程實(shí)際情況相吻合,具有一定的合理性。
2.2.2 模型的穩(wěn)定性驗(yàn)證
觀(guān)測(cè)點(diǎn)的選擇,對(duì)靈敏度矩陣的計(jì)算值有一定影響。一個(gè)良好的模型,在不同的觀(guān)測(cè)點(diǎn),對(duì)輸出屬性的靈敏度應(yīng)該表現(xiàn)出一致性。圖5是20個(gè)不同觀(guān)測(cè)點(diǎn)處得到的靈敏度曲線(xiàn),可以看出靈敏度矩陣在不同的屬性點(diǎn)處,變化趨勢(shì)基本一致,說(shuō)明該模型在不同的觀(guān)測(cè)點(diǎn)處輸出值具有一定的穩(wěn)定性。
通過(guò)以上兩點(diǎn)驗(yàn)證,可以認(rèn)為該模型具有一定的合理性和穩(wěn)定性,能找出對(duì)工程造價(jià)影響較大的輸入指標(biāo),可以用于對(duì)工程造價(jià)變化進(jìn)行深入分析。
2.3 模型的應(yīng)用分析
針對(duì)電力線(xiàn)路造價(jià)模型而言,一般利用工程預(yù)測(cè)模型的結(jié)果與實(shí)際結(jié)果進(jìn)行對(duì)比,如果差異在許可范圍之內(nèi),認(rèn)為該結(jié)果基本合理;如果差異較大,則利用本文建立的模型對(duì)結(jié)果進(jìn)行進(jìn)一步分析,以便快速找出差異產(chǎn)生原因。
在此,假設(shè)利用預(yù)測(cè)模型對(duì)工程概算進(jìn)行初審時(shí)發(fā)現(xiàn)“桿塔工程”和“架線(xiàn)工程”單位公里造價(jià)的實(shí)際值與預(yù)測(cè)值發(fā)生了較大的誤差。為此,找出對(duì)這兩個(gè)單位工程影響最大的屬性集。選定輸入屬性集和輸出屬性集:
輸入集={人力運(yùn)距(m),汽車(chē)運(yùn)距(m),絕緣子 (萬(wàn)元/km),導(dǎo)線(xiàn)(萬(wàn)元/km),桿塔(t/km)}
輸出集={桿塔工程(萬(wàn)元/km),架線(xiàn)工程(萬(wàn)元/km)}
用86組歷史工程數(shù)據(jù)訓(xùn)練單隱層BP網(wǎng)絡(luò),輸入層神經(jīng)元6個(gè),隱含層神經(jīng)元9個(gè),輸出層神經(jīng)元兩個(gè),采用L-M方法提高網(wǎng)絡(luò)訓(xùn)練速度,精度達(dá)到要求后,取出網(wǎng)絡(luò)權(quán)值,計(jì)算靈敏度矩陣。將20組記錄輸入模型,所有輸入屬性均在(-10%, 10%)的范圍內(nèi)隨機(jī)取值時(shí)的靈敏度矩陣,得到“桿塔工程”和“架線(xiàn)工程”的靈敏度變化范圍,結(jié)果如圖6所示。
圖6(a)表示桿塔工程的靈敏度變化范圍,反映了整體的變化趨勢(shì),可以看出對(duì)“桿塔工程”影響較大的屬性為3:絕緣子和6:桿塔,工作人員可重點(diǎn)分析這兩個(gè)屬性的相關(guān)信息,發(fā)現(xiàn)誤差產(chǎn)生的原因,從而大大縮小查找范圍。同理,從(b)中可以看出對(duì)架線(xiàn)工程影響最大的屬性是1:人力運(yùn)距和4:導(dǎo)線(xiàn)。
以上仿真結(jié)果是建立在6個(gè)輸入?yún)?shù)的基礎(chǔ)上,由于該模型可以實(shí)現(xiàn)在MATLAB平臺(tái)上輸入/輸出參數(shù)的任意擴(kuò)展,完全可以將更多的輸入?yún)?shù)考慮進(jìn)來(lái),加大誤差搜索范圍,這樣會(huì)得到更精確的結(jié)果,進(jìn)一步縮小驗(yàn)證的范圍。
3 結(jié)束語(yǔ)
本文構(gòu)建了一種基于神經(jīng)網(wǎng)絡(luò)的參數(shù)靈敏度分析方法,達(dá)到了對(duì)工程系統(tǒng)進(jìn)行功能模擬與變化分析的目標(biāo)。利用神經(jīng)網(wǎng)絡(luò)對(duì)復(fù)雜工程系統(tǒng)進(jìn)行了功能模擬。通過(guò)神經(jīng)元傳遞函數(shù)的選取,尋求參數(shù)靈敏度矩陣,從而找到輸入屬性與輸出屬性之間的影響因子,為工程分析帶來(lái)便利,并將該模型在電力工程管理中進(jìn)行實(shí)例仿真和驗(yàn)證,能夠利用歷史數(shù)據(jù)對(duì)工程進(jìn)行合理預(yù)測(cè),快速找出對(duì)造價(jià)影響較大的屬性指標(biāo),作為誤差分析的主要對(duì)象,以便快速查找誤差原因。該模型提供的分析方法能幫助工作人員理解指標(biāo)變化對(duì)于結(jié)果的影響,有利于快速找尋最優(yōu)方案;同時(shí),該模型具有良好的擴(kuò)展性,可以更加全面地考慮工程影響因素,提高驗(yàn)證精度。結(jié)果表明:該模型具有較好的可行性和適應(yīng)性以及擴(kuò)展性,可以推廣應(yīng)用到其他工程系統(tǒng)分析領(lǐng)域中。
參考文獻(xiàn):
[1]MANDAL P, SENJYU T, UEZATO K, et al. Several-hours-ahead electricity price and load forecasting using neural networks[J]. Power Engineering Society General Meeting, 2005,3(12-16):2146-2153.
[2]LU Ming, CHAN W H, YEVNG D S. Sensitivity analysis on a construction operations simulation model using neural networks[C]//Proc of International Conference on Machine Learning and Cybernetics. [S.l.]:IEEE Press, 2005:4173-4178.
[3]周雙喜,鄭智,魯宗相,等.基于多種群遺傳算法的規(guī)劃[J]. 電力系統(tǒng)及自動(dòng)化,2007,19(6):66-71.
[4]GALLI A W, NIELSEN O M. Wavelet analysis for power system transients[J]. Computer Applications in Power, 1999,12(1):16-25.
[5]SALITELLI A,CHAN K,SCOTT E M. Sensitivity analysis(series in probability and statistics) [M]. New York:Ohn Wiley Sons, 2000.
[6]GENNAT M, TIBKEN B. Sensitivity analysis using interval arithmetic[C]//Proc of the 3rd International Conference on ICTTIA2008.[s.l.]:IEEE Press, 2008:1-6.
[7]FREDRIC M, HAM I K. 神經(jīng)計(jì)算原理[M]. 葉世偉,王海娟,譯.北京:機(jī)械工業(yè)出版社,2007.
[8]張劍湖,葉峰.人工神經(jīng)網(wǎng)絡(luò)的模型、特征及其發(fā)展方向[J].現(xiàn)代電子技術(shù),2004,27(12):57-60.
[9]TSAIH R. Sensitivity analysis, neural networks, and the finance[C]//International Joint Conference on Neural Network.[S.l]:IEEE Press, 1999:3830-3835.
[10]TURANYI T. Sensitivity analysis of complex kinetic systems: tools and applications[J]. Journal of Mathematical Chemistry, 1990,5(3):203-248.