基于神經(jīng)網(wǎng)絡(luò)優(yōu)化的油水界面軟測(cè)量
原油脫水過(guò)程中油水界面的準(zhǔn)確監(jiān)測(cè)對(duì)油品的含水率、污水回收及處理成本都是極為關(guān)鍵的,能開(kāi)發(fā)出在線的測(cè)量技術(shù)具有十分重要的現(xiàn)實(shí)意義。
遺傳算法和神經(jīng)網(wǎng)絡(luò)都是將生物學(xué)原理應(yīng)用于科學(xué)研究的仿生學(xué)理論成果,由于它們具有極強(qiáng)的解決問(wèn)題的能力,近年來(lái)引起了眾多科研人員和工程人員的興趣和關(guān)注[1]。但神經(jīng)網(wǎng)絡(luò)和遺傳算法作為傳統(tǒng)的算法,不僅計(jì)算量大,消耗時(shí)間多,而且還需要專(zhuān)家進(jìn)行校驗(yàn)[2-4]。因此,為了充分利用兩種算法的優(yōu)勢(shì),彌補(bǔ)兩者之間的缺陷,本文采用了將兩者結(jié)合的思想。
2 問(wèn)題描述
在基于BP算法的多層前饋網(wǎng)絡(luò)的應(yīng)用中,以圖1所示的單隱層網(wǎng)絡(luò)的應(yīng)用最為普遍。一般習(xí)慣將單隱層前饋網(wǎng)絡(luò)稱(chēng)為三層前饋網(wǎng)或三層感知器,所謂的三層包括了輸入層、隱層和輸出層。隱層可以是單層,也可以是多層,前層至后層節(jié)點(diǎn)通過(guò)權(quán)連接。
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)
輸入矢量維數(shù)為R,隱層神經(jīng)元的個(gè)數(shù)為S1,輸出層神經(jīng)元的個(gè)數(shù)S2,a1表示隱層神經(jīng)元的輸出矢量,a2表示輸出層神經(jīng)元的輸出矢量,W1,1表示隱層神經(jīng)元域?yàn)槿我患?。?duì)適應(yīng)度函數(shù)唯一的要求是輸入可計(jì)算出能加以比較的非負(fù)結(jié)果。適應(yīng)度函數(shù)具體的計(jì)算方法為:將染色體上表示的各個(gè)參數(shù)分配到BP網(wǎng)絡(luò)的結(jié)構(gòu)上,結(jié)合訓(xùn)練樣本集的輸入與輸出,計(jì)算網(wǎng)絡(luò)的輸出后得到網(wǎng)絡(luò)實(shí)際輸出與希望輸出的誤差,取誤差平方和作為目標(biāo)函數(shù),即
(3)
式中為網(wǎng)絡(luò)輸入輸出樣本對(duì)個(gè)數(shù);為輸出層節(jié)點(diǎn)個(gè)數(shù);,為當(dāng)輸入第個(gè)樣本時(shí),第個(gè)輸出節(jié)點(diǎn)的期望輸出與實(shí)際輸出。
遺傳算法以適應(yīng)度函數(shù)作為進(jìn)化目標(biāo),且只能朝著適應(yīng)度函數(shù)值增大的方向進(jìn)化,所以適應(yīng)度函數(shù)與目標(biāo)函數(shù)之間要進(jìn)行適當(dāng)?shù)霓D(zhuǎn)換。由于進(jìn)化中的網(wǎng)絡(luò)誤差是非零正數(shù),可將目標(biāo)函數(shù)的倒數(shù)作為適應(yīng)度函數(shù),即c) 遺傳算子的選擇。
① 用輪盤(pán)賭法確定選擇算子,種群中個(gè)體的選擇概率為
(5)
式中
為個(gè)體的適應(yīng)度;
為種群的總適應(yīng)度;
為個(gè)體的選擇概率。
輪盤(pán)賭法的具體實(shí)現(xiàn)是:先計(jì)算出當(dāng)前種群的總適應(yīng)度,然后產(chǎn)生一個(gè)[0,1]之間的隨機(jī)數(shù),求取,并將滿足下列條件的第個(gè)個(gè)體選中,進(jìn)入交叉操作:
(6)
進(jìn)行次這樣的操作,得到個(gè)個(gè)體,與最優(yōu)選擇機(jī)制保留下來(lái)的適應(yīng)度最大的個(gè)體,一起構(gòu)成個(gè)個(gè)體,進(jìn)入接下來(lái)的交叉和變異操作。
② 采用自適應(yīng)的交叉概率的算法,使群體中最大適應(yīng)度值的個(gè)體的交叉率和變異率不為零,分別得到提高,這就相應(yīng)地提高了群體中表現(xiàn)優(yōu)良的個(gè)體的交叉率和變異率,使得它們不會(huì)處于一種近似停滯不前的狀態(tài)。
種群中個(gè)體的交叉概率為
(7)
其中為常數(shù);為“早熟度”,用來(lái)評(píng)價(jià)種群是否早熟的指標(biāo),其計(jì)算公式為,其中表示種群中個(gè)體適應(yīng)度的最大值,表示個(gè)體適應(yīng)度大于整體平均適應(yīng)度的個(gè)體的平均適應(yīng)度。
在二進(jìn)制編碼中,采用的是單點(diǎn)或多點(diǎn)交叉。對(duì)于實(shí)數(shù)編碼來(lái)說(shuō),采用這些方法是困難的,本文采用算數(shù)交叉,即
(8)
式中,為父代個(gè)體;,是子代個(gè)體;為(0,1)間的實(shí)數(shù)。
交叉時(shí)由于碼串選取的是最大可能長(zhǎng)度,不會(huì)產(chǎn)生混亂現(xiàn)象。
③ 采用自適應(yīng)的變異概率的算法,使遺傳算法具有局部的隨機(jī)搜索能力,在接近最優(yōu)解的鄰域時(shí)加速向最優(yōu)解收斂,維持種群多樣性,防止出現(xiàn)不成熟收斂。
種群中個(gè)體的交叉概率為
(9)
其中為常數(shù)。
非一致變異算子可以增強(qiáng)局部搜索能力,因此本文采用非一致變異操作進(jìn)行算子的變異。假設(shè)為父代種群中的一個(gè)個(gè)體,其中。隨機(jī)選取中的一個(gè)基因,假設(shè)為第個(gè)基因,進(jìn)行變異,則子代個(gè)體為。
評(píng)論