?

基于VB的RBF神經網絡編程及驗證

2023-12-18 10:42陳鵬
計算機時代 2023年11期
關鍵詞:神經網絡

陳鵬

關鍵詞:RBF 神經網絡;VB;函數逼近;BP 神經網絡

中圖分類號:TP311.1 文獻標識碼:A 文章編號:1006-8228(2023)11-76-03

0 引言

神經網絡的高級編程語言包括MATLAB 以及Python 等。使用這些語言編程,有時候并不需要真正掌握神經網絡的算法,因為這些語言已包括了很多模塊供用戶使用。使用此類高級編程語言的缺點是,應用程序常常需要安裝相關軟件包,因此占用較大的計算機存儲空間。

我們需要從基礎編程軟件入手詳細了解神經網絡編程的各個環節,這樣有助于具體的應用開發并為軟件設計帶來靈活性。本文從常見的基礎編程軟件VB 6.0 開發RBF(徑向基函數)神經網絡[1-2]軟件的基本原理出發,簡要介紹編程過程,并針對RBF 神經網絡和BP 神經網絡在函數逼近方面的性能等進行分析,比較和適當總結。目前國內已有使用VB 進行BP(反向誤差傳播)神經網絡編程成功的先例[3]。通過查詢國內論文發現,幾乎沒有使用VB 語言來編寫RBF 神經網絡的例子,這也是本文選題的驅動力之一。

1 RBF 神經網絡的基本原理

RBF 神經網絡是一個三層的具有任意逼近非線性能力的神經網絡,其包括輸入層、隱含層和輸出層。其中,輸入層到隱含層為非線性,而隱含層到輸出層為線性即徑向基函數的輸出與權值乘積求和,必要時還加上偏置值。RBF 神經網絡的徑向基函數中心、寬度、隱層數、權值可調。常見的徑向基函數為高斯函數,如式⑴所示:

2 RBF 神經網絡的編程

本文論述開發的RBF神經網絡軟件名稱為RBFKit,界面如圖1 所示。

用戶首先需要在文本文件上定義輸入輸出的樣本組數和待測試數據的組數。同時用戶還必須定義網絡的輸入層節點數、隱含層節點數和輸出層節點數。另外,用戶還要定義循環次數和精度要求以及在軟件界面定義訓練的學習率和動量因子參數。在數據格式正確的情況下, 由用戶決定輸入樣本數據的先后次序并存于輸入文本文件。

程序導入數據后歸一化數據并按照隱含層節點數的大小隨機從輸入樣本中選取若干數據點作為基函數中心初始值,然后按照k-means 聚類法[2,4-5]計算基函數的真正中心點的值,當中心點的選取值在可接受的很小的誤差范圍內時就確定為最終值。然后,程序計算基函數的寬度。中心點和寬度確定后就可以計算基函數輸出值。因為期望值在輸入文本文件中已經給出;而基函數的輸出值乘以相應的權值并求和就是相應輸出層節點的反歸一化前的預測值了,這樣就可以計算兩者的誤差。從而可以用權值更新法[2-3]來計算隱含層到輸出層的權值。必須記住,最終的預測值要反歸一化。當使用給定的學習率和動量因子進行學習滿足循環次數或精度要求后訓練就結束,相應的網絡參數保存于生成的項目文件上。至此,用戶可以在需要時手動改變項目文件中的測試數據的個數參數然后按格式提供相應的測試數據并按下“預測”就可生成相應的預測值文本文件。生成的預測值采用特定的數據格式保存方便用戶同實際值進行比較并用EXCEL 軟件繪制曲線圖。

3 RBF 神經網絡與BP 神經網絡函數逼近的比較示例

舉一個函數逼近的例子如下:

取48組原始數據作為訓練數據運行軟件學習并用這48 組數據中的輸入樣本數據作為測試數據來獲得預測值進行函數逼近,從圖2 可以發現滿足精度條件的RBF 神經網絡在此示例上給出了很好的函數逼近效果,相比之下比單隱含層BP 在相同精度要求0.01,相同的學習率0.01 和相同的動量因子0.5 情況下的函數逼近效果更好;而且,本示例的軟件運行循環次數方面RBF 神經網絡運行只用了2477 次,而BP 神經網絡(輸出層激勵函數為ReLU 類型)則用了34798 次。

再舉另外一個例子,如式(4)所示的函數的逼近,取125 組原始數據作為訓練數據并運行軟件學習然后用這125 組數據中的輸入樣本數據作為測試數據來獲得預測值,逼近曲線如圖3 所示,其中RBF 神經網絡和BP 神經網絡的學習率均采用0.008、動量因子采用0.5,精度要求為0.02。RBF 神經網絡迭代了439 次后結束;BP 神經網絡則迭代了45992 次后結束。

通過上述軟件的良好運行和兩個函數逼近示例獲得的良好效果,證明了本RBF 神經網絡軟件編程的正確性和可用性。示例說明RBF 神經網絡具有比BP神經網絡更好的泛化能力,函數逼近效果更好,達到同等精度需要的循環次數更少。但是必須指出的是,要想達到同樣的精度要求時RBF 神經網絡通常需要比BP 神經網絡更復雜的結構。比如圖2 的函數逼近RBF 神經網絡用了48 個隱含層節點,而BP 神經網絡只用了8 個隱含層節點。

4 結束語

本文闡述了通過VB 6.0 軟件實現RBF 神經網絡的編程;同時,通過和BP 神經網絡在函數逼近的比較示例驗證了該開發的RBF 神經網絡軟件的正確性。該項研究較好地充實了作者編寫的神經網絡軟件工具箱套件,包括ART2Kit、BPKit、CPNKit、RBFKit和SOMKit 共五種軟件。本文論述開發的軟件在深度學習軟件的應用條件受限時(比如數據較少)仍有較好的選擇應用價值,可具體用于預測、分類或函數逼近的場合。

猜你喜歡
神經網絡
神經網絡抑制無線通信干擾探究
基于神經網絡的拉矯機控制模型建立
復數神經網絡在基于WiFi的室內LBS應用
基于支持向量機回歸和RBF神經網絡的PID整定
基于神經網絡分數階控制的逆變電源
基于GA-BP神經網絡的光伏陣列MPPT研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合