商 婧,王佳寧,劉 旭,李 琪,王 健
(1.北京交通大學 計算機與信息技術學院,北京 100044;2.北京經緯信息技術有限公司,北京 100081)
隨著鐵路的高速發展,鐵路行業已經進入了大數據時代[1];逐步成熟的大數據技術能夠為鐵路運輸組織的各個環節予以高效指導[2-3]。鐵路網絡業務場景眾多,數據資產規模龐大、類型繁雜、價值密度高,因此對關鍵信息基礎設施、重要數據、個人信息、數據跨境流動等方面有較高的安全保護需求。研究并形成鐵路網絡數據風險等級分類方法,對落實鐵路網絡數據安全管理要求,確保鐵路網絡數據安全風險可控、在控具有重大意義。
目前,已有眾多學者對風險等級分類技術進行了研究。駱公志等人[4]提出一種基于粗糙集理論的網絡信息安全風險等級分類技術,通過成對比較矩陣賦予每個信息系統對應權重,生成加權多粒度粗糙集,并在模型容錯性等方面進行了詳細分析,但由于該方法需要拓展粗糙集模型并獲取信息系統各類規則,實施過程較為復雜;陳瑋等人[5]使用卷積神經網絡和雙向長短期記憶模型對企業新聞數據進行風險劃分,但該方法需要對大量訓練語料進行人工信息標注,且構建雙向長短期記憶模型所花費的時間過多,實用性較差。
除上述方法外,也可使用聚類算法進行風險等級分類。李暢等人[6]基于模糊譜聚類技術,依據真實駕駛數據,建立了在線駕駛風險等級分類算法,但由于譜聚類技術對每簇數據量有一定的要求,故在數據量較大時使用受限;丁慧等人[7]使用改進的密度聚類算法進行風險等級判定,通過查詢每個節點的歐氏平均距離鄰域,分別計算每個節點密度和所有節點平均密度,得到每個節點的方差,并采用基于等深度分塊法進行數據分割,從而在每個數據分區運行密度聚類算法,得到聚類結果。然而,該方法在對數據進行標準化處理后,使用單一距離度量方法進行聚類,沒有考慮數據屬性的復雜性對聚類結果帶來的影響,對實際應用場景的適應性較差。
綜上所述,現有的風險等級分類技術多數需要獲取復雜規則或大規模信息標注,一些使用聚類方法的技術也沒有考慮到數據屬性的復雜性,且沒有進行結果的有效性評估,進而導致無法得到最優的分類結果。
為克服現有風險等級分類方法的局限性,同時對鐵路網絡數據進行更加有效的風險等級分類,本文提出了基于高斯混合模型(GMM,Gaussian Mixture Model)聚類的鐵路網絡數據風險等級分類方法。該方法考慮數據的無序和有序屬性,基于混合距離計算進行GMM 聚類,最終能夠將輸入的數據根據其等級和生命周期階段進行更加準確、有效的風險等級分類。本文算法以鐵路數據分類分級結果為基礎,識別數據在全生命周期內的潛在風險,研究并確定鐵路網絡數據風險等級分類,為制定差異化的數據安全保護措施提供支撐,對進一步落實鐵路網絡數據安全管理要求具有重大意義。
K-means 聚類算法是一種迭代求解的聚類分析算法,算法步驟如下。
(1)確定簇數和最大迭代次數,初始化類簇。
(2)初始化聚類中心。從數據樣本中,隨機選取k個數據樣本點作為聚類中心。
(3)將數據樣本分配到與其歐式距離最近的類中。
(4)迭代聚類中心。計算每個簇中所有數據樣本點的均值,作為新的聚類中心。
(5)如果聚類中心不再偏移或偏移很小,或者達到最大迭代次數N,則停止迭代,輸出聚類結果,否則重復步驟(3)和(4)。
考慮到鐵路網絡數據屬性較為復雜等特點,本文對有序屬性和無序屬性使用多種距離計算方式進行度量。
1.2.1 VDM 距離
VDM(Value Difference Metric)主要用于對不存在序關系的離散無序數據屬性進行距離度量。令mu,a表示在屬性u上取值為a的樣本數,mu,a,i表示在第i個樣本簇中在屬性u上取值為a的樣本數,k為樣本簇個數,則屬性u上兩個離散值a和b之間的VDM 距離為
1.2.2 MindkovDM 混合距離
對于有序屬性和無序屬性同時存在的混合距離計算,本文采用MindkovDM 距離計算方法,將歐式距離和VDM 距離結合,假定共有n個屬性,其中,nc個無序屬性,n-nc個有序屬性,則MinkovDM 距離為
根據鐵路網絡數據規模大、數據類型多樣等特點,本文使用GMM 聚類技術。對于大規模數據,GMM 聚類算法相較其他聚類算法更加有效,且時間復雜度更低[8],聚類結果也更加穩定。與K-means 聚類方法不同,這種聚類方法依概率劃分各個樣本簇,而不會將數據確定地分為某一個簇。該方法采用的訓練模型是幾個高斯模型的加權和,之后將樣本數據分別在若干個高斯模型上進行投影,分別得到這些樣本數據點被劃分在各個類簇上的概率,最后選取概率最大的簇作為數據點最終劃分結果[9]。
鐵路網絡數據風險分類步驟為:(1)數據預處理,從風險和數據角度提取關鍵信息,構建風險信息數據集;(2)利用數據的有序屬性進行K-means聚類,獲得初始聚類中心;(3)通過計算混合距離調整聚類中心;(4)基于上述聚類中心,進行多輪迭代,完成GMM 聚類,并對每輪聚類結果進行評估;(5)將評估表現最好的聚類結果作為最終類簇劃分,并確定每類風險評分,最終根據評分確定風險等級,完成數據風險等級分類,如圖1所示。

圖1 鐵路網絡數據風險分類算法流程
對鐵路網絡數據進行預處理,根據鐵路網絡數據風險評估指標,從風險和數據角度提取關鍵信息。從數據角度,以鐵路網絡數據分類分級要求作為基礎依據,提取不同級別數據的關鍵信息,包括數據等級、數據在全生命周期中所處不同階段,形成數據信息;從風險角度,對現有數據風險進行分析,獲取數據生命周期不同階段面臨的風險類型、風險影響程度,形成統一的風險信息。將以上2 方面信息構成數據風險信息并存入風險信息數據庫,數據自身屬性與風險屬性聯合作為輔助數據風險等級分類的屬性。上述過程獲取的數據屬性被分為2 類,即有序屬性和無序屬性。有序屬性:能直接在屬性值上計算距離的屬性,如{1,2,3}。無序屬性:不能直接在屬性值上計算距離的屬性,如{小狗,小貓,老鼠}。
在對數據進行預處理后,使用數據中的有序屬性進行K-means 聚類操作得到初始的聚類中心和聚類結果,為每個數據樣本分配初始標簽,方便后續利用混合屬性對聚類中心進行調整。
利用歐式距離計算方法對有序屬性間的距離進行計算,利用VDM 距離計算方法和步驟(2)中得到的數據標簽對無序屬性間的距離進行計算。隨后使用MindkovDM 混合距離計算方法聚合計算得出混合距離,實施基于混合距離的K-means 再聚類,得到每個類簇的簇中心。
將步驟(3)中得到的聚類中心作為GMM 聚類算法的初始中心,使用最大似然函數確定每個數據樣本屬于哪個高斯分布;使用最大期望(EM,Expectation Maximization)算 法 求 解GMM 參 數[10],更新所有高斯分布的均值和方差;計算模型的似然函數,使用似然函數判斷模型參數是否已經收斂;迭代更新模型參數,直至收斂,即完成一次聚類過程。設置多個輪次進行上述聚類過程,計算聚類結果的緊密性(CP)與分離性(SP),其中,CP 表示每一個類中各數據點到聚類中心的平均距離,CP 值越低表明類內數據點間距離越近;SP 表示各聚類中心兩兩之間距離之和的平均值,SP 值越高表明類間距離越遠。該步驟將CP 值與SP 值的比值作為每次聚類的評價指標,規定輪次的聚類結束后,將比值最小的聚類結果作為最終的聚類劃分(即風險劃分)結果。
假設每個樣本面臨m個數據風險,則每個樣本的風險分數計算公式為
其中, α 用來平衡數據等級與數據風險影響程度對最終風險值的影響占比,由于數據等級的高低也是影響數據潛在風險危害程度的重要因素,故通常0.5 ≤α <1;數據風險影響程度值由輸入的數據風險表提供。
利用風險等級計算公式,根據每一類簇中的數據樣本的有序屬性的屬性值計算評分,得到最終的風險等級分類。假設某一類簇中有m個樣本,則這一類的風險總分計算公式為
對于每一個類簇,計算出的風險分數越高,表示該類包含的數據潛在的風險越大,風險等級越高。
對提出的數據風險等級分類方法進行實驗評估:收集鐵路網絡數據作為實驗數據集,將本文提出的GMM 聚類算法和傳統K-means 聚類、譜聚類算法進行結果的直觀對比與分析;通過比較上述算法在輪廓系數[11]、CH(Calinski-Harabasz)分數、戴維森堡丁指數(DBI)[12]等評價指標上的表現,進一步評估聚類效果。
本文收集鐵路網絡數據,并對其進行預處理,根據鐵路網絡數據風險評估指標從風險和數據角度提取關鍵信息。
從數據角度,提取數據等級、數據在全生命周期中所處不同階段,形成數據信息,按照數據的重要程度將數據劃分為一般數據、重要數據和核心數據,此外,將一般數據劃分為4 級,由S1~S4 表示。數據等級由低到高表示為0~5。如表1 所示。

表1 數據等級
從風險角度,獲取數據生命周期不同階段面臨的風險類型及風險影響程度,分別如表2、表3 所示。

表2 數據生命周期及相應風險類型

表3 風險影響程度
將從以上2 方面提取的信息聯合作為輔助數據風險等級分類的屬性,構建數據集。
3.2.1 輪廓系數
對于單個樣本,設a是與它同類別中其他樣本的平均距離,b是與它距離最近的不同類別中樣本的平均距離,則其輪廓系數為
一個樣本簇的輪廓系數取值范圍為[-1,1],輪廓系數越高,聚類效果越好。
3.2.2 CH 分數
CH 分數通過計算類中各點與類中心的距離平方和來度量類內的緊密度,通過計算各類中心點與數據集中心點距離平方和來度量數據集的分離度,CH指標由分離度與緊密度的比值得到。取值范圍為[0,+∞),CH 分數越大,聚類效果越好。
3.2.3 DBI 指數
DBI 指數又稱為分類適確性指標,取值范圍為[0,+∞),該指數越小,聚類效果越好,計算公式為
其中,Si為第i類樣本到其類中心的平均歐氏距離;為第i和第j類的類中心歐氏距離。
3.3.1 GMM 聚類結果及分析
通過GMM 聚類算法將數據集劃分為5 類,根據每類的風險分值進行風險等級劃分,分數越高,風險越大。風險等級由低到高分為I 級、II 級、III 級、IV 級、V 級。為獲得最好的聚類結果,設置多個迭代次數進行GMM 聚類,將CP和SP的比值作為評價指標,對每次聚類結果進行評估,確保聚類結果可靠,多輪聚類結束后,將比值最小的聚類結果作為最終的聚類劃分結果。聚類結果如圖2 所示。

圖2 GMM 聚類結果及風險分類情況
3.3.2 K-means 聚類結果及分析
只考慮有序屬性的K-means 聚類算法及考慮混合屬性的K-means 聚類算法所得的聚類結果分別如圖3、圖4 所示。根據實驗結果,可以得出無論是否考慮數據的混合屬性,傳統K-means 聚類結果對類簇的劃分界限均不清晰,各個類簇之間的重疊情況較為嚴重。

圖3 只考慮有序屬性的K-means 聚類結果

圖4 考慮混合屬性的K-means 聚類結果
3.3.3 譜聚類結果及分析
采用譜聚類算法所得聚類結果如圖5 所示,該方法無法產生正確的聚類劃分結果,聚類中心偏移嚴重,聚類數據點劃分類別不明確。

圖5 譜聚類結果
綜上,通過聚類結果的直觀對比,本文所提方法比傳統K-means 聚類方法及譜聚類方法更有效,產生的風險劃分結果更加明確清晰。
3.3.4 各聚類算法評估指標對比
除通過聚類結果直接進行上述對比,本文還使用輪廓系數、CH 分數、DBI 指數這3 個聚類效果評估指標,對以上4 種聚類結果進行分析。評估指標計算結果如表4 所示。

表4 各種算法聚類效果評估指標
根據3.2 節可知,輪廓系數越高,CH 分數越大,DBI 指數越小,聚類效果越好。由表4 可知,本文提出的GMM 算法在輪廓系數上計算結果最高,在CH分數上高于考慮混合屬性的K-means 算法和譜聚類算法,在DBI 指數上明顯低于其他3 種算法。綜上,使用本文提出的聚類算法所得到的聚類效果明顯優于其余聚類算法的聚類效果。
根據3.3 節所得聚類結果,按照公式(3)~(5)給出的風險值計算公式,將鐵路數據劃分為5 個風險等級,如表5 所示。

表5 數據風險等級劃分結果
本文設計了一種基于GMM 聚類的鐵路網絡數據風險等級分類方法,使用K-means 和GMM 聚類技術對鐵路網絡數據進行多階段聚類。實驗結果表明,本文提出的方法解決了具有混合屬性數據的類別劃分問題和聚類算法隨機初始化帶來的聚類結果隨機性問題,能夠更加準確地對鐵路網絡數據進行風險等級分類,為完善鐵路網絡數據風險評估機制提供了有效的技術基礎。未來將考慮對鐵路網絡系統中各類風險與各種數據資產之間更加復雜的關系進行聯合建模,利用深度學習技術作進一步的研究。