999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

入侵檢測系統中神經網絡分析器的設計

2009-04-29 00:00:00李焱,李偉超
電腦知識與技術 2009年25期

摘要:通過對BP算法和CGBP算法的分析與比較,提出了基于CGBP算法的神經網絡分析器并給出了具體的設計方案。該分析器具有一定的實用和參考價值,效果良好。

關鍵詞:BP神經網絡;共軛梯度;分析器;入侵檢測

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)25-7229-04

The Designing of Neural Network Analyzer in Intrusion Detection System

LI Yan, LI Wei-chao

(Zhengzhou Institute of Aeronautical Industry Management,Zhengzhou 450015, China)

Abstract: By analyzing and comparing with BP algorithm and CGBP algorithm, the author proposes a neural network analyzer based on CGBP algorithm. After that, the author gives a specific design proposal. The analyzer has a practical and referential value. And the analyzer has obtained good results.

Key words: BP neural network; conjugate gradient; analyzer; intrusion detection

根據通用入侵檢測框架(Common Intrusion Detection Framework, CIDF)模型,入侵檢測系統通常有四個組件:事件產生器、事件分析器、響應單元和事件數據庫。其中事件分析器,既分析子系統是入侵檢測系統的核心部分,用于對獲取的事件信息進行分析,從而判斷是否有入侵行為發生并檢測出具體的攻擊手段。神經網絡應用于分析器是研究入侵檢測系統的一個方向。

在神經網絡的實際應用中,使用最廣泛的是BP(Back-Propagation)網絡。它有一個不足是當學習速度較小時,其緩慢的學習速度使得網絡的學習失去了意義。學習速度過大又會使得誤差函數不能收斂。共軛梯度法在一定程度上克服了最速下降法迭代路徑呈鋸齒形現象。共軛梯度法用于訓練神經網絡稱作共軛梯度反向傳播算法(Conjugate Gradient Back Propagation, CGBP)[1]。

1 BP神經網絡

1.1 神經元模型

任何一個神經網絡都是由眾多神經元組成的,每個神經元是生物神經元的模擬、抽象和簡化,神經網絡的處理能力正是來源于各層神經元之間的相互作用。每個神經元都具備以下三個基本的功能:

1) 接受輸入。一般來說,一個神經元不止一個輸入。如圖1所示,具有R個輸入的神經元其輸入為p1,p2,…,pR 分別對應權值矩陣W的元素w1,1,w1,2,…,w1,R 。wi,j表示第j個神經元到第i個神經元的連接強度,簡稱權值。另一個輸入是1乘上偏置值(或稱偏移值)b。這個偏置值如果不想在神經網絡中使用,也可以忽略。

2) 輸入處理。神經元中對輸入的處理按矩陣形式表示為:

n=Wp+b (1)

如圖1,單個神經元的權值矩陣W只有一列元素。所有輸入的加權和與偏置值b累加形成凈輸入n。

n=w1,1p1+w1,2p2+……+w1,RpR+b(2)

3) 計算輸出。經過輸入處理后所得到的n稱為凈輸入,把它送入傳輸函數(也稱活躍函數)f,在f中產生神經元的標量輸出a:

a=f(n) 或 a=f(Wp+b)(3)

傳輸函數可以是n的線性或非線性函數。可以用特定的傳輸函數滿足神經元要解決的特定問題。常用的有線性傳輸函數、對數-S形傳輸函數等。

拿這個神經元模型與生物神經元相對照,權值w對應于突觸的連接強度,累加器和傳輸函數代表了細胞體,神經元輸出a相當于軸突的信號。

1.2 神經網絡拓撲結構

Paul Werboos博士于1974年在他的博士論文中第一次描述了訓練多層神經網絡的一個算法—誤差逆傳播(Error Back-Propagation)[2]學習算法,通常簡稱BP(Back-Propagation)算法。后來人們把應用BP算法進行網絡訓練的前饋型網絡簡稱BP網絡。

BP網絡是一個多層網絡,能夠解決單層感知機不能解決的非線性可分問題。網絡由輸入層、隱含層和輸出層組成。其中隱含層可以是一層也可以是多層。上下層之間各神經元實現全連接,而同一層神經元之間無連接。圖2給出了只有一層隱含層的網絡拓撲結構。

圖2顯示了兩層BP網絡(也有叫做三層的,把輸入層算做一層)。在該拓撲結構中,有r個輸入,隱含層中有s個神經元,輸出層有n個輸出神經元。為了簡化,將這個網絡記為r-s1-s2網絡,對應每一層的結點數。各層神經元的多少則要根據具體的應用問題而定。

傳輸函數選擇對數-S形函數,其數學表達式為:a=1/(1+e-n)。輸入在(-∞,∞)之間取值,輸出則在0到1之間。可以用來處理和逼近非線性的輸入/輸出關系。有研究表明,含有一個隱層的BP網絡足以完成任意的維到維的映射[3]。因此本文采用只有一個隱含層,各層神經元是對數-S形傳輸函數的BP網絡。

2 BP學習算法

BP算法是在監督學習下,適用于多層神經網絡的學習算法。算法的學習過程分兩個階段:第一階段是正向傳播過程。輸入信息由輸入層輸入經隱含層處理,最后通過輸出層輸出網絡計算的結果;第二階段是誤差修正反向傳播過程。比較輸出層的實際輸出與期望輸出的誤差,若不滿足要求,按照減少誤差的方向從輸出層經隱含層逐層修正各連接權值,直到輸入層。在網絡學習過程中這兩個階段是反復交替進行的,只有在輸出的誤差滿足要求或到達限定的循環次數時才會停止。

通過正向傳播計算網絡輸出,把網絡學習時輸出層的輸出結果與客觀事實不一致的誤差,歸結為網絡中各層神經元之間的連接權重或偏置值取值不當而造成的,因此通過反向傳播過程把網絡輸出層神經元的誤差逐層向輸入層逆向傳播,以“分攤”給各連接的神經元,從而算出各神經元的的參考誤差,并據此對各神經元之間的連接權和偏置值進行相應調整,使網絡實際輸出更接近期望輸出。BP網絡學習的規則實質上是梯度最速下降法,權值沿誤差函數的負梯度方向改變[4]。

權值變化為:

wi,j(k+1)=wi,j(k)+Δwi,j (4)

其中

η為學習速度。

偏置值變化為:

bi(k+1)=bi(k)+ Δbi(5)

其中

網絡誤差函數:

(6)

三層BP網絡中各層權值及偏置值的變化如下:設輸入節點pj(j=1,…,r),隱藏層節點hi(i=1,…,s1),輸出層節點Ok(k=1,…,s2)。輸入節點到隱藏層節點的網絡權值為w1i,j,偏置值為b1i,輸出為a1i。隱節點到輸出節點的網絡權值為w2k,i,偏置值為b2k,期望的輸出為tk,實際的輸出為a2k。

1) 網絡的正向傳遞

隱含層第i個神經元的輸出為:

(7)

輸出層第k個神經元的輸出為:

(8)

2)誤差反向傳播(利用梯度下降法求權值變化)

輸出層的權值變化:

(9)

其中

令δ2k=(tk-a2k) a2k (1-a2k)

所以有 Δw2k,i=η(tk-a2k) a2k (1-a2k)a1i=ηa1iδ2k (10)

輸出層的偏置值變化:

(11)

其中

令δ2k==(tk-a2k) a2k (1-a2k)(12)

所以有Δb2k=η(tk-a2k) a2k (1-a2k)= ηδ2k (13)

隱含層的權值變化:

(14)

其中

所以有(15)

令 (16)

則有 Δw1i,j=ηpjδ1i (17)

隱含層的偏置值變化:

(18)

其中

所以有 (19)

令(20)

則Δb1i=ηδ1i (21)

由以上算法的推導過程可以看出,計算權值或偏置值的變化要先求出各層各個節點的δ值,即誤差。然后用這個誤差乘輸入得出梯度的近似值,再乘以學習速度即可。

3 共軛梯度反向傳播算法實現

BP算法是最小均方誤差的近似最快下降算法,從理論上講η取任意小時,該方法一定會使誤差函數趨于極小(局部或全局),但是當η過小時收斂速度很慢,使得網絡的學習失去意義。共軛梯度法能在一定程度上克服最速下降法迭代路徑呈鋸齒形現象,又能避免牛頓法求Hessian 矩陣及其逆陣時的困難,不必計算或存儲二階導數信息就具有二次終止性[5],因此在較大的規模問題中十分有用。

在各種優化算法中選定不同的搜索方向和步長對算法的收斂性至關重要,BP算法選擇的搜索方向是沿梯度的負方向搜索,而CGBP算法則利用一維搜索所得到的極小點處的最速下降方向生成共軛方向作為搜索方向,比最速下降法在速度和效果上有很大的改進[1]。設梯度向量為g,共軛向量為p,則第k次的共軛方向為:

(22)

其中 βk=(g(k)-g(k-1))Tg(k)/(g(k-1)Tg(k-1))(23)

權值的修正公式為:w(k+1)=w(k)+ηp(k)(24)

另外這里采用批處理算法,即梯度在整個訓練集都應用于網絡后才計算,以獲得更精確的梯度計算。CGBP算法的具體步驟如下:

1) 隨機產生初始權向量W,給定誤差e>0,限定迭代次數K。

2) 執行神經網絡的向前計算過程(整個訓練集應用網絡)。

計算系統誤差,如果E

3) 用BP算法計算初始點梯度g(0)'(整個訓練集應用網絡),并求梯度方向的單位向量。

4) 令p(0)=-g(0),k=0,設定初始方向。

5) 確定最佳步長ηk,從W(k)出發沿p(k)進行一維線性搜索。

E(W(k)+ηkp(k))=minE(W(k)+ηkP(k))

6) 更新權值W(k+1)=W(k)+ηkp(k)

7) 判別 k=n 否?n表示被優化的參數數目。若等式成立說明已用完n個共軛方向,令W(0)=W(k+1),k=0,返回步驟2,否則執行下一步。

8) 計算系統誤差E,如果E

9) 計算。

10) 計算新的共軛方向p(k+1)=-g(k)+βkp(k)。

11) 如果k≤K令k=k+1,返回步驟5,否則學習停止,W(k+1)作為目標函數E最小的最優值。

12) 存儲網絡參數和學習結果。

在上述過程中,一維線性搜索是算法很關鍵的步驟。確定函數在某個特定方向的極值一般包括兩步:區間定位和區間縮小。

區間定位是找某個包含局部極小點的初始區間。按照文獻[6]的方法,計算公式為:E(W0+kεp0),k=0,1,…,n。先計算某個初始點的性能指數E(w0),然后計算第二點的函數值,它距離初始點的距離是ε且沿初始搜索方向p0,按照點之間的距離依次增加一倍的方式繼續計算新點,直到連續的兩次計算的函數值增加時結束。此時可以知道極小點在倒數第一次和倒數第三次計算的函數值之間。

定位了包含極小值的區間,下一步就是縮小區間直到滿足精度的極小點被定位。假設定位區間為[a,b]只有一個極小點,可以通過計算a, b間的兩個內部點c和d來減少區間尺寸。如果F(c)F(d),極小點在[c,b]區間上。本文采用黃金分割搜索算法來實現上述方法。

4 神經網絡分析器的設計

構造一個神經網絡一般分為三步:一是收集數據和對數據預處理;二是構造和訓練神經網絡;最后是測試和修改神經網絡。其中第二、第三步可能需要多次的訓練和測試才能完成。

1) 數據收集

收集的數據是用來訓練和測試神經網絡的,它的好壞直接影響到分析器的性能。所以樣本數據要具有廣泛性、多樣性、典型性、可靠性和均衡性等特征。把樣本數據分成三組,前兩組數據分別用于訓練和測試,當分析器達到要求后再用第三組數據進行檢驗。

2) 數據預處理

從樣本數據中提取那些正確反映事物本質且互不相關或相關性很小的特征值。然后將這些提取出的物理意義和不同量綱的特征值進行編碼轉換,并做歸一化處理,以便作為BP 網絡的輸入變量使用。

3) 構造BP神經網絡

根據問題的復雜程度選擇神經網絡的層數。正如本文前面介紹的,具有一個隱層的BP網絡足以完成任意n維到m維的映射。增加隱層,雖然可以進一步降低誤差,提高精度,但同時也使得網絡復雜化,網絡權值訓練時間急劇增加。建立神經網絡模型應優先考慮單隱層結構,若進行認真調整后仍無法滿足要求時再考慮增加隱層。

分析器輸入層神經元的個數等于選取的樣本特征向量的維數。隱含層中神經元個數的確定目前還沒有一定的理論依據,因而只能在試驗過程中確定。先放入較少的節點數,輸入樣本對網絡進行訓練,若不成功則增加節點的數目,直至節點數較合理為止。輸出層神經元個數等于分析器要實現分類問題的分類數。傳輸函數選擇對數-S形函數。

4) 訓練BP神經網絡

采用本文前面介紹的CGBP算法用訓練樣本組訓練神經網絡。以文本文件的形式存儲網絡的各種數據。如在net_w.dat文件中存儲了神經網絡各層的權值和偏置值,net_a.dat存儲了系統的檢測結果和相關記錄,net_p.dat存儲的是網絡的參數,test.dat中存儲的是網絡訓練樣本。

神經網絡分析器流程圖見圖3。

5 結束語

本文通過對BP算法和CGBP算法的分析和比較,提出了基于CGBP算法的神經網絡分析器并給出了具體設計方案。該分析器具有一定的實用和參考價值,應用效果良好,精度高,自適應能力更強,學習速度快,能夠在很大程度上實現對未知的異常數據包的檢測。

參考文獻:

[1] Martin T Hagan, Howard B Demuth, Mark H Beale.神經網絡設計[M]. 機械工業出版社, 2003.

[2] 劉振凱,貴中花,蔡青.神經網絡系統的現狀及發展趨勢[J]. 計算機科學, 1996, 23(3): 70-72.

[3] 王景新,戴葵,宋輝等.基于神經網絡的入侵檢測系統[J].計算機工程與科學, 2003(6):28-31.

[4] 李宏剛,呂輝,李.一種BP神經網絡的改進方法及其應用[J].中國工程科學,2005(5):63-65.

[5] 李云飛,張萌.用共軛梯度法解決最優化問題[J].渭南師范學院院報, 2003,S2:38-40.

[6] L E Scales. Introduction to Non-Linear Optimization. New York: Springer-Verlag, 1985,24-32.

主站蜘蛛池模板: 婷婷色丁香综合激情| 77777亚洲午夜久久多人| 亚洲精品亚洲人成在线| 日韩色图区| 中文字幕亚洲精品2页| 99草精品视频| 大香伊人久久| 911亚洲精品| 国产精品黄色片| 亚洲日本一本dvd高清| 99久久精品美女高潮喷水| 国产日韩欧美一区二区三区在线| 亚洲精品另类| 亚洲一区毛片| 欧美一级专区免费大片| 一级毛片基地| 99尹人香蕉国产免费天天拍| 激情综合五月网| 国产欧美日韩在线在线不卡视频| 99ri国产在线| 97色婷婷成人综合在线观看| 麻豆精品久久久久久久99蜜桃| 国产综合无码一区二区色蜜蜜| 青青草一区二区免费精品| 精品视频在线观看你懂的一区| a色毛片免费视频| 日本一区二区三区精品国产| 日韩在线网址| 国产视频自拍一区| 99在线观看精品视频| 99视频在线观看免费| 男人天堂亚洲天堂| 九九久久精品免费观看| 狠狠亚洲五月天| 中文字幕调教一区二区视频| 国产精品浪潮Av| 久久国产精品77777| 国内精品视频区在线2021| 亚洲精品777| 中文字幕佐山爱一区二区免费| 婷婷六月色| 国内精品一区二区在线观看| 青青热久麻豆精品视频在线观看| 精品福利视频网| 亚洲无码一区在线观看| 欧洲亚洲一区| 在线观看的黄网| 99视频在线精品免费观看6| 午夜小视频在线| 人妻中文久热无码丝袜| 精品91视频| 欧美高清国产| 国外欧美一区另类中文字幕| 国产成人综合在线视频| 91青青草视频| 国产一区二区三区在线观看免费| 久久久久人妻精品一区三寸蜜桃| 91成人在线免费视频| 欧美成人看片一区二区三区| 久久99精品久久久久纯品| 免费xxxxx在线观看网站| 亚洲大学生视频在线播放| 免费国产小视频在线观看| 亚洲成a人片| a色毛片免费视频| 午夜精品久久久久久久2023| 国产一区二区三区精品欧美日韩| 国产精品久久久久久搜索| 国产呦精品一区二区三区下载| 成人一级黄色毛片| 欧美19综合中文字幕| 国产成人精品一区二区不卡 | 国产精品久久久久久影院| 亚洲日韩高清在线亚洲专区| 99人体免费视频| 亚洲资源在线视频| 久久五月视频| 91精品国产综合久久香蕉922| 亚洲一级无毛片无码在线免费视频| 色婷婷综合激情视频免费看| 大学生久久香蕉国产线观看| 久久 午夜福利 张柏芝|