李秋德
(貴陽醫(yī)學(xué)院醫(yī)學(xué)生物工程系 貴州 550004)
入侵分析模塊決定入侵檢測(cè)系統(tǒng)檢測(cè)率和效率。在入侵分析模塊的研究中,軟計(jì)算方法對(duì)異常檢測(cè)系統(tǒng)的分析有效。軟計(jì)算方法通常有神經(jīng)網(wǎng)絡(luò)、遺傳算法、模糊數(shù)學(xué)和粗糙集理論等。就神經(jīng)網(wǎng)絡(luò)而言,BP(Error Back Propagation)神經(jīng)網(wǎng)絡(luò)和徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)是比較重要的神經(jīng)網(wǎng)絡(luò)模型,BP算法具有局部精確搜索的特性,因而存在易陷局部最優(yōu)、收斂速度慢等問題;RBF神經(jīng)網(wǎng)絡(luò)不存在易陷局部最優(yōu),但收斂速度仍較慢,改善其收斂速度方法眾多,本文對(duì)RBF的初始化聚類子算法進(jìn)行改進(jìn)。使用集成神經(jīng)網(wǎng)絡(luò)理論對(duì)有差異的RBF神經(jīng)網(wǎng)絡(luò)構(gòu)建集成RBF神經(jīng)網(wǎng)絡(luò)分類器。實(shí)驗(yàn)結(jié)果表明該方法提高了檢測(cè)率和收斂速度。
RBF神經(jīng)網(wǎng)絡(luò)是具有單隱含層的三層前饋網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)下圖所示。數(shù)學(xué)描述為:X=(x1,x2,…,xN)T為網(wǎng)絡(luò)輸入向量,φj(X)(j=1,2,…,P)為隱節(jié)點(diǎn)的基函數(shù),Y=(y1,y2,…,yt)T為網(wǎng)絡(luò)輸出。
標(biāo)準(zhǔn)RBF算法的編程步驟:
輸入:訓(xùn)練樣本、輸入層,輸出層,隱含層神經(jīng)元的數(shù)目、最大誤差、最大循環(huán)次數(shù)、高斯函數(shù)寬度;
輸出:RBF神經(jīng)網(wǎng)絡(luò)分類器。
Step1:初始化聚類中心,中心值方差,神經(jīng)網(wǎng)絡(luò)的權(quán)值、偏值和學(xué)習(xí)率;
Step2:輸入訓(xùn)練樣本對(duì),聚類學(xué)習(xí);
Step3:計(jì)算各層輸出及網(wǎng)絡(luò)輸出誤差;
Step4:計(jì)算各層誤差信號(hào),調(diào)整各層權(quán)值;
Step5:檢查對(duì)所有樣本是否完成一次輪訓(xùn),完成則轉(zhuǎn)向Step6,否則返回Step3;
Step6:檢查網(wǎng)絡(luò)總誤差是否小于最大誤差或達(dá)到最大循環(huán)次數(shù),滿足時(shí)結(jié)束訓(xùn)練,否則返回Step3。
RBF的主要訓(xùn)練時(shí)間是初始化聚類,改進(jìn)其收斂速度重點(diǎn)在于初始化聚類的改進(jìn)。文獻(xiàn)[1]設(shè)計(jì)了初始化聚類子算法,本文對(duì)初始化聚類子算法做如下改進(jìn):
由于入侵檢測(cè)數(shù)據(jù)庫數(shù)據(jù)量大,于是定義與其它數(shù)據(jù)距離最小的點(diǎn):Min_Distance_Point[m],其它數(shù)據(jù)的最小距離:Min_Distance[m],最大最小距離:Max_Min_Distance[m];m為選取的數(shù)據(jù)記錄,一般很大,所以在step3中求最小歐氏距離最大的若干記錄時(shí),為了減少儲(chǔ)存和時(shí)間復(fù)雜度,不使用比較排序法。由于取出k個(gè)點(diǎn)最多需要k*(k-1)個(gè)記錄對(duì),Max_Min_Distance大小可定義為k*(k-1)。以下為快速求前k個(gè)最大數(shù)算法:for i=1 to m
求出比gi大的個(gè)數(shù)Number和與gi相等的個(gè)數(shù)Equation_Number,若k>Number,則gi> goal(目標(biāo)值),記up=gi;若k<=Number且k>=Number-Equation_Number,則gi為目標(biāo)值goal,否則gi< goal,記down=gi。
改進(jìn)前的時(shí)間復(fù)雜度O(m2),改進(jìn)后為O(m),時(shí)間復(fù)雜度得到降低。
神經(jīng)網(wǎng)絡(luò)集成是集成一批有差異且能獨(dú)立分類學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),并共同決定最終輸出的信息處理系統(tǒng)。根據(jù)RBF神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元的個(gè)數(shù)、學(xué)習(xí)率等不同網(wǎng)絡(luò)結(jié)構(gòu)和輸入不同的特征屬性等影響因素,構(gòu)造出5個(gè)RBF神經(jīng)網(wǎng)絡(luò)分類器,這批分類器具有檢測(cè)率較高、網(wǎng)絡(luò)結(jié)構(gòu)不同等特點(diǎn)。然后對(duì)這批神經(jīng)網(wǎng)絡(luò)進(jìn)行集成,輸出按對(duì)各網(wǎng)絡(luò)簡(jiǎn)單平均,相當(dāng)于大數(shù)的決策原則,共同決策輸出最終結(jié)果。
入侵分析模塊使用KDDCUP’99(10%)為實(shí)驗(yàn)數(shù)據(jù),RBF分類器的輸入數(shù)據(jù)為數(shù)值型,需要對(duì)原始數(shù)據(jù)做預(yù)處理,即將字符型按某種編碼方式轉(zhuǎn)換為數(shù)值型數(shù)據(jù),并做歸一化處理。
運(yùn)行環(huán)境: VC++6.0平臺(tái),后臺(tái)數(shù)據(jù)庫為Access 2003。
參數(shù)設(shè)置:數(shù)據(jù)記錄數(shù)=29255,網(wǎng)絡(luò)誤差=1e-3,最大聚類中心數(shù)=100,最大權(quán)值學(xué)習(xí)數(shù)=1000,學(xué)習(xí)率=0.5,最大聚類中心距=1e-3,輸入層節(jié)點(diǎn)數(shù)=5,輸出層節(jié)點(diǎn)數(shù)=1。
變量初始化:改進(jìn)算法初始化聚類子,連接權(quán)值取[0,1]的隨機(jī)數(shù),徑向基函數(shù)為高斯函數(shù)。
輸出結(jié)果:連接權(quán)值文件,分類結(jié)果文件。
將輸出參數(shù)文件放入標(biāo)準(zhǔn)RBF算法中使用集成算法最終決策結(jié)果。
檢測(cè)率(ADR)、誤報(bào)率(FPR)、漏報(bào)率(FNR)三個(gè)指標(biāo)來評(píng)價(jià)檢測(cè)性能。隨機(jī)抽取29255條訓(xùn)練數(shù)據(jù)集和19481條測(cè)試集數(shù)據(jù),訓(xùn)練數(shù)據(jù)集對(duì)改進(jìn)的RBF進(jìn)行訓(xùn)練,然后用測(cè)試集數(shù)據(jù)用于RBF與集成神經(jīng)網(wǎng)絡(luò),決策最終結(jié)果。RBF與集成神經(jīng)網(wǎng)絡(luò)的檢測(cè)率、誤報(bào)率、漏報(bào)率的實(shí)驗(yàn)結(jié)果如表1。
表1 RBF與集成的檢測(cè)結(jié)果
通過對(duì)入侵檢測(cè)系統(tǒng)事件分析模塊的分析,構(gòu)建分類器時(shí),本文對(duì)已有文獻(xiàn)中的初始化聚類子算法的進(jìn)一步改進(jìn)而提高了訓(xùn)練速度,用集成理論對(duì)RBF神經(jīng)網(wǎng)絡(luò)的集成提高了檢測(cè)率。針對(duì)分類器的構(gòu)建過程,在此基礎(chǔ)上還有很多后續(xù)工作,對(duì)神經(jīng)網(wǎng)絡(luò)的集成方案眾多,可在方案上開辟新途徑。
[1] 熊家軍,李慶華.信息熵理論與入侵檢測(cè)聚類問題研究[J].小型微型計(jì)算機(jī)系統(tǒng),2003,5(26).
[2] 唐正軍,李建華.入侵檢測(cè)技術(shù)[M].北京:清華大學(xué)出版社,2004.
[3] 張義榮,鮮明,肖順平,王國(guó)玉.一種基于粗糙集屬性約簡(jiǎn)的支持向量異常入侵檢測(cè)方法[J].計(jì)算機(jī)科學(xué) 2006(33).
[4] 韓力群.人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計(jì)及應(yīng)用(第二版)[M].北京:化學(xué)工業(yè)出版社,2007.
[5] 下載地址為:http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.