朱旭東++梁光明
摘要:人工神經BP網絡在樣本特征的模式識別方面具有很強的分類能力,并且具有較好的泛化能力,但同時也存在不足之處,如收斂速度慢,很容易陷入局部極值,難以確定隱層數和隱層節點數等等。因此本文提出了一種基于樣本隨機均勻分布的BP網絡識別的改進算法,進行了深入的數學分析和實驗驗證。實驗結果表明,改進型算法能夠有效的改進傳統BP網絡收斂速度慢和容易陷入局部極值的問題。
關鍵詞:BP網絡 隨機均勻分布 收斂速度
中圖分類號:TP391.4 文獻標識碼:A 文章編號:1007-9416(2014)08-0127-03
1 引言
人工神經網絡是近30年來發展起來的一門十分活躍的交叉學科,是一種類似于人類神經系統的信息處理技術,可以視為一種功能強大、應用廣泛的機器學習算法,廣泛應用于實現分類、聚類、擬合、預測、壓縮等功能,在高校研究和工程實踐中均有研究[1]。其中應用最廣泛的是BP神經網絡學習算法,它是一種采用非線性轉換單元構成的前向網絡,采用了反向傳播的學習算法。BP神經網絡是前向神經網絡的核心部分,也是整個人工神經網絡體系中的精華,在實際應用中,大約80%的神經網絡模型采取了BP網絡或者其變化形式[2]。
BP網絡有較好的泛化應用能力,但同時也存在許多的不足,比如收斂速度慢,很容易陷入局部極值,難以確定隱層數和隱層節點數等等[3],特別是網絡收斂速度慢和容易陷入局部極值的問題,已經成為了BP神經網絡發展的一個瓶頸性問題,嚴重影響了神經網絡在許多領域的實際應用。文獻[5]通過比較三類波形分類時訓練樣本輸入順序對識別結果的影響,提出隨機輸入順序和部分輸入法的輸入方式為較佳。文獻[6]提出了讓一系列樣本“并行”混合學習,在一定程度上改進了學新忘舊的不足。本文是在這些改進算法基礎上,提出了類內隨機均勻分布和類間均勻分布相結合的樣本隨機均勻分布的改進型算法。
2 BP神經網絡樣本次序與收斂速度
2.1 三層神經網絡原理
文獻[1]提出三層網絡可以實現任何的非線性的輸入至輸出的映射,所以本文采用三層BP神經網絡,其結構模型如圖1所示。第一層是樣本輸入層,網絡輸入模式為,第二層是隱含層,有n個神經元,它們的輸出記為,第三層輸出層,有m個神經元,
2.2 收斂速度與樣本次序關系的數學分析
訓練收斂過程是根據樣本訓練總誤差通過反向傳播計算每個權值的調整量的過程,總誤差公式為:
根據公式(11)和(12)推出結論:學習速率(步長)和權值調整與樣本特征差別成正比,因此,網絡的收斂速度與樣本的輸入順序所帶來的樣本特征差別的大小成正比。
2.3 樣本隨機均勻分布的順序與BP網絡收斂速度的關系
由上一小節可知,BP網絡的收斂速度與樣本的輸入順序所帶來的樣本特征差別的大小成正比。樣本的隨機均勻分布正是利用了相鄰的輸入樣本和分屬于不同類別,樣本特征差別會很大,彼此之間相似度低,個體差異大,關聯性小等特點而導致誤差曲線產生局部震蕩,這些局部的震蕩使網絡的權值調整步長增大,這雖然在一定程度上延長了訓練時間,但是正是因為訓練步長的增大,才有效提高了網絡的收斂速度。隨著訓練次數的增加,BP網絡對均勻化樣本逐漸“適應”,開始快速收斂到全局最優。所以,從全局上考慮均勻分布的樣本輸入雖然是局部增加了BP網絡學習訓練過程產生的震蕩現象,但是實質上是提高了全局的收斂速度,并且有效的避免了陷入局部極值的問題。
其次,由于BP網絡的結構組成是模擬人腦的結構和功能,具有“淡忘性”,總是對最近訓練的樣本的特征記憶清晰,越是訓練間隔久遠的樣本訓練數據的記憶越是模糊,針對BP網絡和樣本輸入順序的關系,樣本隨機均勻分布的訓練能使網絡循環反復地學習記憶各不同類別的樣本特征,在短時間之內將各不同類別等量的樣本訓練了一遍,如此循環訓練直到所有類別的訓練樣本都均勻地訓練完畢,因此加深了BP網絡對樣本的識別記憶,提高了網絡收斂速度且不易陷入局部極值。
所以,采用隨機均勻分布的樣本輸入順序比傳統的樣本序號順序將更能有效地提高BP神經網絡的收斂速度。
3 基于樣本隨機均勻分布的BP網絡改進型算法
第二節從數學公式角度重點推導了樣本順序和網絡收斂速度的關系,證明了傳統的BP神經網絡算法對樣本的輸入順序有一定的敏感性,不同的樣本輸入順序在一定程度上影響著BP神經網絡的性能。因為傳統的BP網絡的樣本輸入是按照樣本序號的排列順序,樣本在每次迭代訓練時都是同樣的順序進入網絡訓練,誤差大的樣本每次迭代訓練誤差都很大,這也是BP神經網絡訓練收斂速度慢的一個重要原因。為此,基于網絡對輸入樣本的敏感性,提出了一種根據樣本的輸出類型將樣本輸入順序隨機均勻分布的改進算法,即對訓練集進行重新優化組合,使每次迭代的訓練樣本輸入次序呈隨機均勻分布,以此來增大樣本之間的特征差,提高網絡收斂速度。
3.1 樣本空間定義
首先,假設樣本空間的訓練樣本各類別中的樣本數量相等,根據已知的樣本輸出類型對樣本集合進行聚類預處理。
假設樣本的輸出類型為Y,分別為y1,y2,…yM,即。
3.2 樣本隨機均勻空間分布
這個過程包括兩個步驟,分別是類內的隨機均勻分布抽樣和類間的均勻分布。兩個步驟依次迭代循環,直到把樣本集所有的樣本都均勻重組完畢。
3.2.1 類內隨機均勻分布
首先對原始樣本集進行聚類分析,可采用歐式距離測度法或者相似度測度法,本文采用距離測度中的歐氏距離法,公式如下
由于在yM類中隨機抽取單個樣本的概率是均等的,與類內樣本原有的排列順序和位置無關,實現了類內樣本的隨機等概率的均勻分布取樣。
3.2.2 類間均勻分布endprint
按照類別抽取樣本后,再以類別為單位按照不同類別的順序將抽樣樣本再一次均勻的排列分布,實現抽樣樣本按照不同類別均勻分布,樣本不同類別的均勻分布可用均勻分布函數表示:
總之,經過類內和類間的兩次隨機均勻分布,既實現了類內樣本的隨機均勻等概率抽樣,打亂了類內的原有的按照樣本序號的排列順序,又通過不同的類與類之間的均勻排列實現了不同類別的均勻分布。兩個步驟依次循環迭代,直到把樣本集所有的樣本都均勻重組完畢,就得到期望的隨機均勻分布的樣本訓練空間集。如下所示
由于均勻分布的相鄰樣本分屬于不同的類別,具有個體差異大,相似度低,關聯性小等優點,有利于BP神經網絡對樣本的循環辨別記憶,有效改進了傳統BP神經網絡收斂速度慢,易陷入局部極值的問題。
4 實驗仿真
基于細胞識別平臺,進行了實驗仿真,利用傳統BP神經網絡算法和改進的BP神經網絡算法對白細胞、紅細胞、管型細胞三類細胞進行分類,每類細胞選50個訓練樣本,每個樣本提取10維特征。
本文選用三層的BP神經網絡,只包含一個隱含層,輸入層節點數根據樣本的輸入特征的維數選擇為10,隱含層節點數為12,輸出層根據分類類別節點數為3,由此可以確定三層的BP神經網絡結構。
仿真如圖2所示。
通過圖2可以看出,改進的BP神經網絡算法比傳統的BP算法收斂速度收斂速度快,有效避免了陷入局部極值問題,基于樣本隨機均勻分布的BP神經網絡改進算法有效地提高了bp神經網絡的識別性能。
5 結語
本文提出的基于樣本隨機均勻分布的BP神經網絡改進算法針對傳統的BP算法存在的問題,增加了訓練集重組優化,把訓練樣本先聚類,再分別對樣本空間進行類內和類間的隨機均勻分布重組,打亂傳統算法的按照樣本序號的順序輸入,在保留傳統算法優點的基礎上,有效地改進了傳統算法的收斂速度慢和易陷入局部極值的問題,實驗結果證明,該改進型算法有效地提高了BP神經網絡識別性能。
參考文獻
[1]孫即祥.模式識別(第二版)高等教育出版社,2008年10月.
[2]張德豐.MATLAB神經網絡應用設計.2001年1月.
[3]唐磊.BP網絡結構確定算法的研究及仿真.2008年5月.
[4]彭漢川,甘強,韋任.提高前饋神經網絡推廣能力的若干實際方法[[J].計算機工程與應用,1999,(1):47-48.
[5]胡澤,吳寧,陳偉.神經網絡BP算法用于三類基本波形分類時訓練樣本輸入方式的研究.西南石油學院學報,1994年8月.
[6]蔣宗禮,王義和,畢克濱.BP算法研究.哈爾濱工業大學學報,1993年4月.endprint
按照類別抽取樣本后,再以類別為單位按照不同類別的順序將抽樣樣本再一次均勻的排列分布,實現抽樣樣本按照不同類別均勻分布,樣本不同類別的均勻分布可用均勻分布函數表示:
總之,經過類內和類間的兩次隨機均勻分布,既實現了類內樣本的隨機均勻等概率抽樣,打亂了類內的原有的按照樣本序號的排列順序,又通過不同的類與類之間的均勻排列實現了不同類別的均勻分布。兩個步驟依次循環迭代,直到把樣本集所有的樣本都均勻重組完畢,就得到期望的隨機均勻分布的樣本訓練空間集。如下所示
由于均勻分布的相鄰樣本分屬于不同的類別,具有個體差異大,相似度低,關聯性小等優點,有利于BP神經網絡對樣本的循環辨別記憶,有效改進了傳統BP神經網絡收斂速度慢,易陷入局部極值的問題。
4 實驗仿真
基于細胞識別平臺,進行了實驗仿真,利用傳統BP神經網絡算法和改進的BP神經網絡算法對白細胞、紅細胞、管型細胞三類細胞進行分類,每類細胞選50個訓練樣本,每個樣本提取10維特征。
本文選用三層的BP神經網絡,只包含一個隱含層,輸入層節點數根據樣本的輸入特征的維數選擇為10,隱含層節點數為12,輸出層根據分類類別節點數為3,由此可以確定三層的BP神經網絡結構。
仿真如圖2所示。
通過圖2可以看出,改進的BP神經網絡算法比傳統的BP算法收斂速度收斂速度快,有效避免了陷入局部極值問題,基于樣本隨機均勻分布的BP神經網絡改進算法有效地提高了bp神經網絡的識別性能。
5 結語
本文提出的基于樣本隨機均勻分布的BP神經網絡改進算法針對傳統的BP算法存在的問題,增加了訓練集重組優化,把訓練樣本先聚類,再分別對樣本空間進行類內和類間的隨機均勻分布重組,打亂傳統算法的按照樣本序號的順序輸入,在保留傳統算法優點的基礎上,有效地改進了傳統算法的收斂速度慢和易陷入局部極值的問題,實驗結果證明,該改進型算法有效地提高了BP神經網絡識別性能。
參考文獻
[1]孫即祥.模式識別(第二版)高等教育出版社,2008年10月.
[2]張德豐.MATLAB神經網絡應用設計.2001年1月.
[3]唐磊.BP網絡結構確定算法的研究及仿真.2008年5月.
[4]彭漢川,甘強,韋任.提高前饋神經網絡推廣能力的若干實際方法[[J].計算機工程與應用,1999,(1):47-48.
[5]胡澤,吳寧,陳偉.神經網絡BP算法用于三類基本波形分類時訓練樣本輸入方式的研究.西南石油學院學報,1994年8月.
[6]蔣宗禮,王義和,畢克濱.BP算法研究.哈爾濱工業大學學報,1993年4月.endprint
按照類別抽取樣本后,再以類別為單位按照不同類別的順序將抽樣樣本再一次均勻的排列分布,實現抽樣樣本按照不同類別均勻分布,樣本不同類別的均勻分布可用均勻分布函數表示:
總之,經過類內和類間的兩次隨機均勻分布,既實現了類內樣本的隨機均勻等概率抽樣,打亂了類內的原有的按照樣本序號的排列順序,又通過不同的類與類之間的均勻排列實現了不同類別的均勻分布。兩個步驟依次循環迭代,直到把樣本集所有的樣本都均勻重組完畢,就得到期望的隨機均勻分布的樣本訓練空間集。如下所示
由于均勻分布的相鄰樣本分屬于不同的類別,具有個體差異大,相似度低,關聯性小等優點,有利于BP神經網絡對樣本的循環辨別記憶,有效改進了傳統BP神經網絡收斂速度慢,易陷入局部極值的問題。
4 實驗仿真
基于細胞識別平臺,進行了實驗仿真,利用傳統BP神經網絡算法和改進的BP神經網絡算法對白細胞、紅細胞、管型細胞三類細胞進行分類,每類細胞選50個訓練樣本,每個樣本提取10維特征。
本文選用三層的BP神經網絡,只包含一個隱含層,輸入層節點數根據樣本的輸入特征的維數選擇為10,隱含層節點數為12,輸出層根據分類類別節點數為3,由此可以確定三層的BP神經網絡結構。
仿真如圖2所示。
通過圖2可以看出,改進的BP神經網絡算法比傳統的BP算法收斂速度收斂速度快,有效避免了陷入局部極值問題,基于樣本隨機均勻分布的BP神經網絡改進算法有效地提高了bp神經網絡的識別性能。
5 結語
本文提出的基于樣本隨機均勻分布的BP神經網絡改進算法針對傳統的BP算法存在的問題,增加了訓練集重組優化,把訓練樣本先聚類,再分別對樣本空間進行類內和類間的隨機均勻分布重組,打亂傳統算法的按照樣本序號的順序輸入,在保留傳統算法優點的基礎上,有效地改進了傳統算法的收斂速度慢和易陷入局部極值的問題,實驗結果證明,該改進型算法有效地提高了BP神經網絡識別性能。
參考文獻
[1]孫即祥.模式識別(第二版)高等教育出版社,2008年10月.
[2]張德豐.MATLAB神經網絡應用設計.2001年1月.
[3]唐磊.BP網絡結構確定算法的研究及仿真.2008年5月.
[4]彭漢川,甘強,韋任.提高前饋神經網絡推廣能力的若干實際方法[[J].計算機工程與應用,1999,(1):47-48.
[5]胡澤,吳寧,陳偉.神經網絡BP算法用于三類基本波形分類時訓練樣本輸入方式的研究.西南石油學院學報,1994年8月.
[6]蔣宗禮,王義和,畢克濱.BP算法研究.哈爾濱工業大學學報,1993年4月.endprint