趙世季
(上海民航職業(yè)技術(shù)學(xué)院,上海 200232)
隨著不同學(xué)科交叉融合的深入,有學(xué)者根據(jù)人體免疫學(xué)以及人工魚群的特點(diǎn),嘗試對(duì)其二者進(jìn)行交叉融合,提出了一種新的經(jīng)濟(jì)測(cè)算模型,即免疫人工魚群算法。相較于BP神經(jīng)網(wǎng)絡(luò)算法,免疫人工魚群算法具有容易收斂、自學(xué)習(xí)精度較高、泛化能力較強(qiáng)等特點(diǎn)。本文在充分了解與掌握BP神經(jīng)網(wǎng)絡(luò)算法優(yōu)缺點(diǎn)的基礎(chǔ)之上,將人工魚群算法與人體免疫學(xué)的特征在一定前提假設(shè)的情況下進(jìn)行數(shù)學(xué)描述,構(gòu)建了一種效率更高、精度更準(zhǔn)的經(jīng)濟(jì)預(yù)測(cè)模型,即免疫人工魚群算法。通過將神經(jīng)網(wǎng)絡(luò)和免疫人工魚群算法相互結(jié)合,形成了以神經(jīng)網(wǎng)絡(luò)和免疫人工魚群算法為核心的宏觀經(jīng)濟(jì)預(yù)測(cè)模型,從而可以更準(zhǔn)確地預(yù)測(cè)未來經(jīng)濟(jì)的發(fā)展趨勢(shì),從而制定相應(yīng)的經(jīng)濟(jì)決策,為國(guó)家宏觀經(jīng)濟(jì)的定量預(yù)測(cè)提供了新的思路和方法。
國(guó)民經(jīng)濟(jì)預(yù)測(cè)模型的計(jì)算量龐大,組成元素之間的雖相互關(guān)聯(lián)但數(shù)據(jù)之間難以用一般線性公式進(jìn)行描述,是一個(gè)數(shù)據(jù)冗雜繁多的非線性計(jì)算系統(tǒng)。也正如此,在針對(duì)國(guó)民經(jīng)濟(jì)系統(tǒng)中的各要素進(jìn)行分析的過程中,各統(tǒng)計(jì)要素彼此相互關(guān)聯(lián),不同部門與地區(qū)經(jīng)濟(jì)指標(biāo)之間往往也存在一定關(guān)系,這種數(shù)據(jù)與要素之間緊密的關(guān)聯(lián)性稱之為國(guó)民經(jīng)濟(jì)數(shù)據(jù)的內(nèi)在關(guān)聯(lián)性。區(qū)別于國(guó)民經(jīng)濟(jì)中各數(shù)據(jù)要素內(nèi)在關(guān)聯(lián)性的影響,外界的諸多不確定因素也會(huì)對(duì)國(guó)民經(jīng)濟(jì)數(shù)據(jù)造成嚴(yán)重影響,導(dǎo)致國(guó)民經(jīng)濟(jì)的數(shù)據(jù)出現(xiàn)周期性地波動(dòng)。這種波動(dòng)和周期性構(gòu)成了國(guó)民經(jīng)濟(jì)的各種組成形式,同時(shí)也導(dǎo)致了國(guó)民經(jīng)濟(jì)內(nèi)部具備不確定性和非線性的特征。鑒于國(guó)民經(jīng)濟(jì)的不確定性和非線性,有研究學(xué)者嘗試將人工魚群算法與人體免疫學(xué)的特征相互融合,在BP神經(jīng)網(wǎng)絡(luò)算法的基礎(chǔ)之上,提出了基于免疫人工魚群算法的經(jīng)濟(jì)預(yù)測(cè)模型,以此來描述經(jīng)濟(jì)學(xué)中的復(fù)雜性與不確定性,這種學(xué)科交叉融合的思路為國(guó)民經(jīng)濟(jì)預(yù)測(cè)模型的構(gòu)建提出了新思路與新方法。
通過研究人工免疫系統(tǒng)的原理時(shí)發(fā)現(xiàn),在工程應(yīng)用中眾多復(fù)雜的問題同樣可以借鑒免疫系統(tǒng)中的免疫功能以及作用機(jī)理進(jìn)行求解。也正如此,在繼承與保留人工魚群算法優(yōu)點(diǎn)的前提下,將人工魚群中的研究對(duì)象——人工魚群類比為人體免疫系統(tǒng)中的抗體,將人工魚群賦予人體免疫系統(tǒng)中抗體的特征,尤其是免疫過程中所產(chǎn)生的免疫記憶等重要功能,借助此方法將人工魚群算法進(jìn)行優(yōu)化升級(jí),構(gòu)建成具備免疫記憶等特征的免疫人工魚群算法。免疫人工魚群算法的計(jì)算優(yōu)化內(nèi)核是當(dāng)人工魚群在覓食、群體性聚集或者彼此追蹤尾隨時(shí),在未對(duì)人工魚群活動(dòng)進(jìn)行任何行為約束的前提下,對(duì)魚群進(jìn)行連續(xù)Mi次的迭代后,其目標(biāo)函數(shù)沒有產(chǎn)生較為明顯的變化時(shí),按照一定比例在人工魚群中隨機(jī)地抽取一定數(shù)量的單體人工魚,參照事先檢驗(yàn)所獲取的先行經(jīng)驗(yàn)知識(shí)或者根據(jù)人工魚的從屬特征信息對(duì)所采樣的單體人工魚的參數(shù)進(jìn)行修改,對(duì)數(shù)據(jù)進(jìn)行整理并構(gòu)建成為新的人工魚群抗體的Rk參數(shù)計(jì)算模型,與此同時(shí),提高算法至全局搜索,為了避免模型產(chǎn)生只能求解參數(shù)特征的缺陷,將算法提高至全局搜索。上述計(jì)算與迭代的流程被稱之為免疫人工魚群算法。
關(guān)于免疫記憶的產(chǎn)生過程,眾所周知,人體免疫系統(tǒng)對(duì)非法入侵體內(nèi)的抗原所產(chǎn)生的一系列應(yīng)激反應(yīng)并將反應(yīng)過程中所產(chǎn)生的部分抗體作為一種記憶細(xì)胞且進(jìn)行生物性保留的過程被我們稱之為免疫記憶,當(dāng)免疫系統(tǒng)針對(duì)某種抗原產(chǎn)生了免疫記憶,那么當(dāng)相同的抗原再次非法入侵人體免疫系統(tǒng)時(shí),免疫系統(tǒng)在免疫記憶的作用下會(huì)迅速激活并產(chǎn)生大量抗體以此來抵御抗原的入侵。在對(duì)整個(gè)人體免疫系統(tǒng)產(chǎn)生免疫記憶這一反應(yīng)進(jìn)行分析時(shí),免疫算子貫穿免疫記憶的整個(gè)過程,是疫苗接種機(jī)體能夠產(chǎn)生免疫記憶的重要因素。也正如此,在免疫人工魚群算法的構(gòu)建過程中,為了利用待求解或者在尋找求解過程中的一些關(guān)鍵信息,通常會(huì)在算法模型中引入類似免疫算子的某些參量,從而保證對(duì)所需特征,借助免疫學(xué)中“接種疫苗”及“疫苗選擇”等生物指征來指引搜索特征,實(shí)現(xiàn)有針對(duì)性地提取及篩選,在此過程中,通過結(jié)合免疫學(xué)的生物特性,設(shè)置相關(guān)參數(shù)對(duì)優(yōu)化過程中的退化現(xiàn)象提前做出判斷并采取相應(yīng)抑制措施,以此來提高標(biāo)準(zhǔn)人工魚群算法的優(yōu)化性能。
基于免疫的新人工魚群的產(chǎn)生機(jī)制如下:第一,在每一次迭代循環(huán)求解的過程中或者在待求解的問題中預(yù)先設(shè)置某些先行經(jīng)驗(yàn)或者符合求解特征的信息進(jìn)行判斷,此次來實(shí)現(xiàn)有用信息的篩選,提取疫苗;第二,基于人工魚群算法,保證個(gè)體魚在覓食過程中可以產(chǎn)生a條新的人工魚,即抗體,或者在其覓食過程中保證隨機(jī)產(chǎn)生b條新的人工魚;第三,根據(jù)食物濃度的不同分布,借助食物濃度的選擇算法,以此來計(jì)算上一步個(gè)體魚覓食過程中所產(chǎn)生a+b條人工魚中每條魚的概率,對(duì)每條魚產(chǎn)生的概率進(jìn)行排序,依概率大小選擇a條人工魚并由此組成新的魚群Nx,這便是新魚群創(chuàng)建的步驟;第四,在人工魚群中按照一定的比例選取一定數(shù)量的人工魚p,將第一步產(chǎn)生的疫苗接種到所選取的p條人工魚中,從而產(chǎn)生帶有抗體的抗體魚群Ux,這便是魚群疫苗δ接種的步驟;第五,對(duì)人工魚群中帶有抗體的人工魚的適應(yīng)度值進(jìn)行計(jì)算,當(dāng)帶有抗體的新人工魚群適應(yīng)度值差于其上一代魚群,則取消疫苗的接種,反之則持續(xù)接種疫苗,以此來不斷產(chǎn)生新一代的帶有抗體的人工魚群Qk+1。
眾所周知,BP神經(jīng)網(wǎng)絡(luò)主要是通過不斷優(yōu)化與更新權(quán)值以及閾值,從而達(dá)到神經(jīng)網(wǎng)絡(luò)計(jì)算精度以及敏感度的提高與優(yōu)化。基于神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)出合理的人工魚群模型以及合適的魚群規(guī)模,不同的人工魚以及分別表示為不同的神經(jīng)網(wǎng)絡(luò),S函數(shù)作為網(wǎng)絡(luò)激活函數(shù),通過前向算法計(jì)算每組輸入樣本的網(wǎng)絡(luò)輸;用輸出均方誤差的倒數(shù)表示基于免疫人工魚群算法的適應(yīng)函數(shù)即食物濃度分布CF,以此來實(shí)現(xiàn)人工魚群覓食、群聚以及追尾等不同行為。用不同的權(quán)值矩陣[Wij]與[Vui]與不同的閾值向量[Vuo]與[Wio]作為人工魚的變量,用來參與最優(yōu)人工魚群的算法搜索。當(dāng)網(wǎng)絡(luò)均方誤差指標(biāo)達(dá)到最小值時(shí),算法搜索出的最優(yōu)人工魚參數(shù)就是BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)解,即最佳閾值與權(quán)值。
式中Ei與Ej是不同的兩條個(gè)體人工魚
根據(jù)表1和表2的數(shù)據(jù),能夠得出這樣的結(jié)論:在該測(cè)區(qū)里,全部的檢查點(diǎn)中誤差以及基本定向點(diǎn)殘差都是合乎要求的,其絕對(duì)定向精度已經(jīng)合乎生產(chǎn)1∶2000 DOM的要求。
[Vui]作為第u個(gè)輸出神經(jīng)元與第i個(gè)隱藏層神經(jīng)元之間的權(quán)值;
[Wij]作為第i個(gè)隱藏層神經(jīng)元與第j個(gè)輸入神經(jīng)元之間的權(quán)值;
[Wio]作為第i個(gè)隱藏層神經(jīng)元的閾值;
[Vuo]作為第u個(gè)輸出神經(jīng)元的閾值。
參數(shù)定義
X——魚群中的人工魚數(shù)目;
X——視野范圍;
ξ——擁擠程度表示因子;
S——游動(dòng)過程中的最大范圍;
η——免疫算法;
num=0——初始循環(huán)計(jì)數(shù)器;
Number——優(yōu)化過程中的最大循環(huán)次數(shù)。
用人工魚當(dāng)前位置的食物濃度可以采用輸出均方誤差指標(biāo)的倒數(shù)表示,即
其中K——網(wǎng)絡(luò)輸出神經(jīng)元的個(gè)數(shù);
X——訓(xùn)練樣本總數(shù);
Oji——第i個(gè)樣本由輸入計(jì)算出的第j個(gè)網(wǎng)絡(luò)輸出的實(shí)際值和目標(biāo)值。
按以下步驟對(duì)免疫人工魚群算法的三層前向神經(jīng)網(wǎng)路進(jìn)行訓(xùn)練:設(shè)定初始化神經(jīng)網(wǎng)絡(luò)以及IAFSA的相關(guān)參數(shù);計(jì)算魚群中各人工魚個(gè)體當(dāng)前位置的適應(yīng)度CF值,對(duì)不同區(qū)域的CF值進(jìn)行比較,選取最大值的人工魚,并將其值賦值于公告板;利用人工魚分別模擬其典型特征,即模擬魚群群聚,模擬魚群覓食以及模擬魚群追尾,并對(duì)相應(yīng)參數(shù)進(jìn)行優(yōu)化計(jì)算,此后選擇行動(dòng)后CF值較大的行為作為實(shí)際運(yùn)行的方式,默認(rèn)人工魚進(jìn)行覓食行為,在此后的每一次迭代計(jì)算中都要檢查自身CF值,并判斷其值是否比公告板中的CF優(yōu)秀,在判斷比對(duì)篩選的過程中,選取當(dāng)前人工魚群中的最優(yōu)抗體魚群作為免疫記憶人工魚并存入記憶庫(kù)中;訓(xùn)練過程中如果循環(huán)計(jì)數(shù)器次數(shù)超過了系統(tǒng)設(shè)定的最大循環(huán)次數(shù)或者濃度值滿足系統(tǒng)設(shè)定要求,則認(rèn)為神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程結(jié)束,輸出計(jì)算結(jié)果,如果訓(xùn)練過程不滿足上述過程,則訓(xùn)練繼續(xù),循環(huán)次數(shù)加1;將免疫人工魚群的產(chǎn)生機(jī)制作為訓(xùn)練指導(dǎo),提取疫苗以及新產(chǎn)生的抗體人工魚a+b,計(jì)算每條新人工魚的選擇概率,判斷并選取概率較大的人工魚a條組件成新的人工魚群Nx,按照一定的比例對(duì)新人工魚群接種疫苗;將基于免疫人工魚群神經(jīng)網(wǎng)絡(luò)計(jì)算得到的公告板上的最優(yōu)人工魚的參數(shù)轉(zhuǎn)化成為神經(jīng)網(wǎng)絡(luò)的閾值、權(quán)值以及連接結(jié)構(gòu),使用BP神經(jīng)算法和輸入樣本對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行再訓(xùn)練與再學(xué)習(xí),從而得到全計(jì)算周期內(nèi)的最優(yōu)解。
計(jì)算精度高且數(shù)據(jù)容易收斂的國(guó)民經(jīng)濟(jì)預(yù)測(cè)有利于政府及時(shí)分析國(guó)家經(jīng)濟(jì)數(shù)據(jù)并采取正確的應(yīng)對(duì)措施。本文在結(jié)合BP神經(jīng)網(wǎng)絡(luò)經(jīng)濟(jì)預(yù)測(cè)模型的優(yōu)點(diǎn)之上,嘗試將人工魚群算法與人體免疫學(xué)中各自的特征相結(jié)合,對(duì)人工魚群算法進(jìn)行優(yōu)化升級(jí)為免疫人工魚群算法,并將其引入到神經(jīng)網(wǎng)絡(luò)的訓(xùn)練之中,闡述了基于免疫人工魚群神經(jīng)網(wǎng)絡(luò)算法的內(nèi)核以及計(jì)算的具體步驟,提出了免疫人工魚群神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型。借助免疫人工魚群算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,不僅在一定程度上能夠克服BP神經(jīng)網(wǎng)絡(luò)經(jīng)濟(jì)測(cè)算模型的缺陷,還能提高該經(jīng)濟(jì)測(cè)算模型的收斂速度、學(xué)習(xí)精度以及泛化能力。