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