廣東工業(yè)大學畢業(yè)設計(論文)BP神經網絡的異常點檢測應用可行性研究_第1頁
廣東工業(yè)大學畢業(yè)設計(論文)BP神經網絡的異常點檢測應用可行性研究_第2頁
廣東工業(yè)大學畢業(yè)設計(論文)BP神經網絡的異常點檢測應用可行性研究_第3頁
廣東工業(yè)大學畢業(yè)設計(論文)BP神經網絡的異常點檢測應用可行性研究_第4頁
廣東工業(yè)大學畢業(yè)設計(論文)BP神經網絡的異常點檢測應用可行性研究_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機學院畢業(yè)論文本科畢業(yè)設計(論文) BP神經網絡的異常點檢測應用可行性研究學 院 計算機學院 專 業(yè) 軟件工程 年級班別 2006級(4)班 學 號 3106007039 學生姓名 蔡東赟 指導教師 王麗娟 2010年 5 月摘 要異常點數據是指數據集中與眾不同數據。這部分數據的量小,但是對于我們的日常生產生活的影響極大。因此,異常點檢測被廣泛應用于網絡入侵檢測,金融保險,天氣預報以及新藥研制等領域。相對于大量的正常數據挖掘而言,異常點檢測被稱作小模式數據挖掘。BP算法是一種常用的數據挖掘算法。但是BP算法進行實際數據的異常點數據挖掘過程中存在:實際數據的維數較高,存在冗余特征的干擾,以及

2、在高維特征下,數據量不充分的問題。因此,本文分析BP神經網絡處理各種數據的情況,并得到以下結果。(1)BP神經網絡能夠較好的分離特征單一的仿真數據;但是(2)特征相似性較大的數據集,難以分離判斷;(3)正常數據不充分或者不具有代表性,因此正常數據類學習不充分,從而導致異常無法判斷。針對以上問題,本文提出了以下的改進措施:(1)BP算法前進行特征約簡(映射)從中選取有益于異常檢測的特征(2)多神經網絡融合,不同神經網絡識別不同的特征,相互取長補短,融合后得到最終的結果。關鍵字:異常,BP,異常點檢測,神經網絡注:本設計(論文)題目來源于教師的國家級(或部級、省級、廳級、市級、校級、企業(yè))科研項目

3、,項目編號為: 。AbstractOutlier data is the data set different data. This part of the small amount of data, but for our daily production and life of great. Therefore, the anomaly detection is widely used in network intrusion detection, finance, insurance, weather, and new drug development and other fields.

4、 Relative to the large number of normal data mining, the anomaly detection model is called data mining small. BP algorithm is a commonly used data mining algorithm. But the BP algorithm to real data outliers exist in the data mining process: the higher the dimension of the actual data, there are red

5、undant features of the interference, and high-dimensional feature, the issue of inadequate data. Therefore, this paper analyzes a variety of BP neural network processing of data, and to get the following results. (1) BP neural network can better separation characteristics of a single simulation data

6、; but (2) the characteristics of similar large data sets, separation is difficult to judge; (3) normal data is not sufficient or not representative, so the normal data class learning is not sufficient, leading to abnormal can not judge. To solve the above problem, this paper proposes the following i

7、mprovements: (1) BP algorithm before feature reduction (map) benefit from anomaly detection features selected (2) integration of multiple neural networks, different neural network to recognize the different characteristics of each each other, the final fusion result.Key Words:Outliers-Data,BP,Algori

8、thms,Neural Networks目 錄1引言11.1背景11.2傳統(tǒng)已有異常點算法介紹11.2.1基于統(tǒng)計學的異常點檢測算法11.2.2基于距離的異常點檢測算法21.2.3基于密度的算法31.2.4基于偏差的異常點檢測51.2.5基于聚類的異常點檢測算法62基于屬性特征在異常點檢測中的研究73 BP神經網絡介紹93.1模型簡介93.2計算各層節(jié)點輸出93.3 修正權值104 異常檢測中BP神經網絡的設計134.1可微閾值單元134.2單個BP網絡結構設計134.3BP神經網絡學習過程的基本步驟145實驗研究175.1研究使用的數據庫介紹175.2訓練方案一實驗:把bp神經網絡相似性代替

9、距離算法相似度量175.3訓練方案二實驗:用單個神經網絡對訓練數據庫整體特性進行學習185.4訓練方案三實驗:多神經網絡各種形式訓練及其決策195.4.1實驗設計思路195.4.2實驗方案及步驟205.4.3實驗分析225.4.4實驗失敗原因分析235.5BP調參實驗255.5.1對實驗一調整隱層實驗255.5.2對實驗二調整隱層實驗265.5.3對實驗三調整隱層實驗295.6數據仿真實驗315.6.1實驗思路315.6.2實驗步驟315.6.3實驗結果325.6.4結果分析335.7實驗整體分析33總結與展望35致謝391引言1.1背景異常點(離群點或者孤立點)檢測是數據挖掘中一個重要方面,

10、Hawkins1最早給出了異常點的本質定義:異常點是數據集中與眾不同地數據,以至于使人懷疑這些數據并非隨機偏差,而是產生與完全不同的機制。異常點可能由于度量或執(zhí)行錯誤產生,也可能是由于固有數據可變性的結果。例如,一個公司首席執(zhí)行官的工資自然遠遠高于公司其他雇員的工資,成為一個異常點。許多數據挖掘算法試圖減少異常點的對挖掘結果的影響,或者在挖掘過程中排除異常點。然而異常點可能隱藏著重要的信息,也許比一般的數據更有價值。因此人們開始逐漸研究異常點挖掘算法。目前異常點檢測已經開始用于信用卡欺詐、網絡入侵檢測以及金融申請和交易欺詐等領域2,近年來異常點檢測已成為數據挖掘研究中的一個熱點問題。傳統(tǒng)數據挖

11、掘主要有以下幾類:基于統(tǒng)計的方法,基于距離的方法,基于偏移方法,基于聚類方法,基于密度方法。本文從特征與異常檢測的關系出發(fā)進行研究。BP神經網絡適用于儲存和描述這種復雜的關系。但是異常檢測過程,通常數據的位數較高,在高維特征存在冗余特征干擾,以及高維特征下數據不充分的問題,因此,本文研究了BP神經網絡應用于不同情況。1.2傳統(tǒng)已有異常點算法介紹1.2.1基于統(tǒng)計學的異常點檢測算法早期的異常點檢測算法大多數是基于統(tǒng)計學實現(xiàn)的,通??梢苑譃榛诜植嫉臋z測算法和基于深度的檢測算法兩類。前者一般通過先構造一個標準概率分布來擬合數據集,然后根據概率分布來確定異常點,例如Rosner提出的單樣本多個異常檢

12、測算法ESD算法,和Yamnishi等使用混合高斯模型的異常點檢測算法。此類算法估計多維分布的概率模型的難度較大,且準確性低?;谏疃确椒ㄖ饕杂嬎銕缀螢榛A,通過計算不同層的K-D凸包將外層的對象判定為異常點。但當數據集較大,此類方法在維數上的伸縮性不好?;诮y(tǒng)計的異常點檢測方法易于理解,實現(xiàn)方便,但此方法檢測出來的異常點很可能被不同的分布模型檢測出來,解釋異常點意義時經常發(fā)生多義性。其次,此方法在很大程度上依賴于待挖掘的數據集是否滿足某種概率分布模型、模型的參數、異常點的數目等對基于統(tǒng)計的方法都有非常重要的意義,而確定這些參數通常比較困難;另外,此方法大多適合于挖掘單變量的數值型數據,然而

13、許多數據挖掘問題要求在多維空間中發(fā)現(xiàn)異常點,目前幾乎沒有多元的不一致檢驗,當沒有特定的檢驗時,或觀察到的分布不能恰當地用任何標準的分布建模時,此類方法不能確保所有的異常點被發(fā)現(xiàn)。1.2.2基于距離的異常點檢測算法基于距離的異常點檢測算法的基本思想是把數據點看作空間中的點,異常點被定義為與大多數數據距離較遠的點。通常這類異常被描述為。當且僅當數據集中至少有個數據點與點的距離大于時,數據對象點稱為異常點。這類方法與基于密度的檢測算法有很大的相似之處,不需要事先知道數據集的分布模型,對于任意分布模型均有效?;诰嚯x方法最早是由Knorr和Ng在1998年提出的。他們用DB(p,d)來表示數據集中的異

14、常點,采用不同的參數與,可以表示所有的異常點。與此 定 義 相應的算法有三種,它們是基于索引(Index-based)的算法,嵌套循環(huán)(Nest-Loop,NL)算法,基于單元或劃分(cell-based)的算法等?;谒饕姆椒ㄒ蕾嚩嗑S索引結構(R-trees,X -trees,KD -tress等)的性能。隨著維數的增加,所有的索引結構的性能迅速下降,使得算法性能不佳。NL算法可以避免構建索引結構,減少了算法的次數。以上兩方法的算法時間復雜度為,當遇到大量數據集時它們還有待改進?;趩卧姆椒ㄊ前褦祿瘎澐譃閱卧饌€單元的檢測,而非逐個對象的檢測。它的時間復雜度為,其中取決于單元的個數和

15、維數。 Knorr和Ng通過試驗證明,當時此算法優(yōu)于NL算法。相對前兩者,基于單元的算法無論是在數據量還是在維數增加時,性能都是最好的。此算法需要將數據空間分隔成彼此獨立的單元結構,經過多次選擇來判斷離群數據。對于參數的每個變化都需要調整單元結構,因此會影響了算法的結果。后來,Rastogi和Ramaswamy提出了一個新的基于距離的異常點定義,即基于距離的第最近鄰(k-th Nearest Neighbor)異常點挖掘方法。給定維空間中包含個點的數據集、參數和 (自然數),表示點和它的第最近鄰的距離。如果滿足的點q不超過n-1個,即,那么稱為異常點。如果對數據對象根據它們的距離進行排序,那么

16、前n個點就被看作異常點。他們用聚類算法首先對數據集進行聚類,然后在類中發(fā)現(xiàn)異常點。相對于異常點挖掘,異常點挖掘方法人為干預的因素要小一些。但它也有自身缺陷,就是要計算數據集中所有點的,這顯然影響到算法的效率。對低維空間的數據此方法優(yōu)于索引算法和NL算法,但對于高維數據此算法性能不高。Bay和Sc hwabacher在沿用Rastogi和Ramaswamy對于異常定義的基礎上,提出了一種基于隨機抽樣的檢測方法,它通過隨機抽樣的方法,減少了尋找k近鄰的范圍,在試驗數據上獲得了幾乎線性的計算復雜度。隨著人們對基于距離的方法的不斷研究,一些新的、較好的算法也不斷的涌現(xiàn)。代表性的算法有: 陸聲鏈等提出一

17、個判斷異常點的新定義,并設計基于抽樣近似檢測算法。使得算法性能有所提高;另外,徐雪松等利用聚類算法與第k個最近鄰的原理提出了基于距離的再聚類的異常點算法,它克服一些基于距離算法的缺點,并取得較好的試驗結果。與基于統(tǒng)計的方法相比,它有以下幾個優(yōu)點: 則可找出數據集中的異常點。(1) 在理論上可以處理任意維任意類型的數據,這就克服了基于統(tǒng)計方法僅能檢測單個屬性的缺點。(2) 不必對數據集的相關信息(數據服從哪種統(tǒng)計分布模型,數據類型特點等)足夠了解。實際上在給出了距離的度量,并對數據進行預處理后。1.2.3基于密度的算法基于密度方法是在基于距離的方法上改進而來。基于密度的異常觀點比基于距離的異常觀

18、點更貼近Hawkins的異常定義,因此能夠檢測出基于距離異常算法所不能識別的局部異常。局部異常觀點摒棄了以前所有的異常定義中非此即彼的絕對異常觀念,更加符合現(xiàn)實生活的中的應用。所謂密度是基于任意一點和P點距離小于給定半徑R的鄰域空間內的數據點的個數計算得到的。一般的對密度的定義是點到其量近鄰的平均距離,平均距離小則密度小?;诿芏鹊漠惓|c檢測,就是探測局部密度,通過不同的密度估計策略來檢測異常點。代表性算法主要有以下幾種。(1) Brito等提出相互k近鄰圖(Mutual kNearest Neighbor,簡稱MkNN)算法,其主要思想是對每個連通子圖進行檢測,如果包含多個結點就組成一個簇,

19、如果僅有一個結點,那么該結點就是異常點。該算法針對數據點的分布對各種特殊形狀都有效,但算法執(zhí)行效率不高。(2)Ville Hautamaki等提出兩種基于密度的異常點檢測算法,第一種算法思路為在kNN圖中,若頂點u成為其它點的k近鄰的次數少于給定閾值T時就被認為是異常點,另一種算法則是先對所有頂點的平均k近鄰距離進行排序,然后將平均k近鄰距離大于T點頂點視為異常點。 (3)Papadimitriou定義了多粒度偏離系數(MultiGranularity Deviation Factor,簡稱MDEF),該算法將多粒度偏離系數是所在鄰域的標準多粒度偏離系數的3倍的點判定為異常點,然而標準多粒度偏

20、離系數的計算量大,對算法的可行性有一定的限制。(4)Dongmei Ren等采用相對密度系數(Relative Density Factor,簡稱RDF),即P點的密度相對該點的鄰域密度的比值作為孤立程度的度量方法,其基本思路是首先基于RDF對位于簇中心的數據點進行剪枝,然后僅僅在剩下的較小的數據集中進行異常點檢測。該方法降低了數據集的大小,提高了算法效率,但是在剪枝過程中對于特殊分布的數據集就有可能將異常點剪掉,算法的準確性受到限制。(5)Breuning 提出了局部異常的概念及相應異常檢測方法(DBOM算法),即數據集中的每個對象的異常程度用局部異常因子LOF來衡量。也就是說是否是異常點不

21、僅僅取決于它與周圍數據的距離大小,而且與鄰域內的密度情況有關。一個對象領域內的密度可以用包含固定結點個數的域半徑指定半徑領域中包含的結點數來描述。這樣就不會像DB(p,d)異常點那樣遺漏一部分異常點。LOF算法充分體現(xiàn)了“局部”的概念,每個點都給出了一個離群程度,離群程度最強的那個幾個點被標記為異常點。文獻有關發(fā)面對LOF進行推廣:一是由原來的一個鄰域的變化為兩個(計算密度領域和比較密度領域);二是剪除非異常對象來減小計算代價;因此,使用算法比傳統(tǒng)的LOF算法有所提高。在現(xiàn)有的計算局部異常因子(LOF)算法中,把具有很高LOF值的對象作為異常點。計算LOF要耗費很大的計算量,針對此問題mali

22、k Agyemang提出了修改算法,即局部稀疏系數(LSC)算法。這種方法主要是引入局部稀疏系數(LSC)這一概念,根據每個對象的LSC值按從大到小的順序排列整個數據集并把前n個對象作為異常點。但是,此方法在實際應用中計算量亦是不小,效率有待提高。另外,岳峰等利用反向K近鄰(RKNN)這個概念提出了一個異常點檢測算法(ODRKNN),在綜合數據集和正式數據集上的實驗結構表明,該算法能有效地檢測出異常點,且算法效率高于典型的基于密度的異常點檢測算法LOF和LSC的效率。1.2.4基于偏差的異常點檢測基于偏差的異常點檢測不使用統(tǒng)計檢驗或者基于距離的度量來識別異常對象。相反,它通過檢查一組對象的主要

23、特征來識別異常點。背離這種描述的對象認為是異常點。因此,在該方法中,屬于偏差通常用于指異常點。主要有兩種技術:第一種順序地比較集合中的對象,叫順序異常技術(sequential exception technique);第二種采用OLAP數據立方體方法識別大型多維數據中的異常區(qū)域。(1) 序列異常技術:Aming和Argrawal 提出一種序列異常(sequential exception)的概念。這個算法復雜度與數據集大小呈線性關系,有優(yōu)異的計算性能。但是并沒有得到普遍的認同,這是因為序列異常在概念上有一定的缺陷,它對異常點存在的假設太過理想化,對現(xiàn)實復雜數據效果不太好。(2) OLAP數據

24、立方體技術:在大規(guī)模的多維數據中采用數據立方體來確定反常區(qū)域.如果一個立方體的單元值顯著地不同于根據統(tǒng)計模型得到的值,該單元被認為是一個異常。此方法是發(fā)現(xiàn)驅動探索的一種形式。此方法由于搜索空間很大,人工探測非常困難。第一種概念有缺陷,遺漏了不少異常點,時間復雜度與數據集大小成線性關系,適用性不高。第二種搜索空間大,人工探測困難,效率不高,只適用多維數據。1.2.5基于聚類的異常點檢測算法在聚類算法中,異常點檢測僅僅是聚類的副產品。聚類算法發(fā)展方向是優(yōu)化聚類過程,而不是提高對異常點檢測的能力,異常點檢測和聚類是兩個相對立的過程,聚類是把屬于統(tǒng)一類的數據點聚集在一起,歸為一類,而異常點檢測是把和大

25、多數數據點相異的點挖掘出來。Su等人首先提出基于聚類的異常點檢測算法,聚集的較小簇被認為是異常點,但這中方法忽略了小聚集簇和大聚集簇之間的距離,當一個小聚集簇和一個大聚集簇非常接近的時候,小聚集簇中的這些點更可能是大聚集簇的邊界點而不是異常點。模糊k均值聚類算法(FCM)常用于異常點檢測,該算法動態(tài)地分配權重給每一個數據點,權重表示該數據點和數據集中心之間的距離,通過各點的權重來判斷異常點。此類算法沒有先驗知識指導如何確定聚類中心,只能是隨機選取,優(yōu)化搜索空間較大,算法的復雜度較大。Hongyi Zhang等引為了提高模糊核聚類算法的運行效率,提出了新的模糊核聚類算法,該算法用先驗知識對參數初

26、始化。取代了用聚類中心初始化,改進了聚類的目標函數,降低了算法的時間復雜度,但該算法沒有提到如何選取核函數,對于算法模糊性的控制不好撐握。2基于屬性特征在異常點檢測中的研究傳統(tǒng)算法大都是通過數據在空間地特性來判斷檢測異常點。本文的方向是從特征出發(fā)研究。傳統(tǒng)算法從整個數據集合在空間中分布地特性出發(fā)研究,比如距離的從整個數據集空間距離進行研究,同樣密度的按數據集空間密度研究,聚類也是按數據集空間特性。而本文直接從已知部分數據維度的特征著手,即是直接從每一組數據的特征來研究。對于單屬性特征的情況,根據數據重要性調整特征(即維度)權值,并根據數據重要性調整。假設數據特征表示在每個屬性上面,獨立沒有組合

27、屬性表現(xiàn)特征地情況下,每一組數據屬性對應權值數據乘積和,表示這個數據在這組數據中全局中所占的重要性。例如檢測是否是糖尿病人的數據庫,三十歲以下這個年齡維度上病人較少,然而五十歲后這個維度病人比例就多了。映射到維度為三十歲以下這個維度地病人比較少,映射到維度為十歲以上較多。這樣我們可以添加一個權值與年齡這一項數據乘積,這個乘積必須使權值與當前數據乘積出來的數據成正比,表示年齡增長能夠體現(xiàn)在這組數據中的重要性。以便全局統(tǒng)籌決策較容易。設X為一組數據集合,可使趨向某個數值,表示這組數據某個總體特征。異常或者非異常,可以通過趨向某個數值表示特征異常,另一個方向數值表示非異常。有時候數據組合的重要性是體

28、現(xiàn)在幾個數據地組合里面,既可能體現(xiàn)在幾個屬性上面,比如說一組數組(A,B,C),可能AB組合特征不顯示異常,然而ABC組合就顯示異常,這些組合是不定地。所有在屬性權值之上需要一組對屬性不同組合特征的權值調整。圖2.1 樣例圖示如圖2.1,某個異常點可能異常特征是屬性1,可能是屬性1、屬性2地組合,對于同個數據庫不同點具有組合不確定性。由于特征地不可確定性,數值不確定,組合不確定。我們可以采用神經網絡自學習調整權值。同時根據已知數據訓練修改這些權值,使其具有識別某種組合特征的能力。使其自學習特征,自動控制調整權值及權值組合。人工神經網絡作為一種新型信息處理系統(tǒng),在信息處理方面,具有如下顯著的特點

29、:()輸入-輸出映射能力。人工神經網絡具有自學習能力,通過學習,能夠根據網絡期望輸出和網絡實際輸出之差來調整神經元間連接權值和閾值,直至使實際輸出與期望輸出之間的誤差減小到滿意的程度,這樣就實現(xiàn)了輸入到輸出的映射。人工神經網絡的輸入-輸出映射能力對于預測有特別重要的意義。(2)非線性特性。人工神經網絡具有很強的非線性,這種非線性分散在每個神經元,通過傳遞函數實現(xiàn)。利用神經網絡的非線性特性,可解決藥學研究及實驗數據處理過程中大量的非線性問題。(3)高度并行性。人工神經網絡是由許多相同的簡單處理單元并聯(lián)組合而成,具有高度并行性特性,使其對特定任務的計算變得很快,對信息的處理能力與效果驚人,因此提供

30、了一種解決高層復雜問題的能力和方法。(4)良好的容錯性與聯(lián)想記憶功能。人工神經網絡通過自身的網絡結構能夠實現(xiàn)對信息的記憶,而所記憶的信息是存儲在神經元之間的權值中。從單個權值中看不出所存儲的信息內容,因而是分布式的存儲方式,這使得網絡具有良好的容錯性,既能進行模式信息處理工作,又能進行模式識別工作。因為這些特點,神經網絡廣泛應用在聚類分析、模式識別、信號處理、系統(tǒng)辨識、優(yōu)化計算、預測控制等領域。根據神經網絡記憶分類地特性,本文設想通過這些特性學習出能夠辨別異常點非異常點數據的神經網絡,主要研究其可行性。3 BP神經網絡介紹3.1模型簡介人工神經網絡理論是80年代中后期迅速發(fā)展起來的一項前沿研究

31、領域,其應用已滲透到各個領域。BP神經網絡模型是人工神經網絡的重要模型之一,應用尤為廣泛。BP算法主要包括兩個過程,一是由學習樣本、網絡權值從輸入層隱含層輸出層逐次算出各層節(jié)點的輸出;二是反過來由計算輸出與實際輸出偏差構出的誤差函數E(),用梯度下降法調節(jié)網絡權值,即 (3.1)使誤差減小。設輸入層節(jié)點數為n,隱含層節(jié)點數為r,輸出層節(jié)點數為m,隱含層與輸入層之間的權值矩陣為,隱含層節(jié)點閥值為,輸出層與隱含層之間權值矩陣為,輸出層節(jié)點閥值為,并設有N個學習樣本其中為第P個學習樣本的輸入向量,為其實際輸出向量。其中,下文中如不指明則相同。3.2計算各層節(jié)點輸出輸入層節(jié)點,取其輸出與輸入相同,即隱

32、含層節(jié)點輸入,輸出分別為: (3.2)若令則有:,。輸出層節(jié)點輸入,輸出分別為: (3.3)若令,則有: (3.4)3.3 修正權值設 其中為第p個學習樣本產生的輸出誤差,為總誤差。由誤差函數調整權值有: 其中 其中 (3.5)其中為學習速率,一般在0,1內取值。權值修正為: (3.6) (3.7)4 異常檢測中BP神經網絡的設計4.1可微閾值單元fX0 = 1WnW2W1XnX2X1W0 = -圖 4.1可微閾值單元如圖 4.1 可微閾值單元,圖中為sigmoid單元,與感知器相似,sigmoid單元先計算它的線性組合,然后應用一個閾值到此結果。然而,對sigmoid單元,閾值輸出是輸入的連

33、續(xù)函數。更精確地講,sigmoid單元這樣計算輸出。 (4.1)其中: (4.2)經常被稱為sigmoid函數或者也可以稱為logistic函數。注意它的輸出范圍為0到1,隨輸入單調遞增。因為這個函數把非常大的書值域映射到一個小范圍的輸出。也叫擠壓函數。本算法就是想把所有整數據特征映射到一個小范圍來處理判斷。4.2單個BP網絡結構設計采用4.1為神經感知器,隱層感知器根據實際數據庫的屬性確定,一般少于等于屬性個數,輸出層一個輸出感知器。輸入隱層輸出層圖 4.2 BP結構輸入層為一組數據,全連接到隱層,隱層計算輸出受擠壓函數處理后的數值,輸出層的輸入為隱層輸出。最后輸出0到1的數值。隱層輸出層的

34、神經元,每個的都初始化為-0.05,其他權值都初始化:(double) (rand()/32767.0)*2-1);隨機數種子為系統(tǒng)時間。訓練教師信號,按具體方案處理設定。4.3BP神經網絡學習過程的基本步驟(1)定義誤差函數為期望輸出與實際輸出之差的平方和: (4.3)其中yj是輸出單元的期望輸出,是實際的輸出。(2)調節(jié)權值的公式為: (4.4) 其中為學習步長,取正參數,代表上一層神經元的輸出,而有兩種情況:1) 如果j是輸出層(第m層)的神經元,則 (4.5) 2) 如果j不在輸出層,而是隱含層的神經元,則 (4.6) 是該神經元的輸出,而求本層的必須用到上一層的,可見誤差函數的求取是

35、一個始于輸出層的反向傳播的遞歸過程。(3)將學習模式不斷輸入到輸入層,再根據輸出層產生的誤差不斷修正神經元間連結的權值和神經元的閾值,直到學習模式全部輸入或誤差達到一定的值。反向傳播算法在網絡規(guī)模較大時計算量很大,收斂較慢,而且存在局部最小的問題,根據這一問題,在具體操作時采用了加入動量項的方法: (4.7) 稱為動量因子,這樣后一次的權值更新適當考慮上一次的權值更新,可以改善收斂特性。5實驗研究5.1研究使用的數據庫介紹在嘗試各種算法方案地研究中,使用的數據庫名稱:The Insurance Company Benchmark (COIL 2000).關于保險的數據,其中包括:TICDATA

36、2000.txt,訓練數據,5822組數據,每組86個屬性,第86個為是否異常的標志變量,總地為兩類數據;TICEVAL2000,測試數據,4000組,每組為85個特征屬性;TICTGTS2000.txt,與ticeval2000對應組地結果。5.2訓練方案一實驗:把bp神經網絡相似性代替距離算法相似度量起初思路是采用兩兩相似性地訓練,然后得出一個整體數據庫屬性特征的神經網絡。采用表示X與Y兩者相似性差異。在神經網絡則表示為兩者整體特征差異大小。假設這樣能夠成功,則以后只要判斷測試數據與整體已知數據庫地整體差異大小,就可以判斷異常與否。神網絡結構大概如下:XY兩兩做差絕對值.輸入層隱層輸出層注

37、:每個方向箭頭抽象全連接圖 5.1 方案一圖隱層采用85個可微閾值單元,輸出采用一個,網絡全連接。每個單元為86個權重,初始化權值按4.2給出的方法。具體方式,對已知數據集做兩兩訓練,比如數據X和Y,做差fabsf(Xi - Yi),然后輸入一個BP神經網絡,已知數據庫中第86個屬性,(X 86,Y86)對應為(0,0)則教師信號為1,(1,1)則教師信號為1,(0,1)則為0,部分順序。實驗訓練數據庫100與4000組數據做兩兩訓練還有4000組與4000組數據訓練。經觀察驗證,測試數據與已知數據地相似性與否沒法與測試計算結果數據存在必然地比例關系。輸出結果的所有數據,在0到1區(qū)間之間,不管

38、相似不相似都集中分布在靠近0,沒有區(qū)分度,不能明顯表示相似與否地概念。然后又對測試數據與訓練數據庫,進行相似性求和,對比測試數據中異常點與非異常點與訓練數據庫地相似性和,依然沒有區(qū)分度。經多次嘗試,降低訓練次數精度,本實驗方案依然失敗。經過大量實驗,失敗原因:第一,bp處理輸出區(qū)分度不夠,難以有判斷方案。第二,訓練方案地問題,數據集合里面,缺乏異常點地訓練,bp權值能增長方向把小規(guī)模局部數據地特征給掩蓋掉了,難以輸出好地數據來區(qū)分。第三,數據特征不顯著。第四,訓練順序導致。解決方法:第一種改變訓練方案,改變判斷方案;第二種改變神經網絡結構,以便輸出數據區(qū)分度更高,便于區(qū)別異常非異常。5.3訓練

39、方案二實驗:用單個神經網絡對訓練數據庫整體特性進行學習實驗設計思路:為避免上述問題,改變訓練順序和訓練方法,單組數據輸入單個bp神經網絡。為盡量得出可區(qū)分地數據,強化局部異常點特性。實驗方案:對神經網絡BP1,先使用非異常點經行訓練,教師信號為0。然后再對異常點進行訓練,教師信號為1。(1) 對所有非異常點數據,按組分別對BP1進行訓練,教師信號都為1,(ticdata2000.txt數據庫里面大部分為正常數據)保存BP1權值;(2)加載BP1數據到BP2, 針對數據庫每個異常點,教師信號統(tǒng)一修改為0.1至0.7之間地任何一個數值,正向(數據庫地方向順序)訓練一次,再逆向訓練一次。訓練完后,保

40、存訓練權值。實驗觀察:測試數據庫獨個輸進BP1計算。整個數據庫的所有計算結果,不管異常點非異常點的計算結果,都在0到1這個區(qū)間內呈現(xiàn)正態(tài)分布。數據主要疊加在兩個教師信號數值之間,難以區(qū)分。實驗結果失敗。數據難以區(qū)分。根據實際數據,越逼近1地越小于第二次訓練地教師信號地,都為異常點。比如本次第一次訓練教師信號1,第二次異常點信號0.7,結果異常點主要集中在小于0.7和大于0.8之間,其中小于0.5和大于0.9異常點占地比率最大。正態(tài)分布地兩邊。第二次訓練把非異常數據都集中在兩次教師信號中間。數據都呈現(xiàn)正態(tài)分布,不好處理,特別是兩個教師信號數值中間區(qū)間異常點與非異常點占自己比例都是很大,難以區(qū)分。

41、解決方案,找一種訓練方法讓異常非異常點往不同方向逼近,并使其不互相影響。5.4訓練方案三實驗:多神經網絡各種形式訓練及其決策5.4.1實驗設計思路用一個神經網絡表示異常點地特征,教師信號1;用另一個異常點表示非異常點地特征,教師信號0.為了有一個好地區(qū)分度。同時測試數據可以通過進行不同神經網絡計算兩次,以便得結果進行具體判斷結果。算法結構圖如圖5.2.BP1隱層.X1X2Xn.異常與否BP2隱層 圖 5.2 訓練方案圖5.4.2實驗方案及步驟 訓練方案,把訓練集合,分成兩個集合,一個為正常數據集合,一個異常。每個訓練次數少于40次(根據實際增長速度,減少控制次數),以便使數據有一定地區(qū)分度。訓

42、練強度不要太大,以便避免無法發(fā)現(xiàn)局部異常特征地數據。訓練準備:訓練采用ticdata2000.txt地前4000組數據,前85個屬性為訓練輸入,第86個為訓練用教師信號。觀察測試采用所有ticeval2000.txt作為輸入,tictgts2000.txt為測試數據實際結果,已知正常數據3762,異常238.,通過這個可以輔助分析。流程:(1)第一組數據單個輸入BP1訓練,保存相應BP1權值,教師信號0.0,ticdata2000正常數據訓練;(2)第二組數據單個輸入BP2訓練,保存BP2權值,教師信號1.0,ticdata2000異常數據訓練;測試方法:通過測試地兩個數據庫,輸到訓練后地兩個

43、神經網絡,同時借助已知數據捕獲有用數據進行分析。觀察測試數據庫計算分布結果分布情況,并統(tǒng)計分布情況(表5.1. 表5.2.表5.3表5.4)。表 5.1BP1正常測試數據地分布輸出統(tǒng)計(tictgts2000中為0) (單位:個數)輸出范圍0.0-0.10.1-0.20.2-0.30.3-0.40.4-0.50.5-0.60.6-0.70.7-0.80.8-0.90.9-1.0小于0.2測試數據庫正常數據個數376200000000037623762表 5.2BP1異常測試數據地分布統(tǒng)計輸出(tictgts2000中為1) (單位:個數)輸出范圍0.0-0.10.1-0.20.2-0.30.3

44、-0.40.4-0.50.5-0.60.6-0.70.7-0.80.8-0.90.9-1.0大于0.2測試數據庫異常數據個數2380000000000238 5.3 BP2正常測試數據地輸出統(tǒng)計(tictgts2000中為0) (單位:個數)輸出范圍0.0-0.10.1-0.20.2-0.30.3-0.40.4-0.50.5-0.60.6-0.70.7-0.80.8-0.90.9-1.0大于0.2地數據測試異常點數據數量個數0000004726 201238238表 5.4BP2異常測試數據地輸出統(tǒng)計(tictgts2000中為1) (單位:個數)輸出范圍0.0-0.10.1-0.20.2-0

45、.30.3-0.40.4-0.50.5-0.60.6-0.70.7-0.80.8-0.90.9-1.0小0.2地數據數測試數據庫正常數據數量個數0001036541635122974037625.4.3實驗分析(單位:縱軸個數,橫軸順序表示每隔0.1地區(qū)間)注:橫軸表示0到1區(qū)間,比如1表示0到0.1計算結果分布,縱軸表示個數;系列1表示異常點計算結果,系列2表示非異常點計算結果圖5.3使用已訓練的BP1計算結果分布(單位:縱軸個數,橫軸順序表示每隔0.1地區(qū)間)注:橫軸表示0到1區(qū)間,比如1表示0到0.1計算結果分布,縱軸表示個數;系列2表示異常點計算結果,系列1表示非異常點計算結果圖5.4

46、使用已訓練的BP2計算結果分布已知BP1保存的是正常數據地特性,越逼近0越是屬于正常數據特性;BP2保存的是異常數據地特性。表5.1BP1計算,正異常數據地實際輸出,集中在0-0.1之中。無大于0.1地任何數據。剛好所有正常數據都在0.1之下。表5.2BP1計算,異常數據地實際輸出集中在0-0.1,證明異常數據特性被正常數據所包含。表5.3BP2計算,異常點數據集中在0.6-1.0之間,剛好是已知異常點個數。表5.4BP2計算,正常數據集中在1.4-1.0之間,BP2為異常點特性,證明正常數據有很大一部分特征與異常數據特征有交集。綜合上面各個表和圖5.3和圖5.4分析:從上表可以推出,對于未知檢測數據輸入,呈現(xiàn)無法區(qū)分地現(xiàn)象。圖5.3圖5.4見數據呈現(xiàn)疊加分布,即分布一樣,無法區(qū)分異常與異常與否。5.4.4實驗失敗原因分析(1)可能是數據特征疊加問題,異常與分異常具有很強地交叉特征。單位:橫軸屬性順序,縱軸屬性數值。注:訓練數據庫中的,每個點代表一個屬性值,橫軸代表屬性順序,縱軸代表屬性值.圖 5.5組正常數據單位:橫軸屬性順序,縱軸屬性數值。注:訓練數據庫中的,每個點代表一個屬性值,橫軸代表屬性順序,縱軸代表屬性值.圖5.6一組異常數據如圖 5.5圖5.6為兩組庫中地數據,大多數屬性屬于一個范圍空間,這種情況在BP屬于相似性很大地情況,很難區(qū)分開來。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論