◆黃 偉
?
基于改進貝葉斯網(wǎng)絡(luò)的風(fēng)險評估模型研究
◆黃 偉
(唐山市公安局網(wǎng)絡(luò)安全保衛(wèi)支隊 河北 063000)
目前,貝葉斯網(wǎng)絡(luò)(BN)已廣泛應(yīng)用于風(fēng)險事件評估,但由于風(fēng)險事件的特殊性,其應(yīng)用受到一定限制。一是傳統(tǒng)BN風(fēng)險評估模型缺失定量數(shù)據(jù),參數(shù)確定多依賴專家經(jīng)驗,故引入基于遺傳算法的條件概率表(CPT)檢索算法用于改進BN參數(shù)學(xué)習(xí)。二是風(fēng)險評估中的變量相互關(guān)聯(lián),既不滿足BN所要求的條件獨立性假設(shè),也導(dǎo)致計算效率下降,故提出改進的灰色關(guān)聯(lián)分析法(GRA)計算指標(biāo)權(quán)重對BN進行加權(quán),以滿足條件獨立性假設(shè)。最后將改進的BN風(fēng)險評估模型應(yīng)用于實際問題研究,結(jié)果表明該模型可應(yīng)用于不完全數(shù)據(jù)和變量相關(guān)的風(fēng)險事件評估。
貝葉斯網(wǎng)絡(luò);風(fēng)險評估;遺傳算法;灰色關(guān)聯(lián)分析
貝葉斯網(wǎng)絡(luò)(BN),又稱置信度網(wǎng)絡(luò),是結(jié)合概率論與圖論所形成的算法模型,不僅可運用于變量之間的因果關(guān)系和條件相關(guān)關(guān)系的可視化展示,而且可運用于解決存在模糊性和不確定性的問題,實現(xiàn)定量計算和定性分析的有效結(jié)合,目前已成為不確定知識表達和推理領(lǐng)域最有效的理論模型之一。然而,傳統(tǒng)貝葉斯網(wǎng)絡(luò)算法也存在諸多缺陷。(1)在建模中隨著變量和其狀態(tài)數(shù)量的增加,網(wǎng)絡(luò)結(jié)構(gòu)規(guī)模和網(wǎng)絡(luò)學(xué)習(xí)的計算量都會呈現(xiàn)指數(shù)級增長,增加了計算和檢索的困難;(2)由于評價因素之間的強相關(guān)性,網(wǎng)絡(luò)建模過程既不滿足條件獨立性假設(shè),也導(dǎo)致分析效率降低。針對貝葉斯網(wǎng)絡(luò)存在的缺陷,諸多學(xué)者對其進行了改進探索。[1]通過修改貝葉斯概率測度的計算方法,使之更適用于數(shù)據(jù)庫計算;通過改進貝葉斯網(wǎng)絡(luò)分類器的概率公式提高了計算效率。[2]在使用貝葉斯網(wǎng)絡(luò)入侵檢測技術(shù)時,結(jié)合主成分分析和滑動窗口對貝葉斯網(wǎng)絡(luò)進行了改進,大大降低數(shù)據(jù)維數(shù),提高運算效率和檢測精度。
貝葉斯網(wǎng)絡(luò)在處理不確定知識表達和推理領(lǐng)域具有高效性,目前已被廣泛應(yīng)用于事件風(fēng)險評估,如施工安全風(fēng)險評估[3]、航空公司安全風(fēng)險評估[4]、網(wǎng)絡(luò)風(fēng)險評估[5]等等。但由于事件中的風(fēng)險是由風(fēng)險因素與風(fēng)險承受對象在多維和多層系統(tǒng)中相互作用的結(jié)果,是相當(dāng)模糊和隨機的[6],實際問題通常是定性描述,大多存在定量數(shù)據(jù)缺失,傳統(tǒng)BN風(fēng)險模型的結(jié)構(gòu)和參數(shù)也主要由專家經(jīng)驗知識確定,具有較強的主觀和不確定性。因此,客觀和科學(xué)地利用非定量信息和不完全數(shù)據(jù)構(gòu)建BN存在較大的困難。
針對已有文獻關(guān)于貝葉斯網(wǎng)絡(luò)算法及其在風(fēng)險評估當(dāng)中存在的利弊,本文提出基于遺傳算法(GA)和改進的灰關(guān)聯(lián)分析法(GRA)來優(yōu)化貝葉斯網(wǎng)絡(luò)風(fēng)險評估建模,以試圖解決傳統(tǒng)貝葉斯網(wǎng)絡(luò)風(fēng)險評估中出現(xiàn)的若干問題。
利用貝葉斯網(wǎng)絡(luò)(BN)進行風(fēng)險建模是一個系統(tǒng)的過程,包括變量定義和節(jié)點選擇、網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)、CPT學(xué)習(xí)、概率推理和計算共四個步驟,并一一對應(yīng)于風(fēng)險評估過程中的指標(biāo)選擇、系統(tǒng)建立、指標(biāo)權(quán)重計算和模型構(gòu)建四個步驟。其中,BN的概率推理可以有效實現(xiàn)不確定信息的融合,并可通過有向無環(huán)圖反映變量間的因果關(guān)系,故采用BN建立風(fēng)險評估模型是非常理想的選擇。
鑒于風(fēng)險評估中缺乏定量數(shù)據(jù)以及變量之間存在一定相關(guān)性的問題,本文提出基于遺傳算法(GA)和改進的灰色關(guān)聯(lián)分析法(GRA)來優(yōu)化BN建模。基于改進貝葉斯網(wǎng)絡(luò)的風(fēng)險評估建模技術(shù)流程圖如圖1所示。
圖1 基于改進貝葉斯網(wǎng)絡(luò)的風(fēng)險評估模型構(gòu)建流程圖
目前,貝葉斯網(wǎng)絡(luò)參數(shù)學(xué)習(xí)中用于處理完整數(shù)據(jù)的算法主要包括極大似然估計法、貝葉斯估計法和梯度下降法,用于處理不完整數(shù)據(jù)的算法包括期望最大化(EM)方法和Gibbs樣本方法。但在現(xiàn)實的風(fēng)險評估事件中,所獲得數(shù)據(jù)具有如下特性:1.定性和定量數(shù)據(jù)相結(jié)合;2.數(shù)據(jù)不完整。BN中的參數(shù)學(xué)習(xí)直接影響著事件風(fēng)險評估的準(zhǔn)確性,而現(xiàn)有的參數(shù)學(xué)習(xí)算法并不適用于BN風(fēng)險評估建模,故提出了一種基于遺傳算法(GA)的CPT檢索算法,即將遺傳算法應(yīng)用于學(xué)習(xí)缺乏定量數(shù)據(jù)節(jié)點的概率分布,將多變量非線性規(guī)劃應(yīng)用于參數(shù)的誤差反饋學(xué)習(xí)。
由于遺傳算法(GA)是一種隨機化檢索算法,模擬了生物進化的優(yōu)勝劣汰規(guī)則與染色體的交換機制,通過選擇、交叉、變異三種基本操作尋求最優(yōu)個體,是處理復(fù)雜優(yōu)化問題的一類方法,具有極高的魯棒性和廣泛適用性。因此我們在根據(jù)GA的算法流程,將交叉和變異算子、誤差反饋函數(shù)運用到BN參數(shù)學(xué)習(xí)過程中,從而構(gòu)建基于遺傳算法的CPT檢索算法。具體的操作流程圖見圖2。
圖2 基于GA的CPT檢索算法流程圖
基于GA的CPT檢索算法實現(xiàn)步驟如下:
Step1:根據(jù)事件的歷史風(fēng)險評估數(shù)據(jù)作為出發(fā)點,在BN參數(shù)學(xué)習(xí)中創(chuàng)建初始CPT群體,即設(shè)置進化代數(shù)計數(shù)器t=0,設(shè)置最大進化代數(shù)T,隨機生成M各個體作為初始群體P(0),并計算群體P(t)中各個個體的適應(yīng)度;
Step2:根據(jù)對歷史數(shù)據(jù)的統(tǒng)計分析,獲得BN風(fēng)險評估的真實后驗概率分布,并建立誤差反饋函數(shù);
Step:3:將交叉和變異算子、誤差反饋函數(shù)運用到BN參數(shù)學(xué)習(xí)過程中,執(zhí)行交叉、變異和其他遺傳操作,即利用遺傳算法檢索節(jié)點的最優(yōu)CPT,群體P(t)經(jīng)過選擇、交叉、變異運算之后得到下一代群體P(t+1);
Step4:通過檢索最優(yōu)CPT和多元非線性規(guī)劃所得到的誤差反饋函數(shù)來不斷減少網(wǎng)絡(luò)參數(shù)學(xué)習(xí)過程中的學(xué)習(xí)誤差;
Step5:若t=T,即當(dāng)最優(yōu)個體的適應(yīng)度達到給定的閾值,或者最優(yōu)個體的適應(yīng)度和群體的適應(yīng)度不再上升時,終止條件判斷輸出最優(yōu)CPT,確定最優(yōu)的網(wǎng)絡(luò)學(xué)習(xí)參數(shù)。
基于目標(biāo)數(shù)據(jù)和誤差反饋,通過遺傳算法(GA)改進的CPT檢索算法,一方面可以處理風(fēng)險評估事件中定量與定性型相結(jié)合或是不完整的數(shù)據(jù),另一方面,使得參數(shù)學(xué)習(xí)的效率并不受到數(shù)據(jù)不完整性和網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜性的影響。
節(jié)點的條件獨立性假設(shè)有助于簡化BN的概率推理工作。當(dāng)非關(guān)聯(lián)節(jié)點滿足條件獨立性時,后驗概率的推理公式可用極大后驗估計(Liu, 2016)[7]來獲取,具體見公式(3)。
若節(jié)點之間不滿足條件獨立性,公式(3)的后驗概率推理公式不再適用。為了使BN能運用于實際中的風(fēng)險評估問題,必須對BN方法進行改進以滿足條件獨立性假設(shè)。因此本文提出改進的灰色關(guān)聯(lián)分析法(GRA)來計算指標(biāo)權(quán)重對BN進行加權(quán),旨在滿足BN所要求的條件獨立性假設(shè)。
灰色關(guān)聯(lián)分析法(GRA),是根據(jù)因素之間發(fā)展趨勢的相似或相異程度,亦即灰色關(guān)聯(lián)度,作為衡量因素間關(guān)聯(lián)程度的一種方法。灰色關(guān)聯(lián)度分析對于一個系統(tǒng)的發(fā)展變化態(tài)勢提供了量化的度量,非常適合動態(tài)歷程分析。但GRA在對歷程中的每個時刻的絕對差進行計算時,忽略了相鄰時刻之間的變化,只能考慮到每個端點的差異,無法描述兩個動態(tài)序列之間的相關(guān)性,因此本文采用改進后的GRA來優(yōu)化加權(quán)BN,具體的操作流程圖見圖3。
圖3 基于改進的GRA優(yōu)化加權(quán)BN的流程圖
基于改進的GRA優(yōu)化加權(quán)BN的主要分析步驟如下:
Step1:確定反映事件風(fēng)險特征的參考序列和影響事件風(fēng)險的比較序列,并輸入相應(yīng)數(shù)據(jù);
Step2:由于事件風(fēng)險影響因素的物理意義不同,導(dǎo)致數(shù)據(jù)的量綱也存在差異,不便于進行比較,或在比較時難以得出正確的結(jié)論,因此在進行灰色關(guān)聯(lián)度分析之前,需對數(shù)據(jù)進行無量綱化、規(guī)范化處理;
Step3:對灰色關(guān)聯(lián)分析法(GRA)進行改進。首先對序列進行非線性擬合,用連續(xù)函數(shù)代替離散函數(shù)。然后按公式(4)對差分序列進行改進,以積分形式表示變化趨勢,準(zhǔn)確描述幾何形狀的相關(guān)程度。
最終,計算每個評估指標(biāo)的權(quán)重。
Step5:基于指標(biāo)權(quán)重對BN進行優(yōu)化加權(quán)。將權(quán)重整合到CPT學(xué)習(xí)中來構(gòu)建加權(quán)BN,并改進概率推理公式。
改進后的GRA充分考慮了狀態(tài)和變異相似度這兩個問題,因此可以更準(zhǔn)確地測量兩個序列的相關(guān)性。相應(yīng)地,通過該方法計算的權(quán)重可以更好地度量節(jié)點間的相互依賴性,并可以改善條件獨立性假設(shè)。
基于遺傳算法(GA)和改進的灰色關(guān)聯(lián)分析(GRA)兩種算法構(gòu)建的新的貝葉斯網(wǎng)絡(luò)模型能夠在缺少定量數(shù)據(jù)和變量之間存在相關(guān)性的情況下實現(xiàn)客觀的評估建模。
關(guān)于BN算法改進的優(yōu)越性體現(xiàn)在BN風(fēng)險評估建模的每一個過程當(dāng)中,例如在結(jié)構(gòu)學(xué)習(xí)中,傳統(tǒng)BN主要依賴于專家經(jīng)驗或先驗知識通過人工方式進行構(gòu)建,而改進后的BN既可以人工構(gòu)建,也可以實現(xiàn)自動構(gòu)建;在參數(shù)學(xué)習(xí)中,傳統(tǒng)BN的參數(shù)主要是通過專家對定性信息評分的方式確定,而改進后的BN可以基于遺傳算法實現(xiàn)自動檢索確定;在概率推理和計算過程中,改進的BN突破了傳統(tǒng)BN不考慮變量相關(guān)性,只進行簡單推理的方式,使用了改進后的灰色關(guān)聯(lián)分析算法構(gòu)建加權(quán)BN進行推理。
目前,很多供電局依然通過定期巡檢、校驗電表、用戶舉報竊電等方法來發(fā)現(xiàn)竊電或計量裝置故障,以防范被竊漏電的風(fēng)險。為了能夠?qū)崟r自動評估監(jiān)測被竊漏電的風(fēng)險和發(fā)現(xiàn)計量裝置故障,本文通過采集電量異常、負荷異常、終端報警、線損異常等數(shù)據(jù)信息,分別建立傳統(tǒng)BN和改進后的BN竊漏電風(fēng)險評估模型,一方面用于對兩種BN模型進行實際實驗效果比較,另一方面,用于實現(xiàn)對被竊漏電情況的實時風(fēng)險監(jiān)測。
本文選取了某供電局2014年9月所有竊漏電用戶及正常用戶的電量、告警及線損數(shù)據(jù)和該用戶在當(dāng)天是否竊漏電的數(shù)據(jù),由于貝葉斯網(wǎng)絡(luò)只能使用離散型數(shù)據(jù)構(gòu)建,因此對數(shù)據(jù)進行處理后共選取291個樣本數(shù)據(jù)構(gòu)建傳統(tǒng)BN和改進BN模型。關(guān)于網(wǎng)絡(luò)節(jié)點名稱及分類如表1所示。
表1 網(wǎng)絡(luò)節(jié)點名稱及分類
關(guān)于BN風(fēng)險評估模型的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖4所示。
圖4 BN竊漏電風(fēng)險評估模型網(wǎng)絡(luò)結(jié)構(gòu)圖
表2 不同BN竊漏電風(fēng)險評估模型的概率推理結(jié)果
為了對兩種模型的風(fēng)險評估精度進行評價,因此對兩模型的概率推理結(jié)果分別進行了統(tǒng)計。從表2來看,改進后的BN模型的評估誤差為4.13%,評價精度可以達到95.87%,比傳統(tǒng)的BN高出9.92%,而傳統(tǒng)BN模型的評價精度則只達到85.95%。
圖5 不同參數(shù)學(xué)習(xí)算法的收斂曲線
為了驗證CPT檢索算法的有效性,與另一種參數(shù)學(xué)習(xí)方法進行比較分析。首先生成BN網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),然后利用期望最大化算法和檢索算法計算節(jié)點“是否被竊漏電”的CPT。考慮到檢索的隨機性,運行GA共200次,從圖5來看,在期望最大化(EM)算法下,當(dāng)?shù)螖?shù)達到接近50左右時才實現(xiàn)收斂,而在基于GA的CPT檢索算法下,當(dāng)?shù)螖?shù)為19左右時就實現(xiàn)收斂。當(dāng)GA實現(xiàn)實現(xiàn)推理誤差反饋時,計算誤差減小51.23%,收斂速度提高61.22%??梢?,CPT檢索算法不僅可以提高計算效率,同時也提高了計算精度。
鑒于貝葉斯網(wǎng)絡(luò)在解決隨機性和不確定性問題上具有優(yōu)越性,目前已被廣泛應(yīng)用于事件風(fēng)險評估。但由于風(fēng)險事件的模糊性和隨機性,客觀科學(xué)地利用非定量信息和不完全數(shù)據(jù)構(gòu)建BN風(fēng)險評估模型存在較大的困難,因此本文提出了一種基于遺傳算法(GA)的CPT檢索算法用于解決CPT學(xué)習(xí)中的定性節(jié)點問題,改進BN參數(shù)學(xué)習(xí)。對于風(fēng)險評估中的變量相關(guān)性問題,本文提出了基于改進的灰色關(guān)聯(lián)分析(GRA)優(yōu)化加權(quán)BN,即通過在序列計算中引入序列變化率差異來改進GRA,使其能更準(zhǔn)確地測量指標(biāo)間的相關(guān)性,最后根據(jù)相關(guān)性確定指標(biāo)權(quán)重來優(yōu)化加權(quán)BN,以滿足其所要求的條件獨立性假設(shè)。相關(guān)實驗表明,改進后的貝葉斯網(wǎng)絡(luò)風(fēng)險評估模型不僅解決了事件中存在的數(shù)據(jù)不規(guī)則、不完整和變量之間相關(guān)的問題,同時也提高了模型的運算效率和風(fēng)險評估的精度。
[1]陳亮.改進的貝葉斯網(wǎng)絡(luò)模型在保險欺詐挖掘中的應(yīng)用[J].河南城建學(xué)院學(xué)報,2012.
[2]馮祖洪,李靜.基于主成分分析的改進貝葉斯網(wǎng)絡(luò)入侵檢測研究[J].現(xiàn)代電子技術(shù),2012.
[3]汪濤,廖彬超,馬昕,方東平.基于貝葉斯網(wǎng)絡(luò)的施工安全風(fēng)險概率評估方法[J].土木工程學(xué)報,2010.
[4]姬志偉,楊英寶,孫益祥.基于貝葉斯網(wǎng)絡(luò)的航空公司安全風(fēng)險評估研究[J].中國民航飛行學(xué)院學(xué)報,2016.
[5]李軍,熊飛,鈕焱.基于貝葉斯網(wǎng)絡(luò)的網(wǎng)絡(luò)風(fēng)險評估研究[J].軟件導(dǎo)刊,2017.
[6]Pate′-Cornell, M.E. 1996. Uncertainties in risk analysis: Six levels of treatment. Reliability Engineering System Safety,1996.
[7]Liu, R. 2016. Research on risk assessment and modeling of flooddisaster based on Bayesian network. Shanghai: East China Normal University (in Chinese).
[8]付鈺,吳曉平,嚴承華.基于貝葉斯網(wǎng)絡(luò)的信息安全風(fēng)險評估方法[J].武漢大學(xué)學(xué)報( 理學(xué)版),2006.
[9]Chickering DM. Optimal structure identification with greedy search. Journal of Machine Learning Research,2002.
[10]Sahin F, Yavuz M, Amavu Z. et al. Fault diagnosis for airplane engines using Bayesian network and distributed particle swam optimization. Parallel Computing,2007.