鄭 濱,金永興
(上海海事大學(xué)商船學(xué)院,上海 200135)
20世紀80年代,西方研究人員發(fā)現(xiàn)約80%海事事故的發(fā)生與人為因素有關(guān);1991年,英國運輸部海運委員會發(fā)布關(guān)于海難原因的研究報告,指出人為因素導(dǎo)致船舶碰撞事故發(fā)生的比率高達90%.隨著經(jīng)濟的發(fā)展和科技的進步,以船舶自動識別系統(tǒng)(Automatic Identification System,AIS)為代表的先進助航設(shè)備不斷出現(xiàn),船舶的自動化和智能化程度不斷提高.然而,越來越先進的設(shè)備并未在根本上杜絕海上交通事故的發(fā)生,因此,對人為因素的分析研究有利于海事預(yù)防.
人為失誤分析(human fault analysis)或人的可靠性分析(human reliability analysis)是由人類工效學(xué)(ergonomics)發(fā)展起來的1門新興學(xué)科,而數(shù)據(jù)挖掘中的粗糙集(rough set)方法被證明在多維數(shù)據(jù)的知識發(fā)現(xiàn)領(lǐng)域卓有成效.因此,本文重點探討如何將2者結(jié)合,以找到1種不僅處理簡便而且行之有效的分析海事人為失誤致因的方法.
海上交通系統(tǒng)包含人、機、環(huán)境及管理等方面要素.在海上交通事故范疇內(nèi),“人為失誤”可理解為遵守《國際海上避碰規(guī)則》的任何疏忽,包括對良好船藝、海員的通常做法以及特殊情況下要求的任何戒備的疏忽等.這些疏忽不利于船舶間行動的協(xié)調(diào),使船舶碰撞的危險度增加.
傳統(tǒng)的人為失誤及其影響因素的識別方法有:簡單易行的失誤分析表方法、屏障分析法;全面系統(tǒng)的FSA(IMO推薦)、人為失誤危險和可操作性分析方法;需要大量數(shù)據(jù)支持的統(tǒng)計分析法;利用專家判斷來完成的任務(wù)分析法等.上述識別方法雖各有其自身特點,但也各有局限,主要在于識別時會受到人為因素(專家、識別人員等)的影響,且在識別人為失誤的內(nèi)在機理方面有一定難度.
我國的一些海事問題學(xué)者[1-3]嘗試在專家調(diào)查和事故報告分析的基礎(chǔ)上,借助灰色關(guān)聯(lián)分析和模糊集隸屬度的計算解決這一問題,獲得一些寶貴經(jīng)驗.然而,該方法操作較為復(fù)雜,不但需要用問卷調(diào)查逐個了解專家對任一人為失誤致因的看法,而且需要逐個用灰色識別方法計算人為失誤及其影響因素的灰色關(guān)聯(lián)度.
劉正江[2]提出使用數(shù)據(jù)挖掘等方法解決海事中人為失誤與其影響因素間的關(guān)系問題,并已運用關(guān)聯(lián)分析方法取得很好的效果,但由于影響因素眾多(30個),在使用關(guān)聯(lián)分析數(shù)據(jù)挖掘時需多次反復(fù)整理計算并妥善分析解釋,才能獲得有價值的信息.受此啟發(fā),本文嘗試用屬性約簡思想解決上述問題.
1982年,波蘭學(xué)者PAWLAK基于邊界線區(qū)域思想提出粗糙集理論,用于研究不完整數(shù)據(jù)及不精確知識的表達、學(xué)習(xí)和歸納,其主要思想是在保持知識庫歸納能力不變的前提下,通過約簡刪除不相關(guān)或不重要的冗余數(shù)據(jù),并在此基礎(chǔ)上進行知識發(fā)現(xiàn).[4]
粗糙集及屬性約簡的一些基本概念如下:
(1)知識系統(tǒng)的表達.1個知識系統(tǒng)可用如下的表達式體現(xiàn)
(2)不可區(qū)分關(guān)系.在系統(tǒng)S=(U,A)中,對于B?A,定義B在U上的不可分辨關(guān)系為I(B)={(x1,x2)∈U ×U|b(x1)=b(x2),?b∈B},U 上的不可分辨關(guān)系I(B)也為1種等價關(guān)系.
(3)集合的上下近似.給定知識庫K=(U,R)和U的分類U/R,對每個U的子集X?U,將以下2個集合分別作為X的R下近似和R上近似:
式中:[x]R表示包含元素x∈U的R等價類,即RX為利用知識R和U中所有確定屬于X的元素集合;RX為利用知識R和U中所有可能屬于X的元素集合.
(4)正域、負域和邊界域.PR(X)=RX稱為X的R正域;NR(X)=U-RX稱為X的R負域;BR(X)=RX-RX稱為X的邊界域.正域PR(X)=RX為對于知識R能完全確定屬于X的對象集合.同樣,負域NR(X)為對于知識R確定不屬于X的對象集合,即X的補集.邊界域是1種不確定域,即對于知識R,屬于邊界域的對象不能確定地劃分是否屬于X.X的上近似由對于知識R不能排除其屬于X的可能性的對象構(gòu)成,是正域和邊界域的并集.
(5)約簡與核.一般在實際應(yīng)用中,知識庫中有些部分是冗余的,需要在保持知識庫初等范疇的情況下消除冗余,進行知識的簡化.
當Q獨立,Q?P且I(Q)=I(P),則Q為P的簡約,以J(P)表示.獲得簡約的過程稱為約簡.全部簡約的交集稱為P的核,即H(P)=∩J(P).粗糙集一系列的概念示意見圖1.
圖1 粗糙集概念示意
基于粗糙集理論的屬性約簡的基本原理如下:通過求各屬性的重要性并排序,在泛化關(guān)系中找出與原始數(shù)據(jù)具有相同決策或分辨能力的相關(guān)屬性的最小集合,實現(xiàn)信息約簡,以產(chǎn)生更為簡練且有意義的知識.[5]
但在算法層面,計算屬性集的最小約簡是個NP-Hard問題,即隨著屬性數(shù)目的增長,計算的復(fù)雜程度隨時間呈指數(shù)倍增長.由于遺傳算法是模擬生物在自然環(huán)境中的遺傳和進化過程形成的1種自適應(yīng)全局優(yōu)化概率搜索算法,其搜索方式不是單一的方向或結(jié)構(gòu),而是將多個個體作為可能的解并考慮搜索空間全局范圍內(nèi)的抽樣,從而以更大的可能性收斂到全局最優(yōu)解.由于遺傳算法本身的全局優(yōu)化及隱含并行點的特點,將其用于求解知識約簡問題可減少計算復(fù)雜度,加快計算速度.遺傳算法的基本原理見圖2.
圖2 遺傳算法基本原理
將問題的解編碼成染色體,在算法開始時生成初始解空間(初始種群)并指定適應(yīng)度函數(shù),然后反復(fù)執(zhí)行遺傳操作:選擇適應(yīng)度強的染色體進行交叉,生成新的種群后再對其進行變異,直至找到滿足條件的種群為止.用遺傳算法進行屬性約簡的流程如下:
(1)編碼.采用符號編碼的方法,將染色體表示為有序數(shù)列τ(a1,a2,…,an),即將每個屬性按其在論域U中的原始位置編成0或1的代碼串.如果某屬性不對用例結(jié)果產(chǎn)生影響,那么其在染色體中的基因編碼為0,反之則為1.
(2)選擇.先計算每個染色體的適應(yīng)度,而后用公式FN(x)=F(x)/Σ F(x)得到標準化適應(yīng)度.以FN(x)為概率分布,用輪盤賭算法進行選擇,實現(xiàn)對群體中個體的優(yōu)勝劣汰(即適應(yīng)度高的個體被遺傳到下一代群體的概率大).
(3)交叉.采用部分匹配交叉的方法解決單斷點交叉產(chǎn)生的非法后代問題.先隨機在父染色體中選擇兩交叉點,并交換兩交叉點間的基因段.對于交換區(qū)間外的重復(fù)值,得到其在另一個父體中的位置,用該位置上的值進行代替,交叉示意如下:
(4)變異.將染色體中隨機的2個位置互換,互換方式如下:
直接或間接導(dǎo)致海上交通事故發(fā)生的人為失誤有很多種,根據(jù)專家判斷及文獻[3]的研究成果,導(dǎo)致船舶碰撞事故發(fā)生的主要人為失誤一般包括瞭望不當和避碰決策失誤等.
本文利用粗糙集的屬性約簡方法對海事人為失誤信息進行數(shù)據(jù)挖掘試驗.人為因素原始數(shù)據(jù)采用文獻[3]中列出的100份從中國、澳大利亞、加拿大、美國、新西蘭、英國和瑞典等國海事機構(gòu)出版的船舶碰撞事故報告集.該數(shù)據(jù)集收集12種人為失誤(不安全行為)和30種影響因素,見表1.為探討使用屬性約簡進行海事人為失誤致因分析的方法,本文僅選擇作為主要人為失誤之一的“瞭望不當”及其影響因素數(shù)據(jù)進行試驗.方法論決定后,其他11種人為失誤可用同樣的方法進行分析整理.選用波蘭華沙大學(xué)研制的粗糙集研究工具RSES軟件包進行數(shù)據(jù)挖掘試驗,并對試驗結(jié)果進行分析.[6]試驗采用RSES軟件包中自帶的基于遺傳算法的屬性約簡算法自動計算出25個經(jīng)過約簡的屬性集合.這些集合已刪除某些被認為不重要的屬性,能保證其知識歸納能力保持不變.通過分析各因素在這25組經(jīng)約簡的屬性集合出現(xiàn)的幾率可判斷其重要性.各屬性因素在25個約簡集合中出現(xiàn)的個數(shù)見圖3.
表1 30種船舶碰撞事故的人為失誤影響因素
圖3 屬性約簡實驗結(jié)果
以在約簡集合中的出現(xiàn)幾率≥66.7%(2/3)為基準整理屬性約簡結(jié)果,從30個影響因素中得到9個主要因素.與文獻[3]的研究結(jié)果相對照,發(fā)現(xiàn)僅有2個因素不相同,一致率達到78%.進一步研究被屬性約簡方法忽略的2個因素發(fā)現(xiàn),“監(jiān)督”與“通航密度”元素在約簡集合中的出現(xiàn)幾率相對較高,分別達到60%和50%,按重要性分別列第10和12位.用屬性約簡方法和關(guān)聯(lián)規(guī)則方法得到的研究結(jié)果對比情況見表2.
表2 用屬性約簡與關(guān)聯(lián)規(guī)則方法得到的研究結(jié)果比較
對試驗結(jié)果的整理分析表明,屬性約簡方法在海事人為失誤的致因分析領(lǐng)域具有一定的意義.屬性約簡方法與傳統(tǒng)的灰色關(guān)聯(lián)等方法相比簡便易行;與關(guān)聯(lián)規(guī)則等其他數(shù)據(jù)挖掘方法相比,粗糙集方法也有無需提供任何先驗信息,且產(chǎn)生的知識簡單、易于整理與理解等特點.此外,將遺傳算法應(yīng)用于屬性約簡可以在保證歸納正確性的同時進一步降低計算復(fù)雜度,減少計算時間.鑒于目前我國海上交通事故數(shù)據(jù)的采集規(guī)模,本文提出的數(shù)據(jù)挖掘方法有一定的現(xiàn)實意義.然而,遺傳算法計算過程中的參數(shù)選擇會在一定程度上影響數(shù)據(jù)挖掘的效果,如何準確地選擇參數(shù)將是今后進一步的研究方向.
[1]張春來,許樂平,崔連軍,等.海上安全中人為因素研究的幾種方法[J].大連海事大學(xué)學(xué)報,2000,26(3):76-79.
[2]劉正江.船舶碰撞過程中的人的可靠性分析[D].大連:大連海事大學(xué),2004.
[3]王慶東.基于粗糙集的數(shù)據(jù)挖掘方法研究[D].杭州:浙江大學(xué),2005.
[4]陳偉統(tǒng),錢沄濤.基于粗糙集理論的網(wǎng)絡(luò)入侵檢測方法[J].計算機工程,2006,32(16):133-135.
[5]RAMANNA S,PETERS J F,AHN T.Software quality knowledge discovery:a rough set approach[C]//Comput Software& Applications Conf(COMPSAC).Proc 26th Annual Int,2002:1140-1145.
[6]NGUYEN S H,NGUYEN H S.Analysis of STULONG data by rough set exploration system(RSES)[EB/OL].(2003-01-23)[2009-08-27].http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.89.2218.