童 威,黃啟萍
(1.安徽文達信息工程學院 計算機工程學院,安徽 合肥 231201;2.安徽電氣工程職業(yè)技術(shù)學院 計算機工程學院,安徽 合肥 230051)
隨著社會經(jīng)濟的迅速發(fā)展,傳統(tǒng)的消防安全體系問題越來越突出。據(jù)公安部消防局公布數(shù)據(jù),2017年全國共接報火災25.9萬起,已核直接財產(chǎn)損失31.2億元[1]。其中,建筑物火災相對多發(fā),傷亡人數(shù)最多。解決城鎮(zhèn)建筑物的消防安全問題,一方面通過公安消防部門的現(xiàn)場勘查,發(fā)現(xiàn)火災安全隱患問題,另一方面通過市民投訴電話來隨機檢查非法建筑物。這2種做法都存在缺陷,前一種做法成本太高,后一種做法效率低下[2]。
文獻[3]提出一種基于視頻圖像的煙霧特征提取方法,利用該方法可以準確探測出火災煙霧,并根據(jù)煙霧進行火災檢測,該方法具有較高的檢測效果,但是憑借煙霧濃度進行火災檢測,無法有效實現(xiàn)災害發(fā)生前的火災消防預測,其安全性能較差;文獻[4]提出了一種基于光流法和紋理特征的火災煙霧檢測算法,可用于火災早期報警,通過建立皮拉米德圖像,并利用LBP和LBPV提取不同層次的靜態(tài)紋理特征。由于煙霧運動的湍流特性,煙霧方向是一致的,采用光流矢量分析判斷可疑區(qū)域輪廓的運動方向,降低了計算復雜度,最后,利用支持向量機識別煙霧圖像的紋理特征,仿真結(jié)果表明,該算法能夠保證算法的及時性,但其準確性有待提高。
判斷一棟建筑物可能發(fā)生火災的相關(guān)常見因素包括:建筑物的類型、高度、施工材料、建筑的新舊程度、建筑物位置、年份等。對某建筑物可能發(fā)生火災的預測,大多以貝葉斯算法為主,但現(xiàn)有的樸素貝葉斯算法在針對分類預測研究時,最大的缺陷在于各特征屬性之間相互獨立,沒有考慮到每個屬性的權(quán)重問題,從而影響了分類預測的性能[5]。本文基于樸素貝葉斯算法,對每一個特征屬性附加權(quán)重系數(shù),以此提高預測的正確率。通過本文的研究,將建筑物信息與違法改建相關(guān)因素進行聯(lián)系,希望可以作為設計消防檢測系統(tǒng)的基礎,將某地區(qū)的建筑劃分為多個風險等級,以幫助消防監(jiān)察單位決定每次的常規(guī)檢查路線和重點檢查單位。
貝葉斯學習方法通過概率規(guī)則進行理論學習和推導,采用概率來表示所有結(jié)論的不確定性,表示出對不同結(jié)論可能性的信任程度,其概率的計算過程極為復雜。樸素貝葉斯算法簡化了貝葉斯學習方法所需要的計算,在某些特定的領域,其性能可以比得上機器學習中的其他高級算法,如:神經(jīng)網(wǎng)絡[6]、決策樹[7]等。但該算法更容易使用,并且速度較快[8]。
將給定的全概率事件劃分m個類C1,C2,…,Cm。通過輸入不確定分類的訓練樣本Y,該算法輸出Y屬于具有最高后驗概率的類[9],即樸素貝葉斯算法預測Y屬于類Ci,令
P(Ci|Y)>P(Cj|Y),1≤i,j≤m,j≠i
(1)
式中:P表示先驗概率。這樣,最大化P(Ci|Y)。其P(Ci|Y)最大的類Ci稱為最大后驗假設。
樸素貝葉斯模型假設數(shù)據(jù)的所有特征屬性之間是獨立的[10],這樣可以降低計算的復雜度和難度[11]。在多維向量情況下,聯(lián)合概率正好是每個單獨特征概率的乘積,因此可以得出貝葉斯分類器的分類過程為[12]
(2)
但是,樸素貝葉斯算法的缺點也顯而易見,就是特征屬性之間是相互獨立的,沒有關(guān)聯(lián)。在所設計的消防檢測框架中,各特征屬性之間必然會存在一定的關(guān)聯(lián),如建筑物所處的位置與建筑物的年份,區(qū)域居民經(jīng)濟收入和建筑物年份等的強弱關(guān)聯(lián)。因此,如果不考慮特征屬性量化權(quán)重的問題,樸素貝葉斯算法對于此類問題的預測效果是不理想的。
對樸素貝葉斯算法進行改進,根據(jù)每個特征屬性對類別變量影響的關(guān)聯(lián)度來量化相應的權(quán)重值,以此來提高樸素貝葉斯算法的性能。
設權(quán)重系數(shù)向量W=(W1,W2,…,Wm),其中m為樣本特征屬性。加權(quán)的樸素貝葉斯算法的核心問題就是特征屬性權(quán)重系數(shù)Wm的計算[13-14]。本文采用信息增益算法來量化每個特征屬性的權(quán)重系數(shù)[15-16]。信息增益是計算特征屬性與類別屬性之間的不確定度,當信息增益值越大,則這個特征屬性對分類的信息量就越大,相應的權(quán)重系數(shù)也就越大,反之亦然[17-18]。權(quán)重系數(shù)Wm對應特征屬性集合A=(A1,A2,…,Am)的計算公式為
(3)
式中:G(Ak)是第k個特征屬性與類別屬性之間的信息增益值。
利用屬性加權(quán)的信息增益算法,計算出每個特征屬性與類別之間的信息增益[19],然后利用式(3)進行歸一化處理,計算過程如下。
輸入:樣本集S=(S1,S2,…,Sn),n為樣本個數(shù)。
(2) 計算特征屬性信息熵E(Ak)。
(3) 計算特征屬性與類別屬性的信息增益G(Ak)=I(C1,C2,…,Ck)-E(Ak)。
(4) 利用式(3)計算權(quán)重向量W=(W1,W2,…,Wm),其中,m為特征屬性個數(shù)。
輸出:權(quán)重向量W=(W1,W2,…,Wm)。
有了屬性權(quán)重系數(shù)以后,根據(jù)式(2)對樸素貝葉斯模型進行擴展得出加權(quán)樸素貝葉斯分類模型:
(4)
式中:Xk代表特征屬性。
運用加權(quán)樸素貝葉斯算法,建立分類模型[20],模型的創(chuàng)建步驟如下。
(1)數(shù)據(jù)預處理。將訓練樣本和待分類樣本中的缺失數(shù)據(jù)利用數(shù)據(jù)平滑、同類樣本平均值等方法進行補齊,連續(xù)型數(shù)據(jù)通過等深劃分、區(qū)間法、聚類法進行離散化。
(2) 加權(quán)計算。掃描所有訓練樣本數(shù)據(jù),設置一個G(Ak)閾值(0.2)。分別計算各個特征屬性的信息增益,刪除所有小于預定閾值的特征屬性,保留滿足閾值的信息增益的屬性。按照上文的特征屬性權(quán)重定義方法計算每個屬性X的權(quán)值Wm。
(3) 計算概率。根據(jù)訓練數(shù)據(jù)集S,針對每個屬性X的屬性值,每個類別Ck,計算所有的先驗概率P(Xk|Ck),即類別Ck出現(xiàn)的概率和在類別Ck下屬性Xk出現(xiàn)的概率。
(4) 分類器構(gòu)造。生成經(jīng)加權(quán)的樸素貝葉斯概率表及屬性權(quán)值列表。
(5) 分類。調(diào)用概率表和屬性權(quán)值列表,得出分類結(jié)果。
為了驗證基于改進樸素貝葉斯算法在消防檢測中的有效性,提取了UCI的10個數(shù)據(jù)集,該數(shù)據(jù)集包含了模擬建筑物的特征信息。其中屬性最多的數(shù)據(jù)集有24個特征屬性,14個離散屬性,10個連續(xù)屬性。所有數(shù)據(jù)集共20 470條數(shù)據(jù),分別利用K最近鄰(KNN,K-NearestNeighbor)分類算法、決策樹算法(采用C4.5算法)、支持向量機(SVM,support vector machine)算法、樸素貝葉斯算法和加權(quán)樸素貝葉斯算法對建筑物的火災隱患進行檢測,將檢測的準確率進行對比。所有實驗均在Weka平臺上完成。將每個數(shù)據(jù)集分成10份,其中訓練數(shù)據(jù)有9份,測試數(shù)據(jù)有1份,依次進行測試實驗。每次實驗得出各種分類算法相應的準確率,10次結(jié)果的平均值作為對算法精度的估計,實驗結(jié)果如表1所示。
表 1 不同算法的消防隱患檢測準確率
根據(jù)表1的實驗結(jié)果,對加權(quán)樸素貝葉斯算法做如下分析。
(1) 在表1中的10個UCI數(shù)據(jù)集中,本文的加權(quán)樸素貝葉斯算法準確率高于其他算法的有9個,從數(shù)據(jù)集的特點來看,本文加權(quán)樸素貝葉斯算法更適合處理特征屬性較多,且屬性間依賴關(guān)系較強的數(shù)據(jù)集。對于符合這些特點的數(shù)據(jù)集,它的分類效果更好。
(2) 在公用建筑數(shù)據(jù)集上,特征屬性間的依賴關(guān)系較弱,依照本文的屬性加權(quán)算法得到的特征屬性與分類屬性間的相關(guān)度差異較小,導致各個特征屬性的權(quán)重系數(shù)基本相同。故改進后的分類效果與樸素貝葉斯算法的準確率大致相同,且低于SVM分類算法的分類準確率。
(3) 從實驗數(shù)據(jù)可以看出,大部分情況下,加權(quán)樸素貝葉斯算法的準確率要高于SVM算法,這充分說明了在消防檢測系統(tǒng)中,針對建筑物的特征屬性加權(quán)問題非常重要,對分類效果的影響很大。它避免了特征屬性對分類屬性貢獻相同的弊端。因此,在樸素貝葉斯算法的基礎上增加特征屬性權(quán)重,以提高分類準確率是非常必要的。
特征屬性的獨立性假設,在很大程度上限制了樸素貝葉斯算法在分析處理多特征屬性相互依賴問題的預測準確率。本文給出一種屬性加權(quán)的樸素貝葉斯分類器,用于實現(xiàn)建筑物消防檢測框架。利用原有的建筑物特征屬性信息,通過信息增益算法增加每個特征屬性的權(quán)重,以此替代傳統(tǒng)的樸素貝葉斯算法。通過實驗表明,對比樸素貝葉斯算法、KNN算法、C4.5算法、SVM算法等常用分類算法,加權(quán)樸素貝葉斯算法提高了樸素貝葉斯算法的分類性能,從而證明此算法在消防檢測系統(tǒng)中的有效性和可行性。今后,改進加權(quán)方法和完善消防檢測系統(tǒng)將是一個重要的研究方向。