神經(jīng)網(wǎng)絡(luò)是一種模擬人腦結(jié)構(gòu)的算法模型。其原理就在于將信息分布式存儲和并行協(xié)同處理。雖然每個單元的功能非常簡單,但大量單元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)就能實(shí)現(xiàn)非常復(fù)雜的數(shù)據(jù)計(jì)算,并且還是一個高度復(fù)雜的非線性動力學(xué)習(xí)系統(tǒng)。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)更接近于人腦,具有大規(guī)模并行、分布式存儲和處理、自組織、自適應(yīng)和自學(xué)能力。神經(jīng)網(wǎng)絡(luò)的用途非常廣泛,在系統(tǒng)辨識、模式識別、智能控制等領(lǐng)域都能一展身手。而現(xiàn)在最吸引IT巨頭們關(guān)注的就是神經(jīng)網(wǎng)絡(luò)在智能控制領(lǐng)域中的自動學(xué)習(xí)功能,特別適合在需要代入一定條件,并且信息本身是不確定和模糊的情況下,進(jìn)行相關(guān)問題的處理,例如語音識別。
神經(jīng)網(wǎng)絡(luò)算法原理
由于神經(jīng)網(wǎng)絡(luò)算法的設(shè)計(jì)面太大,我們此處暫且只分析Microsoft神經(jīng)網(wǎng)絡(luò)算法的原理,在Microsoft神經(jīng)網(wǎng)絡(luò)算法中,我們可以簡化成下面這個圖片:

Microsoft神經(jīng)網(wǎng)絡(luò)使用的由最多三層神經(jīng)元組成的“多層感知器”網(wǎng)絡(luò),分別為:輸入層、可選隱含層和輸出層。
輸入層:輸入神經(jīng)元定義數(shù)據(jù)挖掘模型所有的輸入屬性值以及概率。
隱含層:隱藏神經(jīng)元接受來自輸入神經(jīng)元的輸入,并向輸出神經(jīng)元提供輸出。隱藏層是向各種輸入概率分配權(quán)重的位置。權(quán)重說明某一特定宿儒對于隱藏神經(jīng)元的相關(guān)性或重要性。輸入所分配的權(quán)重越大,則輸入值也就越重要。而這個過程可以描述為學(xué)習(xí)的過程。權(quán)重可為負(fù)值,表示輸入抑制而不是促進(jìn)某一特定結(jié)果。 輸出層:輸出神經(jīng)元代表數(shù)據(jù)挖掘模型的可預(yù)測屬性值。
數(shù)據(jù)從輸入經(jīng)過中間隱含層到輸出,整個過程是一個從前向后的傳播數(shù)據(jù)和信息的過程,后面一層節(jié)點(diǎn)上的數(shù)據(jù)值從與它相連接的前面節(jié)點(diǎn)傳來,之后把數(shù)據(jù)加權(quán)之后經(jīng)過一定的函數(shù)運(yùn)算得到新的值,繼續(xù)傳播到下一層節(jié)點(diǎn)。這個過程就是一個前向傳播過程。
而當(dāng)節(jié)點(diǎn)輸出發(fā)生錯誤時,也就是和預(yù)期不同,神經(jīng)網(wǎng)絡(luò)就要自動“學(xué)習(xí)”,后一層節(jié)點(diǎn)對前一層節(jié)點(diǎn)一個“信任”程度(其實(shí)改變的就是連接件的權(quán)重),采取降低權(quán)重的方式來懲罰,如果節(jié)點(diǎn)輸出粗粗哦,那就要查看這個錯誤的受那些輸入節(jié)點(diǎn)的影響,降低導(dǎo)致出錯的節(jié)點(diǎn)連接的權(quán)重,懲罰這些節(jié)點(diǎn),同時提高那些做出正確建議節(jié)點(diǎn)的連接的權(quán)重。對那些受到懲罰的節(jié)點(diǎn)而說,也用同樣的方法來懲罰它前面的節(jié)點(diǎn),直到輸入節(jié)點(diǎn)而止。這種稱為:回饋。 而我們學(xué)習(xí)的過程就是重復(fù)上面的介紹的流程,通過前向傳播得到輸入值,用回饋法進(jìn)行學(xué)習(xí)。當(dāng)把訓(xùn)練集中的所有數(shù)據(jù)運(yùn)行過一遍之后,則稱為一個訓(xùn)練周期。訓(xùn)練后得到神經(jīng)網(wǎng)絡(luò)模型,包含了訓(xùn)練集中相應(yīng)值和受預(yù)測值影響變化的規(guī)律。
在每個神經(jīng)元中的隱含層中都有著復(fù)雜的函數(shù),并且這些都非線性函數(shù),并且類似生物學(xué)神經(jīng)網(wǎng)絡(luò)的基本傳輸特征,這些函數(shù)稱之為:激活函數(shù),即:輸入值發(fā)生細(xì)微的變化有時候會產(chǎn)生較大的輸出變化。
神經(jīng)網(wǎng)絡(luò)算法的應(yīng)用
在網(wǎng)絡(luò)模型與算法研究的基礎(chǔ)上,利用人工神經(jīng)網(wǎng)絡(luò)組成實(shí)際的應(yīng)用系統(tǒng),例如,完成某種信號處理或模式識別的功能、構(gòu)作專家系統(tǒng)、制成機(jī)器人、復(fù)雜系統(tǒng)控制等等。
縱觀當(dāng)代新興科學(xué)技術(shù)的發(fā)展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學(xué)技術(shù)領(lǐng)域的進(jìn)程中歷經(jīng)了崎嶇不平的道路。我們也會看到,探索人腦功能和神經(jīng)網(wǎng)絡(luò)的研究將伴隨著重重困難的克服而日新月異。
盡管神經(jīng)網(wǎng)絡(luò)現(xiàn)在已經(jīng)被廣泛用于語音識別領(lǐng)域,但是其用途肯定不限于此。下一步,神經(jīng)網(wǎng)絡(luò)最有可能進(jìn)入圖像軟件領(lǐng)域。與分辨聲音的過程類似,神經(jīng)網(wǎng)絡(luò)在分析圖像時,每一層的圖像探測器會首先尋找圖像中的一些特征,例如圖像的邊緣。
當(dāng)探測完成之后,另一層的軟件就會將這些邊緣結(jié)合起來,就會形成圖像的邊角等特征。然后如此反復(fù)下去,識別的圖像特征就會越來越清晰、明確,到了最后一層就將所有圖像特征結(jié)合起來,與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行對比,就能得出圖片里的物體究竟是什么的結(jié)論。
前面提到的谷歌狄恩研究小組就采用這種方法,開發(fā)出了一套軟件,已經(jīng)可以通過自學(xué)分辨出網(wǎng)絡(luò)視頻里的貓。或許未來這套軟件將會推廣到圖片搜索領(lǐng)域,谷歌街景利用這一算法就能區(qū)分出不同事物的特征。 此外,神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)領(lǐng)域也有施展拳腳的空間,多倫多大學(xué)的一個研究團(tuán)隊(duì),已經(jīng)成功地用神經(jīng)網(wǎng)絡(luò)分析出藥物分子在實(shí)際環(huán)境中可能的作用方式。
神經(jīng)網(wǎng)絡(luò)算法實(shí)例說明
BP神經(jīng)網(wǎng)絡(luò)算法提供了一種普遍并且實(shí)用的方法從樣例中學(xué)習(xí)值為實(shí)數(shù)、離散值或者向量的函數(shù),這里就簡單介紹一下如何用MATLAB編程實(shí)現(xiàn)該算法。
1、這里以一個普遍實(shí)用的簡單案例為例子進(jìn)行編程的說明。假設(shè)一組x1,x2,x3的值對應(yīng)一個y值,有2000組這樣的數(shù)字,我們選擇其中1900組x1,x2,x3和y作為樣本,其余100組x1,x2,x3作為測試數(shù)據(jù)來驗(yàn)證。

2、首先需要讀取這些數(shù)據(jù),并把數(shù)據(jù)賦值給input 和 output 。我是把數(shù)據(jù)存儲在excel表中,所以用xlsread函數(shù)來讀取數(shù)據(jù)。讀取出來的數(shù)據(jù)是2000*4的矩陣。

3、將樣本數(shù)據(jù)進(jìn)行歸一化處理。

4、初始化網(wǎng)絡(luò)結(jié)果,設(shè)置參數(shù),并用數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。newff函數(shù)是給出了最簡單的設(shè)置,即輸入樣本數(shù)據(jù),輸出樣本數(shù)據(jù)和隱含層節(jié)點(diǎn)數(shù);epochs是設(shè)置迭代次數(shù);lr是設(shè)置學(xué)習(xí)率;goal是設(shè)置目標(biāo)值。

5、設(shè)置好參數(shù),需要將預(yù)測數(shù)據(jù)進(jìn)行歸一化處理,然后將預(yù)測結(jié)果輸出,并將輸出的結(jié)果進(jìn)行反歸一化處理,神經(jīng)網(wǎng)絡(luò)就完成了。BPoutput為預(yù)測結(jié)果。

6、程序運(yùn)行時顯示的網(wǎng)絡(luò)結(jié)構(gòu)和運(yùn)行過程如下圖。

7、如果以后需要用到已訓(xùn)練好的網(wǎng)絡(luò)可以把訓(xùn)練好的網(wǎng)絡(luò)儲存起來,下次可以直接進(jìn)行預(yù)測,具體方法見下圖。

在用神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測時需要注意輸入數(shù)據(jù)的數(shù)量和樣本的數(shù)量,樣本數(shù)量較少時要考慮網(wǎng)絡(luò)的可用性和準(zhǔn)確性。
電子發(fā)燒友App







評論