新聞中心

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

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

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

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

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


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


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


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


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


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


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


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

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


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉