南昌航空大學信息工程學院 羅艷芬
神經網絡泛化能力是衡量神經網絡性能優劣的一個重要方面,研究了幾種提高神經網絡泛化能力的方法,并且利用MATLAB仿真驗證了各種方法的有效性。
泛化能力是指經訓練(學習)后的預測模型對未在訓練集中出現的樣本做出正確反映的能力,學習不是簡單地記憶已經學過的輸入,而是通過對有限個訓練樣本的學習,學到隱含在樣本中的有關環境本身的內在規律性。盡管神經網絡可以具備泛化能力,但大量的設計者在應用神經網絡時都發現,獲得好的泛化能力并非易事,它涉及的方面非常復雜。因此對于如何提高神經網絡泛化能力,研究者們展開了大量的研究。
用于訓練多層感知器的傳統方法在統計學上可以解釋為一種最大似然估計的變形實現,其思想是找到一組權值來盡可能地擬合訓練數據。

圖1 -1 無貝葉斯正則化訓練結果

圖1 -2 貝葉斯正則化訓練結果
在貝葉斯正則化模式中,假設神經網絡的權值和偏置滿足特定的概率分布,用概率規則來實現學習和推理,對這些參數進行估計。貝葉斯定理的計算學習機制是將先驗分布中的期望值與樣本均值按各自的精度進行加權平均,精度越高者其權值越大。由于貝葉斯方法可以綜合先驗信息和后驗信息,既可避免只使用先驗信息可能帶來的主觀偏見和缺乏樣本信息時的大量盲目搜索與計算,又可避免只使用后驗信息帶來的噪聲影響。
以一個帶噪聲的正弦信號擬合仿真為例,在網絡訓練過程中不用貝葉斯正則化方法和應用貝葉斯正則化方法得到的擬合效果如圖1-1、 圖1-2所示。圖中虛線為實際的帶噪正弦信號,實線為神經網絡擬合信號。顯然,應用貝葉斯正則化方法得到的擬合效果更好。
權值衰減是在網絡訓練誤差函數中加入對權值懲罰項。作用就是懲罰大的權值,使權值收斂到絕對值較小的范圍中去。另外,當訓練集容量較小時,神經網絡模型的泛化能力受衰減常數的影響較大。通常情況下,均方誤差函數表達式為:

權值衰減是在誤差函數中加入對權值懲罰項,即:

以普通均方誤差函數訓練神經網絡得到的仿真結果為例,仿真結果如圖2-1所示:

圖2 -1 普通均方誤差函數訓練結果
若在均方誤差函數中加入權值衰減項,訓練神經網絡得到的仿真結果如圖2-2所示。

圖2 -2 權值衰減的均方誤差函數訓練結果
由仿真結果可以看出,經過權值衰減,網絡訓練誤差大大降低,網絡輸出和目標值逼近效果更好。
神經網絡集成是指對同一問題用多個神經網絡進行學習,集成在某一輸入下的輸出由構成集合的各個網絡的輸出共同決定。神經網絡集成提出的主要目的是為了解決單個網絡存在的問題。為了解決由于噪聲數據或訓練集很小引起的泛化問題,提高神經網絡的泛化能力,一種有效的方法是訓練多個神經網絡并且對它們的輸出取均值。
例如,訓練10個神經網絡,得到10個訓練均方誤差值,對10個神經網絡的輸出取平均值,并利用輸出平均值計算網絡訓練均方誤差,并分別進行比較。具體實現過程如下:

每個神經網絡的訓練均方誤差如下所示:

對各個神經網絡輸出取平均值,并以此作為神經網絡輸出計算均方誤差平均值。

運行結果為:

很顯然,用輸出平均值計算的均方誤差比每個神經網絡的均方誤差值都小,如果增加訓練數據,仿真結果會更好。
本文針對貝葉斯統計正則化方法,權值衰減方法以及神經網絡集成方法進行研究,并利用MATLAB仿真驗證各種方法提高神經網絡泛化能力的效果。仿真結果表明,通過應用這些方法,神經網絡訓練誤差大大降低,泛化能力大大提高。