閆海瑞,陸能枝(上海海事大學(xué)信息工程學(xué)院,上海201306)
基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的海上搜救的研究
閆海瑞,陸能枝
(上海海事大學(xué)信息工程學(xué)院,上海201306)
隨著全球經(jīng)濟(jì)快速發(fā)展,海上活動(dòng)日益活躍,隨之而來(lái)的是海上事故頻發(fā),這對(duì)海上搜救工作提出更高的要求,由于海上救援工作涉及因素眾多,將利用遺傳算法對(duì)所涉及的因素進(jìn)行屬性約簡(jiǎn),得到最小的特征子集,并對(duì)選中的屬性進(jìn)行標(biāo)準(zhǔn)化處理,然后將處理后的屬性作為BP神經(jīng)網(wǎng)絡(luò)的初始輸入值,對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將海上搜救案例庫(kù)中案例按搜救難度分類(lèi),使搜索更有針對(duì)性,提高搜索效率。
遺傳算法;屬性約簡(jiǎn);BP神經(jīng)網(wǎng)絡(luò);海上搜救
近年來(lái),隨著經(jīng)濟(jì)、貿(mào)易全球化的發(fā)展,海上活動(dòng)日益頻繁,隨之而來(lái)的是海上事故也日益增多,在2014年EMSA發(fā)布的海上事故傷亡審查報(bào)告中,僅歐盟國(guó)家就發(fā)生了3500余次事故,貨船事故總數(shù)位居榜首,其次是客船事故,造成了巨大的經(jīng)濟(jì)損失和人員傷亡,這對(duì)可靠、高效的搜救方案的需求更加迫切。而海上救援涉及因素眾多,案例庫(kù)規(guī)模龐大,則在一定程度對(duì)海上搜救案例的搜索增添了難度。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用非常廣泛的一種神經(jīng)網(wǎng)絡(luò)模型,它具有很強(qiáng)大的學(xué)習(xí)能力,通過(guò)輸入的初始權(quán)閾值,不斷學(xué)習(xí)調(diào)整,反饋誤差,對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,但BP神經(jīng)網(wǎng)絡(luò)對(duì)初始輸入值的有較高要求,而海上事故所涉及到的因素眾多,包括氣象方面,如風(fēng)向、風(fēng)壓差、水流流速、能見(jiàn)度等,還包括遇險(xiǎn)船舶情況,如遇險(xiǎn)船舶類(lèi)型、有無(wú)人員傷亡、船舶噸位、能否通信等因素,同時(shí)還要考慮到救援船舶的情況等,這就對(duì)數(shù)據(jù)的先行處理提出了要求,而遺傳算法則是優(yōu)化數(shù)據(jù)的非常有效的方法。
遺傳算法(Genetic Algorithm,GA)是一種通過(guò)模擬自然進(jìn)化中“優(yōu)勝劣汰”過(guò)程來(lái)搜索最優(yōu)解的方法。該算法是由美國(guó)Holland J教授在1975年提出的,其主要特征是不需要其他的任何先驗(yàn)知識(shí),適應(yīng)能力強(qiáng),它是在問(wèn)題的解空間中進(jìn)行搜索,通過(guò)群體中個(gè)體之間交換信息來(lái)完成最優(yōu)搜索,且對(duì)數(shù)據(jù)的處理是并行進(jìn)行的。在執(zhí)行遺傳算法時(shí),首先要對(duì)問(wèn)題空間進(jìn)行二進(jìn)制編碼,將問(wèn)題轉(zhuǎn)換成機(jī)器能夠處理的語(yǔ)言,然后根據(jù)一定的概率,模擬自然界的遺傳行為,例如選擇、交叉、變異等,經(jīng)過(guò)一定代數(shù)的迭代,最終獲得具有最優(yōu)適應(yīng)度的個(gè)體,得到最優(yōu)特征屬性集??傮w設(shè)計(jì)如圖1。
圖1 三層BP神經(jīng)網(wǎng)絡(luò)模型
根據(jù)氣象采集數(shù)據(jù)以及對(duì)海上事故的監(jiān)控,獲取所需數(shù)據(jù),例如事故發(fā)生的地點(diǎn)、距離救援船舶的距離、有無(wú)人員遇險(xiǎn)、當(dāng)時(shí)的氣象情況等,盡可能地獲取更多的信息。
由于得到的特征子集包含的屬性值不一致,有具體數(shù)值型的、模糊概念類(lèi)型以及數(shù)值范圍等,需要對(duì)其離散化后處理。
將得到的信息利用遺傳算法處理,通過(guò)選擇、交叉、變異操作,剔除冗余、錯(cuò)誤的信息,同時(shí)也將與決策無(wú)關(guān)的屬性丟棄,得到清洗后的數(shù)據(jù),即最小的特征子集。
為消除不同屬性量綱的差別,降低網(wǎng)絡(luò)訓(xùn)練誤差,需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,將其壓縮到[0,1]區(qū)間上。
設(shè)置BP網(wǎng)絡(luò)的初始權(quán)閾值,采用三層BP神經(jīng)網(wǎng)絡(luò),對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,將所有權(quán)閾值存儲(chǔ)到網(wǎng)絡(luò)中。
將測(cè)試集輸入到經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)中,判斷其所屬類(lèi)別,有針對(duì)性地搜索所屬案例庫(kù),找到相似案例及解決方法。
在遺傳算法中,屬性的編碼是特征選擇的第一步,對(duì)每個(gè)個(gè)體進(jìn)行二進(jìn)制編碼,如某個(gè)屬性所在位置對(duì)應(yīng)的是1,則表示該個(gè)體包含這個(gè)屬性,如果是0,則表示該個(gè)體中不含有這個(gè)屬性,每個(gè)個(gè)體即是問(wèn)題的特征子集中的一個(gè)。
本文所采用的適應(yīng)度函數(shù)定義如下:
其中,card(x)代表一個(gè)個(gè)體中1的個(gè)數(shù),n代表的是這個(gè)個(gè)體的長(zhǎng)度,即含有n個(gè)特征屬性,k為決策屬性對(duì)條件屬性的依賴(lài)度。
在遺傳算法中,利用選擇運(yùn)算進(jìn)行個(gè)體的優(yōu)勝劣汰操作,通常根據(jù)個(gè)體所占總體個(gè)體適應(yīng)度的比例大小決定,利用“輪盤(pán)賭算法”實(shí)現(xiàn)。由適應(yīng)度函數(shù)計(jì)算出每個(gè)個(gè)體的適應(yīng)度F(xi),設(shè)問(wèn)題空間中個(gè)體總數(shù)為n,則每個(gè)個(gè)體被選中的概率Psi可以表示為:
然后根據(jù)交叉概率Pc和變異概率Pm進(jìn)行交叉、變異操作。
表1 海上搜救屬性表
本文在研究大量文獻(xiàn)的基礎(chǔ)上,搜集了海上事故搜救時(shí)的一些案例,選取了具有一定代表性的10個(gè)屬性,分別是{船舶類(lèi)型,船籍,有無(wú)人員傷亡,離岸距離,風(fēng)力,浪高,能見(jiàn)度,溫度,通訊能力,事故原因}作為條件屬性,決策屬性D為搜救難度,并將其進(jìn)行離散化,如表1(篇幅限制,僅取3個(gè)案例作為說(shuō)明)。
其中船舶類(lèi)型1表示客船,0表示貨船,船籍1表示外籍,0表示本國(guó)國(guó)籍,1表示有人員傷亡,0表示沒(méi)有,1表示離岸遠(yuǎn),0表示近,風(fēng)力和浪高從1~10逐級(jí)增大,溫度0表示低溫,1表示正常范圍,事故原因2表示火災(zāi),3表示擱淺,通訊能力0表示差,1表示較好,搜救難度1~4逐級(jí)增大。
利用MATLAB進(jìn)行遺傳算法編程,令Pc=0.7,Pm= 0.1,最大代數(shù)設(shè)置為150代,選取50組特征屬性進(jìn)行處理,得到最優(yōu)特征子集{有無(wú)人員傷亡,離岸距離,風(fēng)力,浪高,能見(jiàn)度,溫度,事故原因},依賴(lài)度為0.85349。
通過(guò)遺傳算法得到一個(gè)最優(yōu)的特征子集,但由于海上情況復(fù)雜,其中所包含屬性的特征值可能會(huì)含有具體數(shù)值類(lèi)型和文本類(lèi)型等,需要進(jìn)行標(biāo)準(zhǔn)化處理,將其映射到[0,1]區(qū)間上,處理過(guò)程如下:
(1)將各個(gè)特征屬性賦予確定的數(shù)值。根據(jù)上述屬性約簡(jiǎn)結(jié)果,則可建立矩陣
(3)平移—極差變換,計(jì)算公式為yij=(xij'-min{xij' |1≤i≤m|})/(max{xij'|1≤i≤m|}-min{xij'|1≤i≤m|})
此時(shí),數(shù)據(jù)全部處在[0,1]區(qū)間,變換后的矩陣為:
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)過(guò)程分為兩個(gè)階段,階段一是將已知的訓(xùn)練樣本作為初始值輸入,設(shè)置初始權(quán)閾值,向后計(jì)算各個(gè)神經(jīng)元的輸出;階段二是對(duì)權(quán)閾值進(jìn)行調(diào)整修正,向目標(biāo)輸出不斷靠近。
其中,輸入節(jié)點(diǎn)為經(jīng)過(guò)處理得到的7個(gè)屬性值,6個(gè)隱層節(jié)點(diǎn),輸出節(jié)點(diǎn)為4個(gè),表示搜救難度的四個(gè)等級(jí),wij為輸入層與隱層之間的權(quán)值,wjk為隱層與輸出層之間的權(quán)值。
本文采用50組案例數(shù)據(jù)進(jìn)行訓(xùn)練,設(shè)置學(xué)習(xí)率為0.005,訓(xùn)練次數(shù)為1000次,精度要求為0.001,并采用一組屬性值{1,1,6,5,1,0,2}進(jìn)行測(cè)試,得到輸出為{0.0294,0.1101,0.7558,0.1047},可以看出,該案例屬于3級(jí)救助難度,救助比較困難,基本符合類(lèi)別判定,在3級(jí)救助難度案例庫(kù)中搜索相似案例即可。
圖2 三層BP神經(jīng)網(wǎng)絡(luò)模型
利用遺傳算法對(duì)海上事故所涉及因素進(jìn)行處理,極大地降低了屬性的數(shù)目,去除了冗余的屬性,及不相關(guān)屬性的干擾,同時(shí)也由于屬性數(shù)目的降低,由屬性處理造成的錯(cuò)誤也隨之降低。利用BP神經(jīng)網(wǎng)絡(luò)對(duì)案例庫(kù)中案例進(jìn)行分類(lèi),當(dāng)有新的案例時(shí),首先取出其最小特征子集,通過(guò)BP神經(jīng)網(wǎng)絡(luò)分類(lèi),判定該案例的搜救難度,然后再在對(duì)應(yīng)難度的案例庫(kù)中搜索相似案例,使得搜索更具有針對(duì)性,提高了案例搜索效率。
[1]胡守仁,余少波,戴葵.神經(jīng)網(wǎng)絡(luò)[M].長(zhǎng)沙:國(guó)防科技大學(xué)出版社,1992
[2]張德豐.MATLAB神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用[M].北京:電子工業(yè)出版社,2009
[3]韓瑞峰.遺傳算法原理與應(yīng)用實(shí)例[M].北京:兵器工業(yè)出版社,2010
[4]王小平,曹立明.遺傳算法:理論、應(yīng)用與軟件實(shí)現(xiàn)[M].西安:西安交通大學(xué)出版社,2002
[5]武志峰,陳冬霞.基于遺傳算法的特征子集選擇方法[J].河北省科學(xué)院學(xué)報(bào),2006,9,23(3)
[6]于衛(wèi)紅,賈傳熒.BP神經(jīng)網(wǎng)絡(luò)在救助船優(yōu)選中的應(yīng)用[J].計(jì)算機(jī)工程,2006,12,32(24)
[7]馬曲立,劉怡,朱建沖.基于案例推理的裝備保障人員需求預(yù)測(cè)[J].海軍工程大學(xué)學(xué)報(bào),2013,10,25(5)
[8]顧東曉.基于案例庫(kù)的診療決策支持技術(shù)研究[D].博士學(xué)位論文,2011,10:58~68
[9]薛金凱.基于案例推理的海上搜救輔助決策研究[D].碩士學(xué)位論文,2011,5
[10]張中昱.基于BP神經(jīng)網(wǎng)絡(luò)和模糊綜合評(píng)價(jià)的環(huán)境分析評(píng)價(jià)系統(tǒng)[D].碩士學(xué)位論文,2006,1
陸能枝,男,副教授,研究方向?yàn)闆Q策支持系統(tǒng)及其在港航信息工程中的應(yīng)用、電子商務(wù)、地理信息及物流信息化技術(shù)、數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘等
Genetic Algorithm(GA);Attribute Reduction;BP Neural Network;Maritime Search and Rescue
Research on the Maritime Search and Rescue Based on Genetic Algorithm and BP Neural Network
YAN Hai-rui,LU Neng-zhi
(College of Information Engineering,Shanghai Maritime University,Shanghai 201306)
In recent years,activities at sea became so frequent that the number of maritime accidents increased sharply,which put forward higher requirements to the method of maritime search and rescue.Because sea rescue work involves so many factors,uses genetic algorithm to attribute reduction of the factors involved in the work of rescue to get the smallest feature subset,and standardizes the selected property. Then uses the processed attributes as the initial input values of the BP neural network to train the network to sort the cases based on the difficulty in order to improve the search efficiency.
1007-1423(2015)14-0011-04
10.3969/j.issn.1007-1423.2015.14.003
閆海瑞(1989-),女,山東濟(jì)寧人,碩士研究生,研究方向?yàn)橛?jì)算機(jī)軟件與理論
2015-04-30
2015-05-06