新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > LabVIEW中BP神經(jīng)網(wǎng)絡(luò)的實現(xiàn)及應(yīng)用

LabVIEW中BP神經(jīng)網(wǎng)絡(luò)的實現(xiàn)及應(yīng)用

作者: 時間:2009-07-14 來源:網(wǎng)絡(luò) 收藏
0 引 言
是美國NI公司開發(fā)的高效圖形化虛擬儀器開發(fā)平臺,它的圖形化編程具有直觀、簡便、快速、易于開發(fā)和維護等優(yōu)點,在虛擬儀器設(shè)計和測控系統(tǒng)開發(fā)等相關(guān)領(lǐng)域得到了日益廣泛的應(yīng)用,它無需任何文本程序代碼,而是把復(fù)雜、繁瑣的語言編程簡化成圖形,用線條把各種圖形連接起來。屬于前饋神經(jīng)網(wǎng)絡(luò),它廣泛應(yīng)用函數(shù)逼近、模式識別、分類和數(shù)據(jù)壓縮等領(lǐng)域,若將神經(jīng)網(wǎng)絡(luò)與虛擬儀器有機結(jié)合,則可以為提高虛擬儀器測控系統(tǒng)的性能提供重要的依據(jù)。

1 學(xué)習(xí)算法
BP模型是一種應(yīng)用最廣泛的多層前向拓撲結(jié)構(gòu),以三層作為理論依據(jù)進行編程,它由輸入層、隱層和輸出層構(gòu)成。設(shè)輸入層神經(jīng)元個數(shù)為I,隱層神經(jīng)元個數(shù)為J,輸出層神經(jīng)元個數(shù)為K,學(xué)習(xí)樣本有N個(x,Y,)向量,表示為:輸入向量X{x1,x2,…,xI},輸出向量l,{Y1,Y2,…,Yx),理想輸出向量為T{tl,t2,…,tK}。
(1)輸入層節(jié)點i,其輸出等于xi(i=1,2,…,I,將控制變量值傳輸?shù)诫[含層,則隱層第j個神經(jīng)元的輸入:

本文引用地址:http://www.butianyuan.cn/article/188831.htm


其中:Wji是隱層第J個神經(jīng)元到輸入層第i個神經(jīng)元的連接權(quán)值。
(2)隱層第J個神經(jīng)元的輸出:


(3)神經(jīng)網(wǎng)絡(luò)輸出層,第k個神經(jīng)元的輸入為:


其中:Vkj是輸出層第k個神經(jīng)元到隱層第j個神經(jīng)元的連接權(quán)值。
(4)神經(jīng)網(wǎng)絡(luò)輸出層,第志個神經(jīng)元的輸出為:


(5)設(shè)定網(wǎng)絡(luò)誤差函數(shù)E:


(6)輸出層到隱層的連接權(quán)值調(diào)整量△Vkj:


(7)隱層到輸入層的連接權(quán)值調(diào)整量wji:


2 用LabVlEW實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的兩種方法
用LabVIEw實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的兩種方法為:
(1)由于Matlab具有強大的數(shù)學(xué)運算能力以及在測控領(lǐng)域的廣泛應(yīng)用。在中提供了MatlabScript節(jié)點,用戶可在節(jié)點中編輯Matlab程序,并在Lab―VIEW中運行;也可以在程序運行時直接調(diào)用已經(jīng)存在的Matlab程序,如使用節(jié)點則必須在系統(tǒng)中安裝:Matlab5以上版本,在寫入Matlab節(jié)點前要將程序先調(diào)試通過,并確保其中變量的數(shù)據(jù)類型匹配。
(2)由于LabVIEW的圖形程序是獨立于運行平臺的,而且是一種數(shù)據(jù)驅(qū)動的語言,可以方便地實現(xiàn)算法且易修改,結(jié)合其SubVI技術(shù)可以增加程序的利用率,因此可以采用圖形編程的方法實現(xiàn)前向網(wǎng)絡(luò)的算法。
2.1 利用Matlab Scriipt節(jié)點實現(xiàn)
在此以對一個非線性函數(shù)的逼近作為例子來說明實現(xiàn)流程,其中輸入矢量p=[一1:O.05:1];目標(biāo)矢量f―sin(2。pi*p)+0.1randn(size(p))。利用.Mat―lab Script節(jié)點實現(xiàn)BP算法的過程如下:
(1)新建一個LabVIEw vi,在框圖程序中添加Matlab Script節(jié)點。
(2)在節(jié)點內(nèi)添加Matlab的動量BP算法實現(xiàn)代碼,并分別在節(jié)點左右邊框分別添加對應(yīng)的輸入/輸出參數(shù),如圖1所示。
(3)在vi的前面板添加相應(yīng)的控件,設(shè)置輸入?yún)?shù),連接輸出控件。執(zhí)行程序,結(jié)果如圖2、圖3所示。

此方法能夠直接利用Matlab強大的神經(jīng)網(wǎng)絡(luò)工具箱,程序運行時會自動調(diào)用系統(tǒng)中已安裝的Matlab進行計算,不用進行復(fù)雜的編程,開發(fā)效率很高。
2.2 利用圖形編程實現(xiàn)
LabVIEw是美國NI公司推出的基于圖形化編程的虛擬儀器軟件開發(fā)工具,它無需任何文本程序代碼,而是把復(fù)雜、繁瑣的語言編程簡化成圖形,用線條把各種圖形連接起來。在此以一個設(shè)備狀態(tài)分類器設(shè)計作為例子來說明實現(xiàn)流程輸入,該設(shè)備有8個輸入分量,即溫度、濕度等外部條件;而輸出狀態(tài)則有3種,分別為正常、偏小、偏大。這里采用12個訓(xùn)練樣本,每個樣本有8個分量,3類輸出分別編碼為(O 1),(1 0),(1 1),以下即為輸入樣本及標(biāo)準(zhǔn)輸出數(shù)據(jù)(見圖4、圖5)。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉