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