南書坡+郭戰(zhàn)杰+程聰+韓利華
摘要:該文針對競爭型神經網絡在對訓練樣本沒有明顯的分類特征時不能準確分類的問題,在已有的分類算法基礎上,提出了一種改進的分類算法。該算法在競爭型神經網絡學習過程,通過對訓練樣本引入特征向量的方法,進一步改善了分類效果。實驗結果表明,該算法在分類過程中表現(xiàn)了良好的效果,不僅降低了訓練誤差,還具有很好的分類準確率,表現(xiàn)出很好的學習效率,通過對比說明該算法的有效性和優(yōu)越性。
關鍵詞:競爭型神經網絡;分類;訓練誤差;特征向量
文本分類數(shù)是據挖掘的一個重要研究領域,國內外的眾多學者已經進行了比較深入的研究,取得了不少研究成果。常見的文本分類技術有最小距離方法、樸素貝葉斯方法、KNN方法、支持向量機方法(SVM)、模糊c均值(FCM)算法和等,現(xiàn)在有很多學者把神經網絡的方法應用到分類算法中,在這些分類算法中,神經網絡的文本分類更具有優(yōu)越的性能。袁飛云利用SOINN自動產生聚類數(shù)目和保留數(shù)據拓撲結構的兩項能力,尋找更有效的單詞和設計更有效的編碼方式,提出了基于自組織增量神經網絡(SOINN)的碼書產生方法;申明金利用自組織特征映射神經網絡(SOM)以無監(jiān)督方式進行網絡訓練,具有自組織功能的特點,利用自組織特征映射神經網絡對不同產地金銀花進行分類;彭俊等將不同空氣質量等級下的各空氣指標作為原型模式,通過輸入樣本模式,利用競爭網絡的競爭特點得到勝者,以此得出空氣質量等級;郝曉麗等通過篩選基于輪廓系數(shù)的優(yōu)秀樣木群,來尋找最佳初始聚類中心,并將該改進算法用于構造徑向基函數(shù)神經網絡分類器和快速有效地確定隱含層節(jié)點徑向基函數(shù)中心及函數(shù)的寬度,從而提高了分類精度;孫進進利用神經網絡技術中的自組織映射SOM)網絡對我國主要機場進行聚類分析評價,得出我國主要機場分為8層的主要結論;劉艷杰在非監(jiān)督的自組織映射神經網絡的基礎上進行了一定的改進,構建了有監(jiān)督的神經網絡分類模型;李楊將神經網絡與群體智能算法、云計算相結合的方法,實現(xiàn)對不同規(guī)模農業(yè)數(shù)據集的分類,提出基于神經網絡分類器的設計與優(yōu)化方法。而競爭型神經網絡的自組織、自適應學習能力,進一步拓寬了神經網絡在模式分類和識別方面的應用。競爭型神經網絡依靠神經元之間的興奮、協(xié)調、抑制或競爭的作用來進行信息處理,可在訓練中無監(jiān)督自組織學習,通過學習提取數(shù)據中的重要特征或內在規(guī)律,進而實現(xiàn)分類分析的功能。
1競爭型神經網絡的描述
1.1競爭型網絡的結構
競爭學習網絡的結構如圖1所示,該網絡具有R維輸入和s個輸出,由前饋層和競爭層組成。圖中的llndlstll模塊表示對輸入矢量P和神經元權值矢量w之間的距離取負。該網絡的輸出層是競爭層,圖中的模塊c表示競爭傳遞函數(shù),其輸出矢量由競爭層各神經元的輸出組成,這些輸出指明了原型模式與輸入向量的相互關系。競爭過后只有一個神經元有非零輸出,獲勝的神經元指明輸入屬于哪類(每個原型向量代表一個類)。
1.2競爭型神經網絡的原理
競爭型神經網絡在結構上,既不同于階層型的各層神經元間非單向連接,也不同于全連接型。它有層次界限,一般是由輸入層和競爭層構成的兩層網絡。兩層之間各神經元實現(xiàn)雙向全連接,沒有隱含層,有時競爭層各神經元之間還存在橫向連接。在學習方法上,不是以網絡的誤差或能量函數(shù)的單調遞減作為算法準則。而是依靠神經元之間的興奮、協(xié)調、抑制、競爭的作用來進行信息處理,指導網絡的學習與工作。
網絡在剛開始建立的時候,輸入層和輸出層之間的連接權值已經開始了,如果與競爭層某一神經元對應的矢量子類別屬于線性層某個神經元所對應的目標類別,則這兩個神經元的連接權值為1,否則二者的連接權值為0,這樣的權值矩陣就實現(xiàn)了子類別到目標類別的合并。在建立競爭型網絡時,每類數(shù)據占數(shù)據總數(shù)的百分比是已知的,這也是競爭層神經元歸并到線性層的各個輸出時所依據的比例。
1.3存在的問題
競爭型神經網絡按Kohonen學習規(guī)則對獲勝神經元的權值進行調整,通過輸入向量進行神經元權值的調整,因此在模式識別的應用中是很有用的。通過學習,那些最靠近輸入向量的神經元權值向量得到修正,使之更靠近輸入向量,其結果是獲勝的神經元在下一次相似的輸入向量出現(xiàn)時,獲勝的可能性更大;而對于那些與輸入向量相差很遠的神經元權值向量,獲勝的可能性將變得很小。這樣,當經過越來越多的訓練樣本學習后,每一個網絡層中的神經元權值向量很快被調整為最接近某一類輸入向量的值。最終的結果是,如果神經元的數(shù)量足夠多,則具有相似輸入向量的各類模式作為輸入向量時,其對應的神經元輸出為1;而對于其他模式的輸入向量,其對應的神經元輸出為0。所以,競爭型神經網絡具有對輸入向量進行學習分類的能力。
例子:以競爭型神經網絡為工具,對下面的數(shù)據進行分類:
運用Matlab編程實現(xiàn),發(fā)現(xiàn)網絡的訓練誤差能達到要求,最后也能實現(xiàn)很好的分類效果。運行結果如圖2所示。
有運行結果可以看到,訓練誤差達到要求,分類結果也很合理。
但是在實際應用過程中,我們發(fā)現(xiàn),當對于訓練數(shù)據的數(shù)據特征十分明顯的時候,本文設計的網絡模型可以對訓練的數(shù)據進行合理有效的分類,但是,當訓練數(shù)據的特征不太明顯區(qū)分的時候,本文設計的訓練模型的分類效果就不是太有優(yōu)勢,所得到的分類結果就不能達到我們預期的效果。
我們利用競爭型神經網絡對數(shù)據樣本進行分類,其中參數(shù)設置為學習效率0.1,網絡競爭層有4個神經元,運用Matlab編程實現(xiàn),發(fā)現(xiàn)結果如下:
例子:我們利用本文設計的網絡分類模型進行對數(shù)據分類處理:進行分類處理數(shù)據的樣本數(shù)據如下所示:
通過運行學習發(fā)現(xiàn)訓練誤差較大,分類結果也達不到要求。
2改進的方法
2.1問題分析
通過比較分析我們發(fā)現(xiàn),上面的數(shù)據樣本沒有明顯的分類特征,所以,以競爭型神經網絡進行分類,其輸入向量僅僅依靠數(shù)據本身的固有的特征時不夠的,但我們可以把數(shù)據樣本看作是二維數(shù)據,假設同符號的特征值為1,不同符號的特征值為2,于是一個新的訓練樣本就確定了,即成為三維數(shù)據模型。
2.2改進的算法
第一步:給定數(shù)據集X=[X1,X2……,Xi),對網絡進行初始化,隨機給定網絡競爭層與輸入層間的初始權向量wj(=wj[w1j w2j…wnj];j=1,2,…,m xp;wijE(0,1));給定輸出層與競爭層間的連接權值wjo=1/m,o=1,2,…P (P表示第二隱層和輸出層的連接權矢量)。
第二步:創(chuàng)建競爭型神經網絡,首先根據給定的問題確定訓練樣本的輸入向量,當學習模式樣本本身雜亂無章,沒有明顯的分類特征,網絡對輸入模式的響應呈現(xiàn)震蕩的現(xiàn)象,不足以區(qū)分各類模式時,在創(chuàng)建網絡之前,提取訓練樣本的特征值,設置輸入樣本的特征向量,然后再創(chuàng)建網絡模型,并根據模式分類數(shù)確定神經元的數(shù)目,最后任取一輸入模式Ak。
第三步:計算競爭層各神經元的輸入值si:
第四步:對本文建立的網絡進行訓練學習,網絡訓練最大次數(shù)的初始值設置為230,當訓練誤差大于預期的設定值的時候,可以嘗試增加訓練的最大次數(shù),按“勝者為王”(Winner Takes All)原則,將訓練網絡中獲得最接近預期值的神經元作為勝者,輸出狀態(tài)設置為1,沒有獲勝的神經元的輸出狀態(tài)設置為0。如果有兩個以上神經元的sj相同,取左邊的為獲勝單元。
第五步:獲勝神經元連接權修正如下:
第六步:另選一學習模式,返回步驟3,直至所有學習模式提供一遍。
第七步:如果不滿足要求,則返回到最初的訓練狀態(tài),反復訓練直至訓練網絡中神經元獲得最接近預期值,最終的訓練結束。
第八步:根據測試樣本利用Matlab編寫程序進行仿真實驗。
通過實例訓練,我們發(fā)現(xiàn)本算法和改進前的算法相比,改進后的算法訓練誤差卻大大降低,已經達到了訓練的精度要求,同時也很好地實現(xiàn)了分類要求。
3結束語
競爭型神經網絡的輸出層神經元能夠通過競爭以確定勝者,勝者將指出哪一種原型模式最能代表輸入模式。利用競爭神經網絡可以自適應分類的這一特點,本文提出了一種改進的分類算法,該算法在競爭型神經網絡學習過程中對訓練樣本引入特征向量的方法,解決了競爭型神經網絡在對學習模式樣本本身雜亂無章,沒有明顯的分類特征時不能準確分類的問題,實驗結果表明該方法具有較好的分類效果。