前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的神經(jīng)網(wǎng)絡(luò)本質(zhì)主題范文,僅供參考,歡迎閱讀并收藏。
Abstract: The technology of affecting the output accuracy of artificial neural network model has affected widespread ettention,and influence researches of sample quality to neural network output accuracy are very few,and the majority of these researcher about neural network structure. This paper analyses the influence of the sample to the output of artificial neural network,having important significance to improve accuracy of neural network output.
關(guān)鍵詞: 人工神經(jīng)網(wǎng)絡(luò);局部影響;BP神經(jīng)網(wǎng)絡(luò);算法
Key words: artificial neural networks;local influence;BP neural network;algorithm
中圖分類號:TP393.092 文獻(xiàn)標(biāo)識碼:A文章編號:1006-4311(2010)07-0144-02
0引言
神經(jīng)網(wǎng)絡(luò)應(yīng)用到預(yù)測有許多問題需要解決, 其中最為突出的問題就是沒有一個確定的最合適的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的標(biāo)準(zhǔn)方法,由于影響神經(jīng)網(wǎng)絡(luò)預(yù)測能力的參數(shù)很多,本文針對最為常用的BP神經(jīng)網(wǎng)絡(luò),對影響神經(jīng)網(wǎng)絡(luò)預(yù)測精度的樣本質(zhì)量進行了詳細(xì)分析和研究, 并在此基礎(chǔ)上,給出優(yōu)化樣本后的具體例子。
1樣本質(zhì)量對網(wǎng)絡(luò)的影響
用于神經(jīng)網(wǎng)絡(luò)的樣本分為訓(xùn)練樣本和測試樣本,訓(xùn)練樣本的質(zhì)量在一定程度上決定著預(yù)測精度。首先,訓(xùn)練樣本和待預(yù)測樣本的均值存在較大差異, 預(yù)測誤差會隨著長時間的訓(xùn)練而增大。其次,訓(xùn)練誤差會隨著訓(xùn)練樣本和待預(yù)測樣本均值間差異的增大而增大。再次,訓(xùn)練誤差會隨著訓(xùn)練樣本和待預(yù)測樣本方差間差異的增大而增大[1]。下面是文獻(xiàn)[1]對樣本質(zhì)量分析的方法。
文獻(xiàn)[1]的人工神經(jīng)網(wǎng)絡(luò)預(yù)測誤差為e=em+et+er,其中,e為預(yù)測誤差;em為模型誤差,它由所建回歸模型與實際系統(tǒng)的差異引起的;et為最終的訓(xùn)練誤差;er為人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練和預(yù)測過程中引入的隨機誤差。et和er的存在是不可避免的,而em為:em=ef+ed,式中ef為實際輸出值與預(yù)測輸出值之間的誤差,它反映了樣本質(zhì)量;為由不正確的嵌入維數(shù)引起的誤差, 它可通過選擇合適的輸入神經(jīng)元數(shù)來消除。
為了評價訓(xùn)練樣本質(zhì)量,根據(jù)ef提出“一致度”的指標(biāo)。文獻(xiàn)[1]定義了偽距離DCTP-D,但計算偽距離是相當(dāng)復(fù)雜的,難于實現(xiàn)對樣本質(zhì)量的分析和應(yīng)用。下面用協(xié)方差比統(tǒng)計量分析訓(xùn)練樣本對預(yù)測精度的影響。
設(shè)訓(xùn)練樣本為θ,是神經(jīng)網(wǎng)絡(luò)的輸出,i是從θ中剔除第i個數(shù)據(jù)點的神經(jīng)網(wǎng)絡(luò)輸出。則剔除第i個數(shù)據(jù)點的協(xié)方差比統(tǒng)計量CR=cv()cv()表明了剔除第個數(shù)據(jù)點對神經(jīng)網(wǎng)絡(luò)輸出精度的影響,從精度方面刻畫了第i個數(shù)據(jù)點的重要程度。CRi-1的值越大,對預(yù)測精度(神經(jīng)網(wǎng)絡(luò)輸出)的影響越大。在使用PB神經(jīng)網(wǎng)絡(luò)預(yù)測時先對訓(xùn)練樣本進行篩選,剔除對網(wǎng)絡(luò)輸出結(jié)果影響小的樣本點。
樣本精簡:矩陣初等行變換能保持矩陣列向量之間的線性關(guān)系,利用這個結(jié)論我們可以用來進行樣本數(shù)據(jù)的精簡,這樣精簡后的樣本數(shù)據(jù)能夠保持各屬性字段之間的線性關(guān)系。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練實際上是一個通過給定樣本實時調(diào)整網(wǎng)絡(luò)連接權(quán)重的過程,樣本預(yù)處理的結(jié)果對于網(wǎng)絡(luò)訓(xùn)練的收斂性起到關(guān)鍵的作用。
2實例分析
本文采用麻省理工大學(xué)林肯實驗室的測試數(shù)據(jù)KDDCUP99,它是專門用來進行入侵檢測評估的。我們采用數(shù)據(jù)集上的一個子集10%作為實驗數(shù)據(jù)源,它一共包含有494021條網(wǎng)絡(luò)連接,其中正常連接97277 條,異常連接396744條。
下面我們針對DOS攻擊類型數(shù)據(jù)(DOS攻擊類型編碼為“0 0 0 1”)進行分析。
設(shè)A為樣本數(shù)據(jù)矩陣,其中每一行向量表示一條樣本數(shù)據(jù),則該行向量含34個數(shù)據(jù),假設(shè)有a條樣本,則A為a行34列矩陣;由于每條樣本數(shù)據(jù)輸入網(wǎng)絡(luò)后都會有一條對應(yīng)的輸出,加上本實例為DOS攻擊類型以編碼“0 0 0 1”表示,則期望輸出矩陣B為a行4列矩陣(暫時先不考慮閾值,只考慮權(quán)重問題)。本文BP神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點數(shù)為34個,隱含層節(jié)點數(shù)為15個,輸出層節(jié)點數(shù)為4個雖然神經(jīng)網(wǎng)絡(luò)的連接權(quán)重可以用一個實數(shù)串進行表示,但在進行網(wǎng)絡(luò)的訓(xùn)練時,還需要將實數(shù)串分為兩部分,設(shè)輸入層到隱含層的連接權(quán)重矩陣為W1,則W1為34行15列矩陣;同理,隱含層到輸出層的連接權(quán)重矩陣W2為15行4列矩陣。于是我們可以得到公式(1)。
AWW=B(1)
如式(2)所示,A和B是系數(shù)矩陣 ,C是增廣矩陣。經(jīng)過帶約束初等行變換后如式(3)所示。
C=[AB](2)
C=[AB]A′B′C D(3)
式(3)中,C、D為零矩陣,經(jīng)過處理以后,由原先的A對應(yīng)輸出B變成了現(xiàn)在的A′對應(yīng)輸出B′,通過這樣的處理,我們就可以將大樣本變?yōu)樾颖?從而使計算更加快速,樣本數(shù)據(jù)更加精簡。 為了能使樣本應(yīng)用于本文提出的分類檢測器同步檢測模型,我們將樣本數(shù)據(jù)先進行歸類合并,分別構(gòu)造出DOS、PROBE、U2R、R2L四大類攻擊樣本數(shù)據(jù)集,這樣四個檢測器分別檢測四大類攻擊。為了降低可疑攻擊數(shù),即四大攻擊類型數(shù)據(jù)集之間的重疊記錄數(shù)要少。精度過大會增加計算量,從而會降低學(xué)習(xí)速度;精度過小,會使記錄重疊數(shù)增加,從而造成可疑攻擊數(shù)增加,影響訓(xùn)練結(jié)果。
對訓(xùn)練樣本用上述方法進行優(yōu)化后,利用矩陣初等行變換能保持矩陣列向量之間的線性關(guān)系這個結(jié)論,我們可以進一步對樣本數(shù)據(jù)的精簡,這樣精簡后的樣本數(shù)據(jù)能夠保持各屬性字段之間的線性關(guān)系。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練實際上是一個通過給定樣本實時調(diào)整網(wǎng)絡(luò)連接權(quán)重的過程,樣本預(yù)處理的結(jié)果對于網(wǎng)絡(luò)訓(xùn)練的收斂性起到關(guān)鍵的作用。
3結(jié)論
(1)分析神經(jīng)網(wǎng)絡(luò)進行非線性預(yù)測多變量預(yù)測的優(yōu)越性以及神經(jīng)網(wǎng)絡(luò)用于預(yù)測的缺點所在。
(2)提出了影響網(wǎng)絡(luò)預(yù)測能力的五個重要參數(shù):樣本質(zhì)量、樣本歸一化、輸人層節(jié)點數(shù)、隱層節(jié)點數(shù)及網(wǎng)絡(luò)訓(xùn)練允許誤差目標(biāo)值。
(3)在一定允許訓(xùn)練誤差的情況下,研究了無個參數(shù)對網(wǎng)絡(luò)預(yù)測精度的影響,發(fā)現(xiàn)存在一個最優(yōu)的樣本、輸入層節(jié)點數(shù)和隱層節(jié)點數(shù),這樣的網(wǎng)絡(luò)具有較強的預(yù)測能力。
(4)本文用遺傳算法構(gòu)造了同時優(yōu)化影響神經(jīng)網(wǎng)絡(luò)預(yù)測精度的參數(shù)(輸入層節(jié)點數(shù)、隱層節(jié)點數(shù)及樣本允許訓(xùn)練誤差)的算法, 得到了較優(yōu)的網(wǎng)絡(luò)預(yù)測模型最后, 用算例驗證了本文分析結(jié)果的正確性。
參考文獻(xiàn):
[1]陳果.神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度影響因素分析[J].北京: 模式識別與人工智能,2005,18(5):528-533.
[2]蔣林,陳濤,屈梁生.訓(xùn)練樣本質(zhì)量對人工神經(jīng)網(wǎng)絡(luò)性能的影響[J].北京:中國機械工程,1979,8(2):50-53.
[3]李敏強,徐博藝,寇紀(jì)淞.遺傳算法與神經(jīng)網(wǎng)絡(luò)的結(jié)合[J].北京:系統(tǒng)工程理論與實踐,1999(2).
[4]吳懷宇,宋玉階.非線性回歸分析中的神經(jīng)網(wǎng)絡(luò)方法[J].武漢:武漢冶金科技大學(xué)學(xué)報,1998,21(1):90-93.
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);模糊邏輯;模式識別;具體應(yīng)用
現(xiàn)階段人工智能領(lǐng)域正在開展關(guān)于多種智能識別方法的融合應(yīng)用來改善識別效果,基于模糊邏輯與神經(jīng)網(wǎng)絡(luò)而成的模糊神經(jīng)網(wǎng)絡(luò)對于真正智能模擬的實現(xiàn)有著極為重要的作用。
1.模式識別概述
模式在本質(zhì)上是一個內(nèi)涵十分豐富的概念,其主要是指人類可以利用感官直接或間接接受的外界信息,Watanabe等人在研究中將模式定義為:凡是可以給出一個名字的便可以稱為“模式”,并且其在定義過程中將某些具有共同特性的模式集合統(tǒng)稱為“模式類”。“模式識別”在本質(zhì)上是識別特定事物或模式相同點與相似點的過程,所以在研究過程中主要是利用自動技術(shù)來實現(xiàn)這一過程,在該類技術(shù)的支撐下計算機可以自動地將待識別模式分配到各自的模式類中,在這個過程中用到的技術(shù)統(tǒng)稱為模式識別技術(shù),尤其是在計算機技術(shù)的支撐下使其發(fā)展形成一種模擬人的識別方法,所以對于模式識別的概念應(yīng)該定義為自動判別和分類的過程。模式識別的過程為研究對象、數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、測量空間、特征選擇與提出、特征空間比對、模式分類、儲存至類型空間等,對于整個模式識別過程來說數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、特征提取以及特征選擇是其重點。在模式識別中,數(shù)據(jù)預(yù)處理后所獲取的原始數(shù)據(jù)所在空間則被稱為測量空間,將模式進行分類的空間則稱為特征空間。模式識別系統(tǒng)在設(shè)計過程中主要由學(xué)習(xí)模塊與測試模塊兩個核心模塊組成,并且整個系統(tǒng)在運行過程中具備訓(xùn)練模式樣本特征數(shù)據(jù)輸入、制定分類判決規(guī)則、錯誤率檢測、模式樣本特征選擇和正特提取方法調(diào)整等多項功能。
2.模式識別系統(tǒng)分析
模式識別系統(tǒng)在運行中的學(xué)習(xí)模塊與測試模塊中都設(shè)計了數(shù)據(jù)預(yù)處理的功能,其可以根據(jù)用戶需求將感興趣的模式從背景中進行分離處理,并且可以避免噪聲信號對整個系統(tǒng)的運行產(chǎn)生影響,還可以根據(jù)用戶的實際需求來建立標(biāo)準(zhǔn)化模式樣本等。學(xué)習(xí)模塊在運行中會將已知的樣本模式進行數(shù)值化處理后輸入計算機,這個過程被稱為訓(xùn)練模式樣本特征數(shù)據(jù)的輸入,系統(tǒng)可以對輸入的樣本進行分析并排除無效或容易出現(xiàn)混淆的特征,對于一些對分類判別有效的數(shù)據(jù)特征則可以進行界定并保留,這個過程被稱為模式識別系統(tǒng)在運行階段的特征選擇。
模式識別系統(tǒng)在運行過程中還需要將一些變換技術(shù)作為支撐,這是因為通過變換技術(shù)的應(yīng)用可以得出比原來數(shù)目少的綜合性特征作為分類用,這一過程被稱為特征維數(shù)壓縮或特征提取,系統(tǒng)會按照設(shè)想的分類判決數(shù)學(xué)模型對樣本模式進行訓(xùn)練來得出分類的判決規(guī)則。模式識別系統(tǒng)在獲取判決規(guī)則后便可以開始整個識別過程,其需要將未知模式特征數(shù)據(jù)進行采集、選擇與提取,然后根據(jù)已有的判決規(guī)則對輸入的模式進行分類,最后便可以根據(jù)用戶需求來輸入整個模式識別的結(jié)果。系統(tǒng)還可以將已識別的分類結(jié)果與已知分類輸入模式進行對比,以便于對判決規(guī)則與特征選擇、提取方法進行不斷的優(yōu)化,系統(tǒng)只有在該種模式下才能制定出錯誤率最小的判決規(guī)則與特征選擇、提取策略,對于模式識別系統(tǒng)來說,這一過程被稱為再學(xué)習(xí)的過程。
3.神經(jīng)網(wǎng)絡(luò)在模式識別中的具體應(yīng)用
國內(nèi)在較早階段便開始了神經(jīng)網(wǎng)絡(luò)在模式識別中應(yīng)用的相關(guān)研究,但是學(xué)者所提出的研究成果并沒有得到廣泛應(yīng)用。在20世紀(jì)80年代末期,我國一些專家對模式識別在地震特征提取等方面的應(yīng)用進行了優(yōu)化與改進,并結(jié)合不同地區(qū)不同地質(zhì)條件開展了一系列試驗研究,先后取得了很多效果十分顯著的成果,并且在這個基礎(chǔ)上為整個系統(tǒng)增加了人機交互功能,改進后的模式識別系統(tǒng)開始在國內(nèi)相關(guān)領(lǐng)域中得到了廣泛應(yīng)用。我國部分領(lǐng)域所使用的模式識別系統(tǒng)在最初以統(tǒng)計識別策略為主,在最近幾年才將神經(jīng)網(wǎng)絡(luò)識別策略應(yīng)用于模式識別系統(tǒng)中。20世紀(jì)80年代后期,世界上關(guān)于人工神經(jīng)網(wǎng)絡(luò)的研究開始進入一個熱潮,這是因為在該階段由Rumelhart等人在研究中提出了反向傳播學(xué)習(xí)算法,對于神經(jīng)網(wǎng)絡(luò)來說其可以有效解決前饋反向神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的問題,所以對于整個神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域來說開辟了一條新的途徑。前饋反向神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)問題的有效解決使神經(jīng)網(wǎng)絡(luò)的各項優(yōu)勢充分彰顯出來,而前饋反向神經(jīng)網(wǎng)絡(luò)模式識別則成為模式識別中的一個核心發(fā)展方向,并且開始被廣泛應(yīng)用于生物、醫(yī)學(xué)、地質(zhì)以及化工等產(chǎn)品檢測領(lǐng)域中,本文認(rèn)為關(guān)于神經(jīng)網(wǎng)絡(luò)在模式識別中的應(yīng)用將會給社會帶來巨大變革,同時也意味著基于神經(jīng)網(wǎng)絡(luò)的模式識別技術(shù)將成為網(wǎng)絡(luò)數(shù)字化時代的一項核心技術(shù)。
4.結(jié)語
現(xiàn)階段前饋反向神經(jīng)網(wǎng)絡(luò)模式識別已經(jīng)開始在社會各領(lǐng)域進行實踐應(yīng)用,雖然在該技術(shù)體系中還存在一些不足與缺陷,但是在現(xiàn)代科技的支持下其勢必會迎來一個新的發(fā)展時期,對于我國社會各生產(chǎn)領(lǐng)域來說有著極為重要的推動作用。
參考文獻(xiàn):
[1]汪烈軍.一種改進的結(jié)構(gòu)自適應(yīng)自組織神經(jīng)網(wǎng)絡(luò)算法[J].微電子學(xué)與計算機,2007(01).
[2]趙菊敏,程海青,張立毅.基于動量項前饋神經(jīng)網(wǎng)絡(luò)盲均衡算法[J].太原理工大學(xué)學(xué)報,2007(03).
本文主要介紹的模型和算法都是數(shù)據(jù)挖掘中最常見的和應(yīng)用最廣泛的,在計算機科學(xué)、統(tǒng)計數(shù)學(xué)、和人工智能領(lǐng)域的科學(xué)家們已經(jīng)在研究和改進這些算法方面作了大量的工作。
【關(guān)鍵詞】
數(shù)據(jù)挖掘;算法;神經(jīng)網(wǎng)絡(luò)
1 神經(jīng)網(wǎng)絡(luò)的應(yīng)用
神經(jīng)網(wǎng)絡(luò)近來越來越受到人們的關(guān)注,因為它為解決大復(fù)雜度問題提供了一種相對來說比較有效的簡單方法。神經(jīng)網(wǎng)絡(luò)可以很容易的解決具有上百個參數(shù)的問題。神經(jīng)網(wǎng)絡(luò)常用于兩類問題;分類和回歸。
在結(jié)構(gòu)上,可以把一個神經(jīng)網(wǎng)絡(luò)劃分為輸入層、輸出層和隱含層(見圖1)。輸入層的每個節(jié)點對應(yīng)一個個的預(yù)測變量。輸出層的節(jié)點對應(yīng)目標(biāo)變量,可有多個。在輸入層和輸出層之間是隱含層,隱含層的層數(shù)和每層節(jié)點的個數(shù)決定了神經(jīng)網(wǎng)絡(luò)的復(fù)雜度。
圖1 一個神經(jīng)元網(wǎng)絡(luò)
除了輸入層的節(jié)點,神經(jīng)網(wǎng)絡(luò)的每個節(jié)點都與很多它前面的節(jié)點(稱為此節(jié)點的輸入節(jié)點)連接在一起,每個連接對應(yīng)一個權(quán)重Wxy,此節(jié)點的值就是通過它所有輸入節(jié)點的值與對應(yīng)連接權(quán)重乘積的和作為一個函數(shù)的輸入而得到,我們把這個函數(shù)稱為活動函數(shù)或擠壓函數(shù)。如圖2中節(jié)點4輸出到節(jié)點6的值可通過如下計算得到:
W14*節(jié)點1的值+W24*節(jié)點2的值
神經(jīng)網(wǎng)絡(luò)的每個節(jié)點都可表示成預(yù)測變量(節(jié)點1,2)的值或值的組合(節(jié)點3-6)。注意節(jié)點6的值已經(jīng)不再是節(jié)點1,2的線性組合,因為數(shù)據(jù)在隱含層中傳遞時使用了活動函數(shù)。實際上如果沒有活動函數(shù)的話,神經(jīng)元網(wǎng)絡(luò)就等價于一個線性回歸函數(shù),如果此活動函數(shù)是某種特定的非線性函數(shù),那神經(jīng)網(wǎng)絡(luò)又等價于邏輯回歸。
調(diào)整節(jié)點間連接的權(quán)重就是在建立(也稱訓(xùn)練)神經(jīng)網(wǎng)絡(luò)時要做的工作。最早的也是最基本的權(quán)重調(diào)整方法是錯誤回饋法,現(xiàn)在較新的有變化坡度法、類牛頓法、Levenberg-Marquardt法、和遺傳算法等。
圖2 帶權(quán)重Wxy的神經(jīng)元網(wǎng)絡(luò)
決定神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(或體系結(jié)構(gòu))的是隱含層及其所含節(jié)點的個數(shù),以及節(jié)點之間的連接方式。要從頭開始設(shè)計一個神經(jīng)網(wǎng)絡(luò),必須要決定隱含層和節(jié)點的數(shù)目,活動函數(shù)的形式,以及對權(quán)重做那些限制等。
2 傳播式神經(jīng)網(wǎng)絡(luò)
在諸多類型的神經(jīng)網(wǎng)絡(luò)中,最常用的是前向傳播式神經(jīng)網(wǎng)絡(luò),也就是我們前面圖示中所描繪的那種。我們下面詳細(xì)討論一下,為討論方便假定只含有一層隱含節(jié)點。
可以認(rèn)為錯誤回饋式訓(xùn)練法是變化坡度法的簡化,其過程如下:
前向傳播:數(shù)據(jù)從輸入到輸出的過程是一個從前向后的傳播過程,后一節(jié)點的值通過它前面相連的節(jié)點傳過來,然后把值按照各個連接權(quán)重的大小加權(quán)輸入活動函數(shù)再得到新的值,進一步傳播到下一個節(jié)點。
回饋:當(dāng)節(jié)點的輸出值與我們預(yù)期的值不同,也就是發(fā)生錯誤時,神經(jīng)網(wǎng)絡(luò)就要“學(xué)習(xí)”(從錯誤中學(xué)習(xí))。我們可以把節(jié)點間連接的權(quán)重看成后一節(jié)點對前一節(jié)點的“信任”程度。學(xué)習(xí)的方法是采用懲罰的方法,過程如下:如果一節(jié)點輸出發(fā)生錯誤,那么他看他的錯
誤是受哪個(些)輸入節(jié)點的影響而造成的,是不是他最信任的節(jié)點(權(quán)重最高的節(jié)點)陷害了他(使他出錯),如果是則要降低對他的信任值(降低權(quán)重),懲罰他們,同時升高那些做出正確建議節(jié)點的信任值。對那些收到懲罰的節(jié)點來說,他也需要用同樣的方法來進一步懲罰它前面的節(jié)點。就這樣把懲罰一步步向前傳播直到輸入節(jié)點為止。
對訓(xùn)練集中的每一條記錄都要重復(fù)這個步驟,用前向傳播得到輸出值,如果發(fā)生錯誤,則用回饋法進行學(xué)習(xí)。當(dāng)把訓(xùn)練集中的每一條記錄都運行過一遍之后,我們稱完成一個訓(xùn)練周期。要完成神經(jīng)網(wǎng)絡(luò)的訓(xùn)練可能需要很多個訓(xùn)練周期,經(jīng)常是幾百個。訓(xùn)練完成之后得到的神經(jīng)網(wǎng)絡(luò)就是在通過訓(xùn)練集發(fā)現(xiàn)的模型,描述了訓(xùn)練集中響應(yīng)變量受預(yù)測變量影響的變化規(guī)律。
由于神經(jīng)網(wǎng)絡(luò)隱含層中的可變參數(shù)太多,如果訓(xùn)練時間足夠長的話,神經(jīng)網(wǎng)絡(luò)很可能把訓(xùn)練集的所有細(xì)節(jié)信息都“記”下來,而不是建立一個忽略細(xì)節(jié)只具有規(guī)律性的模型,我們稱這種情況為訓(xùn)練過度。顯然這種“模型”對訓(xùn)練集會有很高的準(zhǔn)確率,而一旦離開訓(xùn)練集應(yīng)用到其他數(shù)據(jù),很可能準(zhǔn)確度急劇下降。為了防止這種訓(xùn)練過度的情況,我們必須知道在什么時候要停止訓(xùn)練。
圖3中的曲線可以幫我們理解為什么利用測試集能防止訓(xùn)練過度的出現(xiàn)。在圖中可以看到訓(xùn)練集和測試集的錯誤率在一開始都隨著訓(xùn)練周期的增加不斷降低,而測試集的錯誤率在達(dá)到一個谷底后反而上升,我們認(rèn)為這個開始上升的時刻就是應(yīng)該停止訓(xùn)練的時刻。
圖3 神經(jīng)網(wǎng)絡(luò)在訓(xùn)練周期
增加時準(zhǔn)確度的變化情況
3 神經(jīng)網(wǎng)絡(luò)的優(yōu)點
神經(jīng)元網(wǎng)絡(luò)和統(tǒng)計方法在本質(zhì)上有很多區(qū)別。神經(jīng)網(wǎng)絡(luò)的參數(shù)可以比統(tǒng)計方法多很多。如圖1中就有13個參數(shù)(9個權(quán)重和4個限制條件)。由于參數(shù)如此之多,參數(shù)通過各種各樣的組合方式來影響輸出結(jié)果,以至于很難對一個神經(jīng)網(wǎng)絡(luò)表示的模型做出直觀的解釋。實際上神經(jīng)網(wǎng)絡(luò)也正是當(dāng)做“黑盒”來用的,不用去管“黑盒”里面是什么,只管用就行了。在大部分情況下,這種限制條件是可以接受的。比如銀行可能需要一個筆記識別軟件,但他沒必要知道為什么這些線條組合在一起就是一個人的簽名,而另外一個相似的則不是。在很多復(fù)雜度很高的問題如化學(xué)試驗、機器人、金融市場的模擬、和語言圖像的識別等領(lǐng)域神經(jīng)網(wǎng)絡(luò)都取得了很好的效果。
4 在使用神經(jīng)網(wǎng)絡(luò)時有幾點需要注意
第一,神經(jīng)網(wǎng)絡(luò)很難解釋,目前還沒有能對神經(jīng)網(wǎng)絡(luò)做出顯而易見的解釋的方法學(xué)。
第二,神經(jīng)網(wǎng)絡(luò)會學(xué)習(xí)過度,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時一定要恰當(dāng)?shù)氖褂靡恍┠車?yán)格衡量神經(jīng)網(wǎng)絡(luò)的方法,如前面提到的測試集方法和交叉驗證法等。這主要是由于神經(jīng)網(wǎng)絡(luò)太靈活、可變參數(shù)太多,如果給足夠的時間,他幾乎可以記住任何事情。
第三,除非問題非常簡單,訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)可能需要相當(dāng)可觀的時間才能完成。當(dāng)然,一旦神經(jīng)網(wǎng)絡(luò)建立好了,在用它做預(yù)測時運行還是很快的。
第四,建立神經(jīng)網(wǎng)絡(luò)需要做的數(shù)據(jù)準(zhǔn)備工作量很大。一個很有誤導(dǎo)性的就是不管用什么數(shù)據(jù)神經(jīng)網(wǎng)絡(luò)都能很好的工作并做出準(zhǔn)確的預(yù)測。這是不確切的,要想得到準(zhǔn)確度高的模型必須認(rèn)真的進行數(shù)據(jù)清洗、整理、轉(zhuǎn)換、選擇等工作,對任何數(shù)據(jù)挖掘技術(shù)都是這樣,神經(jīng)網(wǎng)絡(luò)尤其注重這一點。
【參考文獻(xiàn)】
熊熊,汪德馨,宋軼民.利用模糊神經(jīng)網(wǎng)絡(luò)進行模糊數(shù)據(jù)挖掘的一種算法[J].系統(tǒng)工程學(xué)報,2000,3(1):32-37.
人工神經(jīng)網(wǎng)絡(luò)(AartificialNeuralNetwork,下簡稱ANN)是模擬生物神經(jīng)元的結(jié)構(gòu)而提出的一種信息處理方法。早在1943年,已由心理學(xué)家WarrenS.Mcculloch和數(shù)學(xué)家WalthH.Pitts提出神經(jīng)元數(shù)學(xué)模型,后被冷落了一段時間,80年代又迅猛興起[1]。ANN之所以受到人們的普遍關(guān)注,是由于它具有本質(zhì)的非線形特征、并行處理能力、強魯棒性以及自組織自學(xué)習(xí)的能力。其中研究得最為成熟的是誤差的反傳模型算法(BP算法,BackPropagation),它的網(wǎng)絡(luò)結(jié)構(gòu)及算法直觀、簡單,在工業(yè)領(lǐng)域中應(yīng)用較多。
經(jīng)訓(xùn)練的ANN適用于利用分析振動數(shù)據(jù)對機器進行監(jiān)控和故障檢測,預(yù)測某些部件的疲勞壽命[2]。非線形神經(jīng)網(wǎng)絡(luò)補償和魯棒控制綜合方法的應(yīng)用(其魯棒控制利用了變結(jié)構(gòu)控制或滑動??刂疲趯崟r工業(yè)控制執(zhí)行程序中較為有效[3]。人工神經(jīng)網(wǎng)絡(luò)(ANN)和模糊邏輯(FuzzyLogic)的綜合,實現(xiàn)了電動機故障檢測的啟發(fā)式推理。對非線形問題,可通過ANN的BP算法學(xué)習(xí)正常運行例子調(diào)整內(nèi)部權(quán)值來準(zhǔn)確求解[4]。
因此,對于電力系統(tǒng)這個存在著大量非線性的復(fù)雜大系統(tǒng)來講,ANN理論在電力系統(tǒng)中的應(yīng)用具有很大的潛力,目前已涉及到如暫態(tài),動穩(wěn)分析,負(fù)荷預(yù)報,機組最優(yōu)組合,警報處理與故障診斷,配電網(wǎng)線損計算,發(fā)電規(guī)劃,經(jīng)濟運行及電力系統(tǒng)控制等方面[5]。
本文介紹了一種基于人工神經(jīng)網(wǎng)絡(luò)(ANN)理論的保護原理。
1、人工神經(jīng)網(wǎng)絡(luò)理論概述
BP算法是一種監(jiān)控學(xué)習(xí)技巧,它通過比較輸出單元的真實輸出和希望值之間的差別,調(diào)整網(wǎng)絡(luò)路徑的權(quán)值,以使下一次在相同的輸入下,網(wǎng)絡(luò)的輸出接近于希望值。
在神經(jīng)網(wǎng)絡(luò)投運前,就應(yīng)用大量的數(shù)據(jù),包括正常運行的、不正常運行的,作為其訓(xùn)練內(nèi)容,以一定的輸入和期望的輸出通過BP算法去不斷修改網(wǎng)絡(luò)的權(quán)值。在投運后,還可根據(jù)現(xiàn)場的特定情況進行現(xiàn)場學(xué)習(xí),以擴充ANN內(nèi)存知識量。從算法原理看,并行處理能力和非線是BP算法的一大優(yōu)點。
2、神經(jīng)網(wǎng)絡(luò)型繼電保護
神經(jīng)網(wǎng)絡(luò)理論的保護裝置,可判別更復(fù)雜的模式,其因果關(guān)系是更復(fù)雜的、非線性的、模糊的、動態(tài)的和非平穩(wěn)隨機的。它是神經(jīng)網(wǎng)絡(luò)(ANN)與專家系統(tǒng)(ES)融為一體的神經(jīng)網(wǎng)絡(luò)專家系統(tǒng),其中,ANN是數(shù)值的、聯(lián)想的、自組織的、仿生的方式,ES是認(rèn)知的和啟發(fā)式的。
文獻(xiàn)[1]認(rèn)為全波數(shù)據(jù)窗建立的神經(jīng)網(wǎng)絡(luò)在準(zhǔn)確性方面優(yōu)于利用半波數(shù)據(jù)窗建立的神經(jīng)網(wǎng)絡(luò),因此保護應(yīng)選用全波數(shù)據(jù)窗。
ANN保護裝置出廠后,還可以在投運單位如網(wǎng)調(diào)、省調(diào)實驗室內(nèi)進行學(xué)習(xí),學(xué)習(xí)內(nèi)容針對該省的保護的特別要求進行(如反措)。到現(xiàn)場,還可根據(jù)該站的干擾情況進行反誤動、反拒動學(xué)習(xí),特別是一些常出現(xiàn)波形間斷的變電站內(nèi)的高頻保護。
3、結(jié)論
本文基于現(xiàn)代控制技術(shù)提出了人工神經(jīng)網(wǎng)絡(luò)理論的保護構(gòu)想。神經(jīng)網(wǎng)絡(luò)軟件的反應(yīng)速度比純數(shù)字計算軟件快幾十倍以上,這樣,在相同的動作時間下,可以大大提高保護運算次數(shù),以實現(xiàn)在時間上即次數(shù)上提高冗余度。超級秘書網(wǎng)
一套完整的ANN保護是需要有很多輸入量的,如果對某套保護來說,區(qū)內(nèi)、區(qū)外故障時其輸入信號幾乎相同,則很難以此作為訓(xùn)練樣本訓(xùn)練保護,而每套保護都增多輸入量,必然會使保護、二次接線復(fù)雜化。變電站綜合自動化也許是解決該問題的一個較好方法,各套保護通過總線聯(lián)網(wǎng),交換信息,充分利用ANN的并行處理功能,每套保護均對其它線路信息進行加工,以此綜合得出動作判據(jù)。每套保護可把每次錄得的數(shù)據(jù)文件,加上對其動作正確性與否的判斷,作為本身的訓(xùn)練內(nèi)容,因為即使有時人工分析也不能區(qū)分哪些數(shù)據(jù)特征能使保護不正確動作,特別是高頻模擬量。
神經(jīng)網(wǎng)絡(luò)的硬件芯片現(xiàn)在仍很昂貴,但技術(shù)成熟時,應(yīng)利用硬件實現(xiàn)現(xiàn)在的軟件功能。另外,神經(jīng)網(wǎng)絡(luò)的并行處理和信息分布存儲機制還不十分清楚,如何選擇的網(wǎng)絡(luò)結(jié)構(gòu)還沒有充分的理論依據(jù)。所有這些都有待于對神經(jīng)網(wǎng)絡(luò)基本理論進行深入的研究,以形成完善的理論體系,創(chuàng)造出更適合于實際應(yīng)用的新型網(wǎng)絡(luò)及學(xué)習(xí)算法[5]。
參考文獻(xiàn)
1、陳炳華。采用模式識別(智能型)的保護裝置的設(shè)想。中國電機工程學(xué)會第五屆全國繼電保護學(xué)術(shù)會議,[會址不詳],1993
2、RobertE.Uhrig.ApplicationofArtificialNeuralNetworksinIndustrialTechnology.IEEETrans,1994,10(3)。(1):371~377
3、LeeTH,WangQC,TanWK.AFrameworkforRobustNeuralNetwork-BasedControlofNonlinearServomechannisms.IEEETrans,1993,3(2)。(3):190~197
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);電路分析;故障診斷;故障類別。
1引言
隨著設(shè)計理念和制造工藝地不斷發(fā)展,電子產(chǎn)品已經(jīng)向小型化、智能化方向發(fā)展,這也給故障診斷帶來更加嚴(yán)峻地挑戰(zhàn),由于傳統(tǒng)的故障診斷方法已經(jīng)不能滿足發(fā)展的需求了[1],因此急需研究開發(fā)出行之有效的新方法。神經(jīng)網(wǎng)絡(luò)[2]是在對人腦網(wǎng)絡(luò)認(rèn)識理解的基礎(chǔ)上構(gòu)造的,是模仿人腦網(wǎng)絡(luò)結(jié)構(gòu)和功能而建立的一種信息處理系統(tǒng),是理論化的人腦網(wǎng)絡(luò)的數(shù)學(xué)模型。電路故障診斷[3]是一個非常復(fù)雜的模式識別問題,神經(jīng)網(wǎng)絡(luò)由于其本身信息處理的特點,如并行性、自學(xué)習(xí)、自組織性、對外界輸入樣本有很強的識別分類能力以及聯(lián)想記憶功能等,使其能夠出色解決那些傳統(tǒng)模式識別方法難以圓滿解決的問題。
2故障的類型
對電子產(chǎn)品進行故障診斷,最基本的就是對電路的診斷,因此,首先要確定的就是電路的故障類型[4]。從對電路的影響程度來劃分,故障可以分為硬故障和軟故障;從故障的隨機性來劃分,可以分為永久型故障和間歇型故障。永久型故障即固定故障,不隨時間的變化而變化,一直固定在某種狀態(tài)不變間歇型故障即隨機出現(xiàn)的故障,電路有時正常,有時則出現(xiàn)了故障。硬故障即結(jié)構(gòu)故障,是電路中元件的參數(shù)發(fā)生了極端變化的情況,包括橋接故障(BF,bridgefault)、開路故障(OF,openfault)、時滯故障等。軟故障即偏差故障,指電路元件的參數(shù)與正常情況相比,偏出了約定的容差范圍,但此時器件并非完全失效。
3神經(jīng)網(wǎng)絡(luò)的電路故障診斷
神經(jīng)網(wǎng)絡(luò)之所以在電路故障診斷中得到了廣泛應(yīng)用,主要是因為它具有如下諸多優(yōu)勢[5]。(1)學(xué)習(xí)能力。學(xué)習(xí)能力是神經(jīng)網(wǎng)絡(luò)在故障診斷中的重要表現(xiàn)。通過對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練可讀出故障的主要特征,表現(xiàn)出強大的適應(yīng)能力。(2)聯(lián)想記憶能力。因為神經(jīng)網(wǎng)絡(luò)具有并行計算和分布存儲信息的功能,所以它對輸入的特征信息具有聯(lián)想記憶的能力。這一能力使得它在模式識別、故障分類中起到了巨大的作用。(3)分類識別能力。因為神經(jīng)網(wǎng)絡(luò)能夠很好地對非線性曲面進行逼近,所以它的分類識別能力要優(yōu)越于傳統(tǒng)的分類器。對于樣本的分類實質(zhì)上就是找到合適的分割區(qū)域,每個區(qū)域的樣本屬于一類。(4)非線性映射能力。由于神經(jīng)網(wǎng)絡(luò)可以尋求輸入到輸出之間的非線性模型,即可實現(xiàn)輸入空間到輸出空間之間的非線性映射。因此,神經(jīng)網(wǎng)絡(luò)可以很好地對電路故障進行診斷。從本質(zhì)上說,電路故障診斷就是一個故障模式識別的過程,將正常電路及各種故障狀態(tài)下的特征信息輸入到神經(jīng)網(wǎng)絡(luò),運用神經(jīng)網(wǎng)絡(luò)對這些特征信息進行學(xué)習(xí)、記憶,從而識別對應(yīng)的故障模式,達(dá)到故障診斷的目的。診斷過程包括訓(xùn)練階段和測試階段[6],具體步驟如下。(1)首先在仿真軟件中對正常狀態(tài)及故障狀態(tài)進行模擬仿真,得到原始的響應(yīng)信號,再對原始信號進行相關(guān)處理,作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本。各種故障狀態(tài)對應(yīng)的輸出模式,由故障數(shù)目來確定。根據(jù)輸入樣本和對應(yīng)的輸出樣本來訓(xùn)練神經(jīng)網(wǎng)絡(luò),達(dá)到訓(xùn)練的目的。(2)神經(jīng)網(wǎng)絡(luò)具有一定的泛化能力,不僅能夠識別已經(jīng)訓(xùn)練過的樣本,而且能夠通過聯(lián)想識別未出現(xiàn)過的樣本。加入相同的激勵,檢測實際特征,將此信息同樣經(jīng)過信號處理,作為測試樣本送入神經(jīng)網(wǎng)絡(luò),最后根據(jù)網(wǎng)絡(luò)的輸出即可判斷時應(yīng)的故障模式。神經(jīng)網(wǎng)絡(luò)應(yīng)用于具體的電路故障診斷,還有一些診斷過程中需要解決的關(guān)鍵問題。(1)測試節(jié)點的選擇。神經(jīng)網(wǎng)絡(luò)進行電路故障診斷時,為了得到各種故障模式的特征信息,應(yīng)選取有效的測試點。通過這些測試點的輸出信號,提取有效的特征信息,從而進行模式識別。雖然測試點的選擇標(biāo)準(zhǔn)不盡相同,但是都要遵循如下基本原則:①盡可能選取診斷能力強,同時故障隔離能力強的節(jié)點。②在滿足隔離要求的情況下,盡量少選取節(jié)點。③獲取節(jié)點信息時,不能影響到整個電路系統(tǒng)的正常工作及性能。(2)故障集的構(gòu)造。因為電路中元件數(shù)眾多,故障模型地構(gòu)成也各不相同,因此對所有元件、所有故障模型都進行診斷是不現(xiàn)實的。比較可行的辦法就是根據(jù)待測電路的特點和以往的經(jīng)驗?zāi)M若干個元器件,組成故障集。
4實例分析
通過一個555構(gòu)成的單穩(wěn)態(tài)觸發(fā)器電路進行仿真實驗。首先,設(shè)定電阻容差為10%,電容容差為5%,在容差范圍內(nèi)對元器件的軟故障進行研究。其次,選取文獻(xiàn)[2]的無故障與有故障各50次蒙特卡洛分析結(jié)果,其中30次作為訓(xùn)練樣本,20次作為測試樣本。最后,將訓(xùn)練樣本集輸入到網(wǎng)絡(luò)結(jié)構(gòu)為6-10-4的BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,測試樣本集輸入到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)即可得出故障診斷率。同樣地,為了加快訓(xùn)練速度,采用附加動量自適應(yīng)梯度下降法,訓(xùn)練函數(shù)為traingdx,隱層傳遞函數(shù)為tansig,輸出層傳遞函數(shù)為purelin訓(xùn)練目標(biāo)為0.01,學(xué)習(xí)速率為0.01。可知20個測試樣本的診斷概率為95%,達(dá)到了預(yù)期的要求。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò)、圖像分割、特征提取
Abstract: the image recognition process including the image preprocessing, feature extraction, image understanding and analysis. Which BP artificial neural network in the image segmentation using better; In the feature extraction phase BP neural network is also very good find application, and obtain the better feature extraction results; In the image understanding and the analysis phase using neural network classifier design, can get accurate classification results.
Keywords: BP neural network, image segmentation, feature extraction
中圖分類號:TP183 文獻(xiàn)標(biāo)識碼:A文章編號:
引言
BP人工神經(jīng)網(wǎng)絡(luò)算法是現(xiàn)今應(yīng)用較為廣泛的多層前向反饋式神經(jīng)網(wǎng)絡(luò)算法,BP人工神經(jīng)網(wǎng)絡(luò)有較好的容錯能力、魯棒性、并行協(xié)同處理能力和自適應(yīng)能力,受到了國內(nèi)外眾多領(lǐng)域?qū)W者的關(guān)注。由于神經(jīng)網(wǎng)絡(luò)高效率的集體計算能力和較強的魯棒性,它在圖像分割方面的應(yīng)用已經(jīng)很廣泛,Jain和Karu采用了多通道濾波與前向神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法實現(xiàn)圖像紋理分割算法。神經(jīng)網(wǎng)絡(luò)算法在特征提取階段,壓縮特征數(shù)量,以提高分類速度和精度。在圖像識別領(lǐng)域中神經(jīng)網(wǎng)絡(luò)作為分類器的研究也得到了很大的進展,尤其是其學(xué)習(xí)能力和容錯性對于模式識別是非常有利的,在一定程度上提高了訓(xùn)練速度和識別率。Le Cun等人提出了多層特征選擇(Multilayer Selection Procedure)方法用于字符識別,每一層神經(jīng)網(wǎng)絡(luò)處理較低層次的特征,獲取該層特征信息并傳給上一層。
BP神經(jīng)網(wǎng)絡(luò)的基本原理
人工神經(jīng)網(wǎng)絡(luò)的研究起源于對生物神經(jīng)系統(tǒng)的研究,它將若干處理單元(即神經(jīng)元)通過一定的互連模型連結(jié)成一個網(wǎng)絡(luò),這個網(wǎng)絡(luò)通過一定的機制可以模仿人的神經(jīng)系統(tǒng)的動作過程,以達(dá)到識別分類的目的。人工神經(jīng)網(wǎng)絡(luò)區(qū)別于其他識別方法的最大特點是它對待識別的對象不要求有太多的分析與了解,具有一定的智能化處理的特點。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程實際上就是不斷地調(diào)整權(quán)值和閾值的過程。根據(jù)有無訓(xùn)練樣本的指導(dǎo)可以將神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方式分為兩種:監(jiān)督學(xué)習(xí)方式和非監(jiān)督學(xué)習(xí)方式,也稱為有導(dǎo)師指導(dǎo)學(xué)習(xí)方式和無導(dǎo)師指導(dǎo)學(xué)習(xí)方式。監(jiān)督學(xué)習(xí)方式,是在給定固定的輸入輸出樣本集的情況下,由網(wǎng)絡(luò)根據(jù)一定的學(xué)習(xí)規(guī)則進行訓(xùn)練學(xué)習(xí),每一次學(xué)習(xí)完成后,通過對比實際的輸出和期望的輸出,以此決定網(wǎng)絡(luò)是否需要再學(xué)習(xí),如果還沒有達(dá)到期望的誤差,則將實際誤差反饋到網(wǎng)絡(luò),進行權(quán)值和閾值的調(diào)整,使實際的誤差隨著學(xué)習(xí)的反復(fù)進行而逐步減小,直至達(dá)到所要求的性能指標(biāo)為止。非監(jiān)督學(xué)習(xí)方式,是在沒有外界的指導(dǎo)下進行的學(xué)習(xí)方式,在學(xué)習(xí)過程中,調(diào)整網(wǎng)絡(luò)的權(quán)重不受外來教師的影響,但在網(wǎng)絡(luò)內(nèi)部會對其性能進行自適應(yīng)調(diào)節(jié)。
BP神經(jīng)網(wǎng)絡(luò)分類器的設(shè)計
BP神經(jīng)網(wǎng)絡(luò)是基于誤差反向傳播算法(Back Propagation Algorithm,BPA)的多層前向神經(jīng)網(wǎng)絡(luò),由輸入層、輸出層、一個或多個隱含層所組成。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)確定之后,通過對輸出和輸入樣本集進行訓(xùn)練,反復(fù)修正網(wǎng)絡(luò)的權(quán)值和閾值,達(dá)到學(xué)習(xí)訓(xùn)練的期望誤差,以使網(wǎng)絡(luò)能夠?qū)崿F(xiàn)給定的輸入輸出映射關(guān)系。BP人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程分為兩個階段,第一階段是輸入己知的學(xué)習(xí)樣本數(shù)據(jù),給定網(wǎng)絡(luò)的結(jié)構(gòu)和初始連接權(quán)值和閾值,從輸入層逐層向后計算各神經(jīng)元的輸出;第二階段是對權(quán)值和閾值進行修改,即根據(jù)網(wǎng)絡(luò)誤差從最后一層向前反饋計算各層權(quán)值和閾值的增減量,來逐層修正各層權(quán)值和閾值。以上正反兩個階段反復(fù)交替,直到網(wǎng)絡(luò)收斂。具體實現(xiàn)步驟如下:
(1) 網(wǎng)絡(luò)的初始化:首先對輸入的學(xué)習(xí)訓(xùn)練樣本進行歸一化處理,對權(quán)值矩陣W和閾值向量賦初值,將網(wǎng)絡(luò)計數(shù)器和訓(xùn)練次數(shù)計數(shù)器置為1,網(wǎng)絡(luò)誤差置為0。
(2) 輸入訓(xùn)練樣本,計算輸入層,隱含層以及輸出層的實際輸出。
(3) 計算網(wǎng)絡(luò)輸出誤差。將實際的輸出和期望的輸出值進行對比,采用均方根誤差指標(biāo)作為網(wǎng)絡(luò)的誤差性能函數(shù)。
(4) 若誤差還沒達(dá)到期望標(biāo)準(zhǔn),則根據(jù)誤差信號,逐層調(diào)整權(quán)值矩陣和閾值向量。
(5) 若最終調(diào)整之后的網(wǎng)絡(luò)輸出達(dá)到了誤差范圍之內(nèi),則進行下一組訓(xùn)練樣本繼續(xù)訓(xùn)練網(wǎng)絡(luò)。
(6) 若全部的訓(xùn)練樣本訓(xùn)練完畢,并且達(dá)到了期望的誤差,則訓(xùn)練結(jié)束,輸出最終的網(wǎng)絡(luò)聯(lián)接權(quán)值和閾值。
BP神經(jīng)網(wǎng)絡(luò)可以逼近任意連續(xù)函數(shù),具有很強的非線性映射能力,而且BP神經(jīng)網(wǎng)絡(luò)中間層數(shù)、各層神經(jīng)元數(shù)及網(wǎng)絡(luò)學(xué)習(xí)速率等參數(shù)均可以根據(jù)具體情況設(shè)定,靈活性較強,所以BP神經(jīng)網(wǎng)絡(luò)在許多領(lǐng)域中廣泛應(yīng)用。一般來說,神經(jīng)網(wǎng)絡(luò)方法應(yīng)同傳統(tǒng)的人工智能方法相聯(lián)系的。神經(jīng)網(wǎng)絡(luò)本身結(jié)構(gòu)及性能上的特點使其對問題的處理更富有彈性,更加穩(wěn)健。神經(jīng)網(wǎng)絡(luò)的基本特點是采用自下而上的設(shè)計思路,使其容易確定具體的目標(biāo)分割或識別算法,在增加了不確定因素的同時也產(chǎn)生了網(wǎng)絡(luò)最優(yōu)化的問題,這就是所謂的偽狀態(tài)(pseudo-trap)。盡管在實踐中并非所有的偽狀態(tài)對應(yīng)完全失敗的結(jié)果,但是畢竟這不符合對之完美的或者說合理的期望。人工智能則一般采用自上而下的方法,偏重于邏輯推理建立系統(tǒng)模型。因此將神經(jīng)網(wǎng)絡(luò)同人工智能結(jié)合起來,相當(dāng)于賦予神經(jīng)網(wǎng)絡(luò)高層指導(dǎo)的知識及邏輯推理的能力,具有潛在的優(yōu)勢。
輸入層中間層 輸出層
圖1 BP人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
4.1 BP神經(jīng)網(wǎng)絡(luò)的設(shè)計
BP神經(jīng)網(wǎng)絡(luò)的設(shè)計主要包括兩方面內(nèi)容:一是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的確定,特別是隱含層層數(shù)及隱含層單元數(shù)目的確定;二是高精度收斂問題,隱含層和隱含層單元數(shù)過多,將導(dǎo)致訓(xùn)練時間過長并出現(xiàn)過度擬和的問題,隱含層單元數(shù)過少又導(dǎo)致網(wǎng)絡(luò)收斂速度慢甚至不收斂,達(dá)不到誤差精度要求。在確定隱含層層數(shù)以及隱含層單元數(shù)目時,沒有一個嚴(yán)格的理論依據(jù)指導(dǎo),需要根據(jù)特定的問題,結(jié)合經(jīng)驗公式確定大致范圍來進行逐步試算比較得到。
4.2 數(shù)據(jù)預(yù)處理
為了加快網(wǎng)絡(luò)的訓(xùn)練速度,通常在網(wǎng)絡(luò)訓(xùn)練前進行神經(jīng)網(wǎng)絡(luò)輸入和輸出數(shù)據(jù)預(yù)處理,即將每組數(shù)據(jù)都?xì)w一化變?yōu)閇-1,1]之間的數(shù)值的處理過程。
4.3 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
%當(dāng)前輸入層權(quán)值和閾值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
%設(shè)置訓(xùn)練參數(shù)
net.trainParam.show = 1000;%限時訓(xùn)練迭代過程
net.trainParam.lr = 0.1; %學(xué)習(xí)率,缺省為0.01
net.trainParam.epochs = 100000; %最大訓(xùn)練次數(shù),缺省為100
net.trainParam.goal = 0.001; %訓(xùn)練要求精度,缺省為0
[net,tr]=train(net,P,T);%調(diào)用 TRAINGDM 算法訓(xùn)練 BP 網(wǎng)絡(luò)
A = sim(net,P) %對 BP 網(wǎng)絡(luò)進行仿真
E = T - A;%計算仿真誤差
MSE=mse(E)
結(jié)束語
BP網(wǎng)絡(luò)因為具有較強的學(xué)習(xí)性、自適應(yīng)型和容錯性,在很多領(lǐng)域均已經(jīng)大量運用。本文將BP人工神經(jīng)網(wǎng)絡(luò)運用于圖像的識別,探索人工神經(jīng)網(wǎng)絡(luò)在圖像識別領(lǐng)域中的重要的現(xiàn)實意義。研究表明,BP人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像識別在一定程度上提高了識別的效率和準(zhǔn)確率。但是,BP神經(jīng)網(wǎng)絡(luò)算法還存在以下幾點不足之處:(1)權(quán)的調(diào)整方法存在局限性,容易陷入局部最優(yōu);(2)網(wǎng)絡(luò)的結(jié)構(gòu)需要提前指定或者在訓(xùn)練過程中不斷的修正;(3)過分依賴學(xué)習(xí)樣本,由于學(xué)習(xí)樣本是有限的或者學(xué)習(xí)樣本質(zhì)量不高,那么會導(dǎo)致訓(xùn)練達(dá)不到效果;(4)對于規(guī)模較大的模式映射問題,存在收斂速度慢、容易陷入局部極小點、判斷不準(zhǔn)確等缺陷??傊?,如何解決以上問題,如何進一步提高識別精度,擴大識別范圍,使之更具有更好的工程實用性,是有待進一步研究的內(nèi)容。
參考文獻(xiàn):
[1] WE Blanz,S L Gish.A Connectionist Classifier Architecture Applied to Image Segmentation.Proc.10th ICPR,1990,272-277.
[2] Y Le Cun,L D Jackel,B Boser,J S Denker,H P Graf,I Guyon,D Henderson,R E Howard,and W Hubbard,Handwriten Digit Recognition:Applications of Neural Network Chips and Automatic Learning,IEEE Comm.Magazine.Nov.1989.
[3] A K Jain and K Karu,Automatic Filter Design for Texture Discrimination,Proc.12th Int’l Conf.NeuralNetworks,Orlando,Oct.1994,454-458.
[4] 邊肇其,張學(xué)工.模式識別(第二版)[M].清華大學(xué)出版社,北京.1999,12.
[5] 陳書海,傅錄祥.實用數(shù)字圖像處理[M].科學(xué)出版社,北京.2005.
[6] 萬來毅,陳建勛.基于BP神經(jīng)網(wǎng)絡(luò)的圖像識別研究[J].武漢科技大學(xué)學(xué)報(自然科學(xué)版).2006,6.
[7] 叢爽.面向MATLAB工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用(第2版)[M].北京:中國科學(xué)技術(shù)出版社,2003.
[8] 王娟,慈林林等.特征方法綜述[J].計算機工程與科學(xué).2005.27(12).68-71.
[9] 賈花萍.基于神經(jīng)網(wǎng)絡(luò)的特征選擇與提取方法研究[J].網(wǎng)絡(luò)安全.2008,7.33-35.
[10] 龔聲榮,劉純平等編著.?dāng)?shù)字圖像處理與分析[M].清華大學(xué)出版社,北京.2006.7.
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);計算機網(wǎng)絡(luò);安全評估
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)18-4303-05
網(wǎng)絡(luò)安全從本質(zhì)上看是網(wǎng)絡(luò)的信息安全。而從廣義來說,涉及到的范圍就較大,凡是有關(guān)網(wǎng)絡(luò)信息的完整性、保密性、真實性、可用性和可控性方面,都是網(wǎng)絡(luò)安全需要考慮與研究的領(lǐng)域。
隨著全球計算機技術(shù)和 Internet 的迅猛發(fā)展,全球信息化進程加速,互聯(lián)網(wǎng)與千家萬戶息息相關(guān),在我們的工作和生活中扮演著極其重要的角色。與此同時,網(wǎng)絡(luò)和網(wǎng)絡(luò)用戶也在以指數(shù)級的速度增長?;ヂ?lián)網(wǎng)正引領(lǐng)著我們的生活進入一個前所未有的,以網(wǎng)絡(luò)為基礎(chǔ)的信息化環(huán)境。由此,網(wǎng)絡(luò)安全就顯得尤為重要。
1 網(wǎng)絡(luò)安全評估的重要性
由于現(xiàn)階段的計算機系統(tǒng),其網(wǎng)絡(luò)設(shè)備存在不完善的因素,包括設(shè)計的缺陷、漏洞及網(wǎng)絡(luò)協(xié)議等,這樣的情況下,計算機網(wǎng)絡(luò)就潛在各種可能的安全風(fēng)險。近年來,計算機網(wǎng)絡(luò)受到的侵害越來越多,網(wǎng)絡(luò)漏洞各種各樣,計算機安全得不到應(yīng)有的保障。具體表現(xiàn)為:
1) 網(wǎng)絡(luò)病毒更加多樣、智能與隱蔽。
2) 隨著網(wǎng)絡(luò)扮演越來越重要的角色,各方的生產(chǎn)生活都離不開網(wǎng)絡(luò),因此網(wǎng)絡(luò)服務(wù)商、管理部門和運營商都十分重視網(wǎng)絡(luò)的安全,并提出了更多的需求。
3) 網(wǎng)絡(luò)安全脆弱的根源是漏洞。
目前,針對網(wǎng)絡(luò)安全進行的惡意活動越來越多,如何有效保證網(wǎng)絡(luò)安全正常運行已經(jīng)成為各方都十分關(guān)注的問題。在這樣的情況下,我們需要事先對系統(tǒng)與網(wǎng)絡(luò)進行安全檢查與評估,分析現(xiàn)有網(wǎng)絡(luò)是否安全可靠,并且對于檢測出的問題,提出并實施相應(yīng)的有針對性的安全防范措施,力求將損失降到最低,將風(fēng)險扼殺在潛伏期。
2 BP神經(jīng)網(wǎng)絡(luò)技術(shù)
2.1 BP神經(jīng)網(wǎng)絡(luò)技術(shù)介紹
2.1.1 神經(jīng)網(wǎng)絡(luò)技術(shù)概要
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)這一算法是由Rumelhart和McCelland等人于1986年提出的。它的主要思想是按照誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練多層前饋網(wǎng)絡(luò),它可以解決多層的網(wǎng)絡(luò)里所隱含的單元連接的學(xué)習(xí)問題。這一方法的提出,為此后打開了重要的一片領(lǐng)域,它成為目前應(yīng)用最為廣泛的模型之一。BP神經(jīng)網(wǎng)絡(luò)一般分為三層結(jié)構(gòu),包括輸入層、輸出層以及隱含層。
2.1.2 輸入層、輸出層變量及預(yù)處理
BP神經(jīng)網(wǎng)絡(luò)輸入層變量屬于自變量,是需要通過專業(yè)的知識來確定的,如果說增加輸入層的變量的數(shù)量,那么還要進行主成分分析,再對所有的變量進行縮減,使得數(shù)量與增加前的輸入層數(shù)量相當(dāng),然后再對輸入變量前與縮減變量后的系統(tǒng)誤差進行比較,通過比值的大小達(dá)到縮減輸入層變量的目的。
輸入層變量屬于因變量,一般系統(tǒng)不對輸入層變量的數(shù)量進行具體要求,但是為了網(wǎng)絡(luò)模型得到更好的訓(xùn)練,系統(tǒng)對于BP神經(jīng)網(wǎng)絡(luò)應(yīng)要進行轉(zhuǎn)換。即把具有多個輸入變量的模型轉(zhuǎn)換成多個具有一個輸出的模型,以達(dá)到更好的效果。
預(yù)處理有很多的方法,一般筆者根據(jù)實際需求以及喜好,會采用各不相同的方式。但是殊途同歸,進行完數(shù)據(jù)的處理之后,對網(wǎng)絡(luò)神經(jīng)輸出的結(jié)果進行一定程度的變換,最后得到的數(shù)據(jù)才是所需數(shù)據(jù)。并且,與處理后,數(shù)據(jù)值要控制在0.2~0.8之間,使得建立的模型具有一定的外推能力。
2.1.3 BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)包含隱含層層數(shù)、隱含層結(jié)點數(shù)、動量因子、初始權(quán)值、學(xué)習(xí)率、誤差精度等。
BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)最應(yīng)注意的是隱含層結(jié)點的數(shù)量,過多或過少都會產(chǎn)生問題,或者使得網(wǎng)絡(luò)訓(xùn)練時間過長、無法找到最優(yōu)點,或者使得網(wǎng)絡(luò)的穩(wěn)定性較差。因此,應(yīng)合理優(yōu)化隱含點的節(jié)點數(shù),同時考慮網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜程度以及誤差的大小,綜合各方情況確定節(jié)點數(shù)。
2.2 BP神經(jīng)網(wǎng)絡(luò)技術(shù)算法
2.2.1 BP神經(jīng)網(wǎng)絡(luò)算法學(xué)習(xí)過程
1) 工作信號的正向傳播:工作信號的正向傳播指的是輸入信號經(jīng)由輸入層傳向輸出層,最終在輸出端產(chǎn)生輸出信號。
2) 誤差信號的反向傳播:工作信號的反向傳播指的是誤差信號由輸出端向后傳播,誤差信號指的是網(wǎng)絡(luò)實際輸出信號和期望輸出信號之間的差值。
本文以含有三個隱含層的BP神經(jīng)網(wǎng)絡(luò)為例,其結(jié)構(gòu)如下圖所示。
9) 輸入下一個學(xué)習(xí)樣本,返回步驟(3),直至全部 z 個模式對訓(xùn)練完畢;
10) 進入下一輪學(xué)習(xí)。
2.2.1 BP神經(jīng)網(wǎng)絡(luò)算法工作過程
BP神經(jīng)網(wǎng)絡(luò)算法的工作工程并不復(fù)雜,具體如下:
1) 對神經(jīng)網(wǎng)絡(luò)參數(shù)初始化。
2) 計算隱藏層單元的個數(shù)、輸出層單元的輸出個數(shù)、輸出層單元誤差,若誤差在誤差范圍內(nèi),可輸出結(jié)果。
1)若2)中的誤差不在誤差范圍內(nèi),則重新調(diào)整中間層到輸出層連接的權(quán)值和輸出層單元,再調(diào)整輸入層到中間層的連接權(quán)值和輸出單元,更新學(xué)習(xí)次數(shù)。
1) 反復(fù)步驟3),當(dāng)學(xué)習(xí)次數(shù)大于上限或滿足誤差要求,結(jié)束學(xué)習(xí)輸出結(jié)果。
2) 輸出最終結(jié)果。
3 BP神經(jīng)網(wǎng)絡(luò)算法的優(yōu)越性
3.1 網(wǎng)絡(luò)安全評估方法
雖然關(guān)于網(wǎng)絡(luò)安全評估的研究在國內(nèi)僅十多年的歷史,但人們已經(jīng)提出了多種評估方法,其中較有代表性的方法是故障樹分析法(Fault Tree Analysis, FTA)、層次分析法(Analytic Hierarchy Process, AHP)、模糊綜合評判法(Fuzzy Comprehensive Evaluation method, FCE)和基于貝葉斯、BP 神經(jīng)網(wǎng)絡(luò)、D_S 證據(jù)理論等方法。
3.2網(wǎng)絡(luò)安全評估方法比較
不同的網(wǎng)絡(luò)安全評估方法具有不同的優(yōu)缺點,針對網(wǎng)絡(luò)安全的實際需要,選擇不同的評估方法,個方法具體優(yōu)缺點如下表。
2.該方法要求大量可供參考的歷史資料
從以上比較中我們可以看出,基于BP神經(jīng)的網(wǎng)絡(luò)安全評估方法具有良好的優(yōu)越性,特別是針對故障樹分析法、層次分析法、基于貝葉斯、模糊綜合評判法等主觀性較強、方法繁復(fù)的方法,基于BP神經(jīng)評估方法的客觀性就顯得尤為的重要。
4 基于BP神經(jīng)網(wǎng)絡(luò)的計算機網(wǎng)絡(luò)安全評估過程
4.1 構(gòu)建計算機網(wǎng)絡(luò)安全評估指標(biāo)集
計算機網(wǎng)絡(luò)是一個很復(fù)雜的體系,能夠影響網(wǎng)絡(luò)安全的因素較多,建立科學(xué)的、合理的網(wǎng)絡(luò)安全評價指標(biāo)將關(guān)系到評價的作用和功能。 本文通過歸納網(wǎng)絡(luò)安全的各個影響因素,以物理安全、邏輯安全和管理安全作為評價指標(biāo)體系的一級指標(biāo),并進行逐層細(xì)化,最終建立了完整的網(wǎng)絡(luò)安全評價指標(biāo)體系,具體如表 2 所示。
4.2 各評價指標(biāo)的取值和標(biāo)準(zhǔn)化
在本文設(shè)計的各個指標(biāo)集中,因為所描述的因素各不相同,既有定量的評價指標(biāo),也有定性的評價指標(biāo),因此在評價時所選擇的取值規(guī)則也是不一樣的。
4.2.1定量指標(biāo)
對于定量指標(biāo),由于其衡量的單位不同,因此必須進行標(biāo)準(zhǔn)化的處理,并將最終取值范圍控制在0~1之間,方法如表1所示。
4.2.2定性指標(biāo)
對于定性指標(biāo),該文采用的是專家打分法,專家打分法較為抽象,可采用配值標(biāo)準(zhǔn)化處理,保持與定量指標(biāo)的一致性。
4.3 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)定與訓(xùn)練
確定BP神經(jīng)網(wǎng)絡(luò)對計算機網(wǎng)絡(luò)安全進行評估的層數(shù)。主要利用試湊法,根據(jù)輸入層輸出層神經(jīng)元個數(shù),確定隱含層神經(jīng)元個數(shù)。
與此同時,設(shè)定誤差精度與訓(xùn)練次數(shù),當(dāng)訓(xùn)練的精度或訓(xùn)練次數(shù)達(dá)到要求后,即停止訓(xùn)練,保存數(shù)據(jù)。
4.4 對計算機網(wǎng)絡(luò)安全進行評估
將計算機的網(wǎng)絡(luò)安全評估等級分為四種,分別是安全、基本安全、不安全與很不安全。其中,安全等級的評估值大于或等于0.8、基本安全等級的評估值大于或等于0.7且小于0.8、不安全等級的評估值大于或等于0.6且小于0.7、、很不安全等級的評估值小于0.6。根據(jù)網(wǎng)絡(luò)評估的具體數(shù)值,對網(wǎng)絡(luò)安全進行四種等級的判定。
5 基于BP神經(jīng)網(wǎng)絡(luò)的計算機網(wǎng)絡(luò)安全評估實例
5.1 實例探究
本文通過實例對以上的闡述進行探究:設(shè)計BP神經(jīng)網(wǎng)絡(luò)輸入層的節(jié)點為5,輸出層節(jié)的點為1,隱含層的節(jié)點為19,學(xué)習(xí)精度E設(shè)為01001,權(quán)值調(diào)整參數(shù)、網(wǎng)絡(luò)閾值均設(shè)為011,最大迭代次數(shù)為1000次,輸入層與隱含層之間采用Logsig傳遞函數(shù),隱含層與輸出層之間采用Purelin轉(zhuǎn)遞函數(shù)。
本文收集了40份計算機網(wǎng)絡(luò)安全評估數(shù)據(jù)樣本,對數(shù)據(jù)進行處理與分析后,根據(jù)前文所表述的評估步驟,對各網(wǎng)絡(luò)進行了安全評估,具體數(shù)據(jù)見下圖。
5.2實例分析
結(jié)合調(diào)查獲得的實際情況,結(jié)果表明,基于BP神經(jīng)網(wǎng)絡(luò)算法的計算機網(wǎng)絡(luò)安全評估模型精準(zhǔn)性較好,與實際情況較為符合。同時我們可以看到,當(dāng)前許多網(wǎng)絡(luò)的安全性存在一定的隱患,多數(shù)網(wǎng)絡(luò)的安全等級屬于基本安全與很不安全之間,少有安全性很高、評估值大于0.9的網(wǎng)絡(luò)系統(tǒng)。
另外,應(yīng)用BP神經(jīng)網(wǎng)絡(luò)計算方法還可以對同一等級內(nèi)的網(wǎng)絡(luò)進行不同安全程度的驚喜評定,因此,BP模型能夠精確地對改造后的網(wǎng)絡(luò)安全進行重新評價,并根據(jù)評價結(jié)果提出具有針對性的提高網(wǎng)絡(luò)安全的有效措施。
6 結(jié)論
當(dāng)前,網(wǎng)絡(luò)安全是網(wǎng)絡(luò)管理人員急需解決的重要問題,網(wǎng)絡(luò)安全評估作為有效防護網(wǎng)絡(luò)安全的手段之一,是一項技術(shù)要求復(fù)雜的工作。而BP神經(jīng)網(wǎng)絡(luò)算法既有神經(jīng)神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)、自適應(yīng)的特點,同時還兼有專家的知識經(jīng)驗,因此成為了非線性映射能力較強的綜合評價模型之一。BP神經(jīng)網(wǎng)絡(luò)算法在網(wǎng)絡(luò)安全評估中的應(yīng)用,減少了主觀因素,提高了檢測評估的客觀性,有利于用戶發(fā)現(xiàn)網(wǎng)絡(luò)安全的漏洞與薄弱,做好安全措施,提高網(wǎng)絡(luò)安全水平。
本文介紹了BP神經(jīng)網(wǎng)絡(luò)算法,并通過與其他評估方法的對比分析其優(yōu)越性,提出利用BP神經(jīng)網(wǎng)絡(luò)對計算機網(wǎng)絡(luò)安全進行評估,并提出相應(yīng)的評估過程。最后以實例驗證了BP神經(jīng)網(wǎng)絡(luò)算法在計算機網(wǎng)絡(luò)安全評估的應(yīng)用。但本文亦有不足之處,第一,在實例中缺少其他評估方法的應(yīng)用,無法突出BP神經(jīng)網(wǎng)絡(luò)算法的優(yōu)越性;第二,缺少對實例結(jié)果精確性的檢驗,這些工作應(yīng)在將來予以補正。
參考文獻(xiàn):
[1] Lee W.A data mining framework for constructing features andmodels for intrusion detection systems[D].New York Columbia University,1999.
[2] Lv H Y , Cao Y D.Research on network risk situation assessment based on threat analysis[C].2008 International Symposium on Information Science and Engineering,2008:252-257.
[3] Biswajeet Pradhan,Saro Lee. Regional landslide susceptibility analysis using back-propagation neural network model at Cameron Highland, Malaysia [J].Earth and Environmental Science,2010, 7(1):13-30.
[4] 趙冬梅,劉海峰,劉晨光.基于BP 神經(jīng)網(wǎng)絡(luò)的信息安全風(fēng)險評估[J].計算機工程與應(yīng)用,2007(1).
[5] 金嶠,方帥,閻石.BP網(wǎng)絡(luò)模型改進方法綜述[J].沈陽建筑工程學(xué)院學(xué)報:自然科學(xué)版,2001,17(3):197-199.
關(guān)鍵詞:BP;神經(jīng)網(wǎng)絡(luò);PID控制器
1 分層調(diào)整學(xué)習(xí)速率的改進BP算法
BP算法本質(zhì)上是梯度下降法。若要改進BP算法,首先要熟悉了解梯度下降法的原理。
設(shè)函數(shù)f(x)具有一階連續(xù)導(dǎo)數(shù),假設(shè)在x=x*處取得函數(shù)極小值,用xk代表在第k次接近極小值點,則在第k+1次接近極小值點為xk+1=xk+λpk,對函數(shù)f(x)在xk+1處進行泰勒級數(shù)展開:
f(xk+1)=f(xk+λpk)=f(xk)+λ?犖f(xk)Tpk+o(λ)(1-1)
上式中?犖f(xk)為函數(shù)f(x)在xk處的梯度,當(dāng)λ取得非常小的值時,o(λ)為λ的高階無窮小。如果有
?犖f(xk)Tpk<0 (1-2)
能推出
f(xk+λpk)<f(xk) (1-3)
這就表明在第k+1次迭代時的函數(shù)值小于第k次迭代的函數(shù)值。為了使?犖f(xk)Tpk取得最小值,對其求模變化:
?犖f(xk)Tpk=||?犖f(xk)||?||pk||?cosθ (1-4)
上式中,θ為向量?犖f(xk)與pk的夾角。
假設(shè)||pk||為固定值,當(dāng)θ=0時,即向量?犖f(xk)與pk同向,則cosθ=1,?犖f(xk)Tpk取得最大值;反之,當(dāng)θ=180時,即向量?犖f(xk)與pk反向,則cosθ=-1,?犖f(xk)Tpk<0,所以向量pk的正方向就是梯度的負(fù)方向。沿其負(fù)梯度方向進行搜索能夠使f(x)函數(shù)值減小的速率加快,能夠快速地找到極小點。
根據(jù)式(1-1)可知,λ作為梯度?犖f(xk)與向量pk的系數(shù),稱為步長,同時影響著網(wǎng)絡(luò)在負(fù)梯度方向上的搜索能力。選取最佳步長的計算公式如下:
λk=(1-5)
把求得最佳步長代入式(1-3)得
f(xk-λkpk)<f(xk) (1-6)
我們在最佳步長的計算中能夠發(fā)現(xiàn),公式(1-5)的計算增加了網(wǎng)絡(luò)計算量,可以通過使用學(xué)習(xí)速率η替代步長來降低計算量。在文章中我們提出了一種分層調(diào)整學(xué)習(xí)速率的方法,它能夠同時調(diào)整輸入層與隱含層及隱含層與輸出層之間的網(wǎng)絡(luò)連接權(quán)值的學(xué)習(xí)速率。
設(shè)定網(wǎng)絡(luò)的學(xué)習(xí)速率η為一個較小的值,當(dāng)滿足f(xk-λkpk)<f(xk)條件時,則學(xué)習(xí)速率的改變趨勢為:
η?坩2η (1-7)
當(dāng)滿足f(xk-λkpk)>f(xk)條件時,則學(xué)習(xí)速率的改變趨勢為:
η?坩0.5η (1-8)
2 以改進的BP神經(jīng)網(wǎng)絡(luò)參數(shù)為基礎(chǔ)的自整定PID控制器
相比較其他而言,BP神經(jīng)網(wǎng)絡(luò)主要優(yōu)勝點在于能夠?qū)⒕W(wǎng)絡(luò)連接權(quán)值不斷代入計算來修正誤差,使之可以不斷接近適應(yīng)度函數(shù)。學(xué)習(xí)算法的實現(xiàn)難度比較小,所以在構(gòu)建PID控制器時,用BP網(wǎng)絡(luò)結(jié)構(gòu)來構(gòu)建是比較常見的。以BP算法為基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)能夠通過自學(xué)及自適應(yīng)能力找到一組最優(yōu)PID參數(shù),使系統(tǒng)的性能達(dá)到最優(yōu)。
①常規(guī)的PID控制器:閉環(huán)控制被控對象,在線整定KP、KI、KD參數(shù);
②BP神經(jīng)網(wǎng)絡(luò):BP神經(jīng)網(wǎng)絡(luò)通過自學(xué)習(xí)和自適應(yīng)能力不斷更新整定網(wǎng)絡(luò)的連接權(quán)值,通過不斷整定使輸出值極限接近目標(biāo)值。當(dāng)輸出值為KP、KI、KD時,系統(tǒng)的性能為最佳。
假定BP神經(jīng)網(wǎng)絡(luò)優(yōu)化PID控制器是一個由三層網(wǎng)絡(luò)構(gòu)成的,且其輸入層節(jié)點有M個,隱含層節(jié)點Q個、輸出層節(jié)點3個。
輸出節(jié)電輸出對應(yīng)KP、KI、KD可調(diào)參數(shù)值,隱含層的激發(fā)函數(shù)可以取Sigmoid函數(shù),可正可負(fù)。然而輸出層的激發(fā)函數(shù)為非負(fù)。
BP神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點的輸出為
公式中,g′(x)=g(x)?(1-g(x)),f′(x)=(1-f2(x))/2。
以改進的BP神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的PID控制器算法:
一是對BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進行明確,在明確了網(wǎng)絡(luò)結(jié)構(gòu)的同時也就明確了輸出層及隱含層的節(jié)點個數(shù)。并對各層的(0)初始化,k=1;
二是為計算e(k)=r(k)-y(k),可以通過樣本采集得到的r(k)及y(k)代入計算;
三是在將r(i),y(i),u(i-1),e(i)(i=k,k-1,...,k-p)輸入到神經(jīng)網(wǎng)絡(luò)之前進行統(tǒng)一化處理;
四是通過式(2-2)和(2-3)將各層神經(jīng)元的輸入輸出計算出來,輸出層輸出的數(shù)據(jù)就是PID控制器的KP(k)、K1(k)、KD(k);
五是PID的控制輸出u(k)可以由式u(t)=KP[e(t)]得到;
六是當(dāng)所有網(wǎng)絡(luò)權(quán)值刷新一次之后,若誤差e(k+1)滿足e(k+1)<
e(k),那么按照式(1-7)對其學(xué)習(xí)速率增大,當(dāng)誤差不再變化時,此時記錄連接權(quán)值。若誤差e(k+1)滿足e(k+1)>e(k),那么按照式(1-8)對其學(xué)習(xí)速率減小,當(dāng)誤差減小時,記錄連接權(quán)值
七是將k賦值為k+1,返回第二步。
3 改進的BP神經(jīng)網(wǎng)絡(luò)PID仿真
將被控對象假定為:
網(wǎng)絡(luò)結(jié)構(gòu)采用4-5-3結(jié)構(gòu),輸入信號為γ(k)=1.0,此信號是階躍信號。網(wǎng)絡(luò)結(jié)構(gòu)中的4代表輸入層有四個輸入,為給定輸入r(k)、
e(k)=r(k)-y(k)、y(k)和1。網(wǎng)絡(luò)結(jié)構(gòu)中的3代表輸出層有三個參數(shù),為KP、KI、KD。η=0.01,加權(quán)系數(shù)初值在[-1,1]區(qū)間內(nèi)隨機賦值。經(jīng)過仿真得到的曲線圖如圖1和圖2所示。
圖1 單位階躍響應(yīng)曲線圖
圖2 誤差變化曲線
被控對象是二階的,所以階躍響應(yīng)曲線以正弦的方式衰減,并在系統(tǒng)穩(wěn)定水平線上下振蕩。從圖1和圖2可以看出,剛啟動時系統(tǒng)振蕩幅度較大,誤差也比較大,系統(tǒng)在0.2s左右時振蕩幅度變小,誤差也迅速變小,在0.3s之后系統(tǒng)達(dá)到穩(wěn)定運行,誤差幾近于0。由圖可知在單位階躍響應(yīng)中改進的BP神經(jīng)網(wǎng)絡(luò)相較BP神經(jīng)網(wǎng)絡(luò)而言,超調(diào)量小,收斂速度快。
4 總結(jié)
提出了一種分層調(diào)整學(xué)習(xí)速率的BP神經(jīng)網(wǎng)絡(luò)改進方法,并把改進的方法與傳統(tǒng)的PID結(jié)合。并基于MATLAB平臺建立了模型進行仿真驗證,仿真結(jié)果驗證了改進的BP神經(jīng)網(wǎng)絡(luò)PID具有更快的響應(yīng)速度、更高的精度,且穩(wěn)定性更強。
參考文獻(xiàn):
[1]李楠.基于神經(jīng)網(wǎng)絡(luò)直流無刷電機控制策略的研究[D].蘭州理工大學(xué),2005.
[2]黃家圣.人工神經(jīng)網(wǎng)絡(luò)在無刷直流電動機中的應(yīng)用研究[D].上海海事大學(xué),2005.
[3]王國玲,李振宇,范自道.無刷直流電機自適應(yīng)模糊PID控制系統(tǒng)[J].機電工程技術(shù),2013(2):30~33.
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò) ;BP網(wǎng)絡(luò); 優(yōu)缺點; 改進算法
【中圖分類號】 TP183 【文獻(xiàn)標(biāo)識碼】 B【文章編號】 1671-1297(2012)09-0196-02
思維學(xué)普遍認(rèn)為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,NN)就是模擬人思維的第二種方式。這是一個非線性動力學(xué)系統(tǒng),其特色在于信息的分布式存儲和并行協(xié)同處理。雖然單個神經(jīng)元的結(jié)構(gòu)極其簡單,功能有限,但大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)所能實現(xiàn)的行為卻是極其豐富多彩的。人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)從20世紀(jì)40年代末誕生至今僅短短半個多世紀(jì),但由于它具有信息的分布存儲、并行處理以及自學(xué)習(xí)能力等優(yōu)點,已經(jīng)在信息處理、模式識別、智能控制及系統(tǒng)建模等領(lǐng)域得到越來越廣泛的應(yīng)用。
神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的單隱層前饋網(wǎng)絡(luò),一般稱為三層前饋網(wǎng)或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。它的特點是:各層神經(jīng)元僅與相鄰層神經(jīng)元之間相互全連接,同層內(nèi)神經(jīng)元之間無連接,各層神經(jīng)元之間無反饋連接,夠成具有層次結(jié)構(gòu)的前饋型神經(jīng)網(wǎng)絡(luò)系統(tǒng)。單計算層前饋神經(jīng)網(wǎng)絡(luò)只能求解線性可分問題,能夠求解非線性問題的網(wǎng)絡(luò)必須是具有隱層的多層神經(jīng)網(wǎng)絡(luò)。
一 BP網(wǎng)絡(luò)
1986年,Rumelhart和Hinton提出了誤差反向傳播神經(jīng)網(wǎng)絡(luò)(Error Back Propagation Neural Network),簡稱BP網(wǎng)絡(luò)。它是一種能向著滿足給定的輸入輸出關(guān)心方向進行自組織的神經(jīng)網(wǎng)絡(luò)。
1. BP網(wǎng)絡(luò)的原理
輸入層各神經(jīng)元負(fù)責(zé)接收來自外界的輸入信息,并傳遞給中間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負(fù)責(zé)信息變換,根據(jù)信息變化能力的需求,中間層可以設(shè)計為單隱層或者多隱層結(jié)構(gòu);最后一個隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進一步處理后,完成一次學(xué)習(xí)的正向傳播處理過程,由輸出層向外界輸出信息處理結(jié)果。當(dāng)實際輸出與期望輸出不符時,進入誤差的反向傳播階段。誤差通過輸出層,按誤差梯度下降的方式修正各層權(quán)值,向隱層、輸入層逐層反傳。周而復(fù)始的信息正向傳播和誤差反向傳播過程,是各層權(quán)值不斷調(diào)整的過程,也是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的過程,此過程一直進行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或者預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。
2. BP網(wǎng)絡(luò)的特點
(1)輸入和輸出是并行的模擬量。
(2)網(wǎng)絡(luò)的輸入輸出關(guān)系是各層連接的權(quán)因子決定,沒有固定的算法。
(3)權(quán)因子是通過學(xué)習(xí)信號調(diào)節(jié)的,這樣學(xué)習(xí)越多,網(wǎng)絡(luò)越聰明。
(4)隱含層越多,網(wǎng)絡(luò)輸出精度越高,且個別權(quán)因子的損壞不會對網(wǎng)絡(luò)輸出產(chǎn)生大的影響。
3. BP網(wǎng)絡(luò)的優(yōu)點
(1)網(wǎng)絡(luò)實質(zhì)上實現(xiàn)了一個從輸入到輸出的映射功能,而數(shù)學(xué)理論已證明它具有實現(xiàn)任何復(fù)雜非線性映射的功能。這使得它特別適合于求解內(nèi)部機制復(fù)雜的問題。
(2)網(wǎng)絡(luò)能通過學(xué)習(xí)帶正確答案的實例集自動提取"合理的"求解規(guī)則,即具有自學(xué)習(xí)能力。
(3)網(wǎng)絡(luò)具有一定的推廣、概括能力。
4. BP網(wǎng)絡(luò)的缺點
BP算法的學(xué)習(xí)速度很慢,其原因主要有:
(1)由于BP算法本質(zhì)上為梯度下降法,而它所要優(yōu)化的目標(biāo)函數(shù)又非常復(fù)雜,因此,必然會出現(xiàn)"鋸齒形現(xiàn)象",這使得BP算法低效;
(2)存在麻痹現(xiàn)象,由于優(yōu)化的目標(biāo)函數(shù)很復(fù)雜,它必然會在神經(jīng)元輸出接近0或1的情況下,出現(xiàn)一些平坦區(qū),在這些區(qū)域內(nèi),權(quán)值誤差改變很小,使訓(xùn)練過程幾乎停頓;
(3)為了使網(wǎng)絡(luò)執(zhí)行BP算法,不能用傳統(tǒng)的一維搜索法求每次迭代的步長,而必須把步長的更新規(guī)則預(yù)先賦予網(wǎng)絡(luò),這種方法將引起算法低效。
網(wǎng)絡(luò)訓(xùn)練失敗的可能性較大,其原因有:
(1)從數(shù)學(xué)角度看,BP算法為一種局部搜索的優(yōu)化方法,但它要解決的問題為求解復(fù)雜非線性函數(shù)的全局極值,因此,算法很有可能陷入局部極值,使訓(xùn)練失敗;
(2)網(wǎng)絡(luò)的逼近、推廣能力同學(xué)習(xí)樣本的典型性密切相關(guān),而從問題中選取典型樣本實例組成訓(xùn)練集是一個很困難的問題。
難以解決應(yīng)用問題的實例規(guī)模和網(wǎng)絡(luò)規(guī)模間的矛盾。這涉及到網(wǎng)絡(luò)容量的可能性與可行性的關(guān)系問題,即學(xué)習(xí)復(fù)雜性問題。
網(wǎng)絡(luò)結(jié)構(gòu)的選擇尚無一種統(tǒng)一而完整的理論指導(dǎo),一般只能由經(jīng)驗選定。為此,有人稱神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)選擇為一種藝術(shù)。而網(wǎng)絡(luò)的結(jié)構(gòu)直接影響網(wǎng)絡(luò)的逼近能力及推廣性質(zhì)。因此,應(yīng)用中如何選擇合適的網(wǎng)絡(luò)結(jié)構(gòu)是一個重要的問題。
新加入的樣本要影響已學(xué)習(xí)成功的網(wǎng)絡(luò),而且刻畫每個輸入樣本的特征的數(shù)目也必須相同。
二 BP網(wǎng)絡(luò)的改進算法
BP算法最優(yōu)化的方向主要有權(quán)值調(diào)整、自適應(yīng)學(xué)習(xí)速率調(diào)整、網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整等。常用的改進方法有以下幾種:
1.加入動量項
利用附加動量的作用則有可能滑過局部極小值。該方法所加入的動量實質(zhì)上相當(dāng)于阻尼項,它減小了學(xué)習(xí)過程的振蕩趨勢,改善了收斂性,這是目前應(yīng)用比較廣泛的一種改進算法。
2.自適應(yīng)學(xué)習(xí)速率調(diào)整
對于一個特定的問題,要選擇適當(dāng)?shù)膶W(xué)習(xí)速率并不是一件容易的事情。對訓(xùn)練開始初期功效很好的學(xué)習(xí)速率,不一定對后來的訓(xùn)練合適。為了解決這一問題,人們自然會想到在訓(xùn)練過程中自動調(diào)整學(xué)習(xí)速率。
3.共軛梯度算法
在各種改進算法中,共軛梯度法(Conjugate Gradient)是非常重要的一種。其優(yōu)點是所需存儲量小,具有N步收斂性,穩(wěn)定性高,而且不需要任何外來參數(shù)。
4.Levenberg-Marquart算法(最小二乘擬合算法)
除了改進算法以外,通過改變神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(隱層結(jié)點數(shù)和網(wǎng)絡(luò)層數(shù))、調(diào)整誤差等方法,也能加快BP算法的收斂速度。
參考文獻(xiàn)