神經(jīng)網(wǎng)絡綜述及簡單應用實例Matlab程序清華大學_第1頁
神經(jīng)網(wǎng)絡綜述及簡單應用實例Matlab程序清華大學_第2頁
神經(jīng)網(wǎng)絡綜述及簡單應用實例Matlab程序清華大學_第3頁
神經(jīng)網(wǎng)絡綜述及簡單應用實例Matlab程序清華大學_第4頁
神經(jīng)網(wǎng)絡綜述及簡單應用實例Matlab程序清華大學_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

神經(jīng)網(wǎng)絡綜述及簡單應用實例Matlab程序清華大學第1頁/共50頁第一部分人工神經(jīng)網(wǎng)絡簡介第2頁/共50頁

以馮·諾依曼型計算機為中心的信息處理技術的高速發(fā)展,使得計算機在當今的信息化社會中起著十分重要的作用。但是,當用它來解決某些人工智能問題時卻遇到了很大的困難。例如,一個人可以很容易地識別他人的臉孔,但計算機則很難做到這一點。大腦是由生物神經(jīng)元構成的巨型網(wǎng)絡,它在本質(zhì)上不同于計算機,是一種大規(guī)模的并行處理系統(tǒng),它具有學習、聯(lián)想記憶、綜合等能力,并有巧妙的信息處理方法。

人工神經(jīng)網(wǎng)絡來源于對人腦實際神經(jīng)網(wǎng)絡的模擬一、神經(jīng)網(wǎng)絡發(fā)展歷史1.背景知識第3頁/共50頁

人工神經(jīng)網(wǎng)絡(ArtificialNeuralNetwroks,簡稱ANN)是對人類大腦系統(tǒng)的一種仿真,簡單地講,它是一個數(shù)學模型,可以用電子線路來實現(xiàn),也可以用計算機程序來模擬,是人工智能研究的一種方法。

實際上它是由大量的、功能比較簡單的形式神經(jīng)元互相連接而構成的復雜網(wǎng)絡系統(tǒng),用它可以模擬大腦的許多基本功能和簡單的思維方式。盡管它還不是大腦的完美元缺的模型,但它可以通過學習來獲取外部的知識并存貯在網(wǎng)絡內(nèi),可以解決計算機不易處理的難題,特別是語音和圖像的識別、理解、知識的處理、組合優(yōu)化計算和智能控制等一系列本質(zhì)上是非計算的問題。

2.什么是人工神經(jīng)網(wǎng)絡第4頁/共50頁1943年,美國心理學家W.McCulloch和數(shù)學家W.Pitts在提出了一個簡單的神經(jīng)元模型,即MP模型。1958年,F(xiàn).Rosenblatt等研制出了感知機(Perceptron)。3.幾個發(fā)展階段

第一次熱潮(40-60年代未)1982年,美國物理學家J.J.Hopfield提出Hopfield模型,它是一個互聯(lián)的非線性動力學網(wǎng)絡他解決問題的方法是一種反復運算的動態(tài)過程,這是符號邏輯處理方法所不具備的性質(zhì).1987年首屆國際ANN大會在圣地亞哥召開,國際ANN聯(lián)合會成立,創(chuàng)辦了多種ANN國際刊物。1990年12月,北京召開首屆學術會議。

低潮(70-80年代初)

第二次熱潮第5頁/共50頁1.

生物神經(jīng)元模型二、生物神經(jīng)元第6頁/共50頁

生物神經(jīng)元模型就是一個簡單的信號處理器。樹突是神經(jīng)元的信號輸入通道,接受來自其他神經(jīng)元的信息。軸突是神經(jīng)元的信號輸出通道。信息的處理與傳遞主要發(fā)生在突觸附近。神經(jīng)元細胞體通過樹突接受脈沖信號,通過軸突傳到突觸前膜。當脈沖幅度達到一定強度,即超過其閾值電位后,突觸前膜將向突觸間隙釋放神經(jīng)傳遞的化學物質(zhì)(乙酰膽堿),使位于突觸后膜的離子通道(IonChannel)開放,產(chǎn)生離子流,從而在突觸后膜產(chǎn)生正的或負的電位,稱為突觸后電位。2.

生物神經(jīng)元模型的運行機理第7頁/共50頁

突觸有兩種:興奮性突觸和抑制性突觸。前者產(chǎn)生正突觸后電位,后者產(chǎn)生負突觸后電位。一個神經(jīng)元的各樹突和細胞體往往通過突觸和大量的其他神經(jīng)元相連接。這些突觸后電位的變化,將對該神經(jīng)元產(chǎn)生綜合作用,即當這些突觸后電位的總和超過某一閻值時,該神經(jīng)元便被激活,并產(chǎn)生脈沖,而且產(chǎn)生的脈沖數(shù)與該電位總和值的大小有關。脈沖沿軸突向其他神經(jīng)元傳送,從而實現(xiàn)了神經(jīng)元之間信息的傳遞。

第8頁/共50頁◆

連接權:

求和單元:◆

激勵函數(shù)(響應函數(shù)):

三、人工神經(jīng)元模型1.

人工神經(jīng)元模型的三要素第9頁/共50頁

模型中為輸入信號,為輸出信號,為神經(jīng)元的閾值。該模型的數(shù)學表達式為:2.

人工神經(jīng)元模型的數(shù)學表達一第10頁/共50頁3.

人工神經(jīng)元模型的數(shù)學表達二第11頁/共50頁

閾值函數(shù):

分段線性函數(shù):

sigmoid函數(shù):4.

激勵函數(shù)的形式第12頁/共50頁

前饋型網(wǎng)絡:

反饋型網(wǎng)絡:輸入層隱層輸出層四、網(wǎng)絡結構及工作方式1.

網(wǎng)絡結構第13頁/共50頁

學習期:

各計算單元狀態(tài)不變,各連接線上權值通過學習來修改

工作期:

連接權固定,計算單元狀態(tài)變化,以達到某種穩(wěn)定狀態(tài)2.

工作方式第14頁/共50頁

有教師學習:

外界存在一個教師,對給定的一組輸入,提供應有的輸出(標準答案),學習系統(tǒng)可根據(jù)實際輸出與標準答案之間的差值來調(diào)整系統(tǒng)參數(shù)學習系統(tǒng)教師環(huán)境輸入應有響應

+誤差信號實際響應—

五、神經(jīng)網(wǎng)絡的學習方法1.

學習方式第15頁/共50頁◆

無教師學習:學習系統(tǒng)按照環(huán)境提供數(shù)據(jù)的某些統(tǒng)計規(guī)律來調(diào)節(jié)自身參數(shù)環(huán)境學習系統(tǒng)動作輸出輸入狀態(tài)環(huán)境學習系統(tǒng)輸入◆

強化學習:環(huán)境對系統(tǒng)輸出結果只給出評價信息(獎或懲),系統(tǒng)通過強化受獎動作來改善自身性能第16頁/共50頁●

考察神經(jīng)元k

在n

時刻的輸入和輸出

輸入:●實際輸出:

●應有輸出:

由誤差信號構造能量函數(shù):

其中E(.)為求期望算子●求解最優(yōu)化問題:

得出系統(tǒng)參數(shù):2.

學習規(guī)則第17頁/共50頁

通常情況下用時刻n的瞬時值代替J,即求解最優(yōu)化問題由數(shù)值迭代算法(如最速下降法、模擬退火算法等),可得其中為學習步長第18頁/共50頁

神經(jīng)學家Hebb提出的學習規(guī)則:當某一連接兩端的神經(jīng)元同步激活(或同為抑制)時,該連接的強度應增強,反之應減弱,數(shù)學描述如下:其中分別為兩端神經(jīng)元的狀態(tài)最常用的一種情況是:3.

Hebb學習規(guī)則第19頁/共50頁

對于多層網(wǎng)絡,由于有隱層后學習比較困難,限制了多層網(wǎng)絡的發(fā)展,BP算法的出現(xiàn)解決了這一困難。六、BP算法(向后傳播算法)

對于多層前饋型網(wǎng)絡,網(wǎng)絡中有兩種信號在流通,(1)工作信號,施加的輸入信號向前傳播直到在輸出層產(chǎn)生實際的輸出信號,是輸入信號和權值的函數(shù)

(2)誤差信號,網(wǎng)絡實際輸出與應有輸出間的差值,它由輸出層開始逐層向后傳播1.

BP算法的原理下面推導用于多層前饋型網(wǎng)絡學習的BP算法

第20頁/共50頁下面就逐個樣本學習的情況來推導BP算法如右圖,令單元j的凈輸入為則求對的梯度

該單元的誤差信號為,定義單元j的平方誤差為,則輸出層總的平方誤差的瞬時值為:

設在第n次迭代中某一層的第j個單元的輸出為2.

BP算法

當j單元所在層為輸出層時第21頁/共50頁其中稱為局部梯度權值的修正量為

當j

單元所在層為隱層時第22頁/共50頁權值的修正量為其中第23頁/共50頁第二部分神經(jīng)網(wǎng)絡工具箱第24頁/共50頁輸入層隱層輸出層一、BP網(wǎng)絡1.

構造多層前向神經(jīng)網(wǎng)絡第25頁/共50頁net=newff(A,B,{C},’trainfun’)Matlab命令A是一個n×2的矩陣,第i行元素為輸入信號xi的最小值和最大值;

參數(shù)說明B為一k維行向量,其元素為各隱層節(jié)點數(shù);trainfun為學習規(guī)則采用的訓練函數(shù)(常見訓練函數(shù)如下表)。C為一k維字符串行向量,每一分量為對應層神經(jīng)元的激勵函數(shù);第26頁/共50頁函數(shù)名功能函數(shù)名traingd梯度下降法traincgftraingdm勢能修正法traincgptraingdx自調(diào)整學習效率法traincgbtrainrp恢復BP法trainscgFR共軛梯度法trainbfgBFGS擬牛頓法PR共軛梯度法trainoss一步共軛+擬牛頓PB共軛梯度法trainlmLM法標量共軛梯度法trainbrBayesian規(guī)范法2.

常見訓練函數(shù)第27頁/共50頁MATLAB中激勵函數(shù)為其字符串分別為:’logsig’,’tansig’,’purelin’3.

激勵函數(shù)第28頁/共50頁

除了需要輸入A,B,{C},’trainfun’外,還有些默認的參數(shù)可修改,如下表4.

可修改參數(shù)參數(shù)名功能缺省值net.trainParam.goal目標函數(shù)設定值0net.trainParam.epochs最大迭代次數(shù)100net.trainParam.show顯示中間結果的周期25net.trainParam.lr整批學習的學習效率0.01net.trainParam.mc勢能學習規(guī)則traingdm的勢能率0.9注:不同版本Matlab的可修改參數(shù)列表可能不同。第29頁/共50頁

[net,tr,Y1,E]=train(net,X,Y)5.

BP網(wǎng)絡的訓練與泛化

網(wǎng)絡訓練訓練跟蹤信息訓練后網(wǎng)絡網(wǎng)絡實際輸出誤差矩陣網(wǎng)絡訓練函數(shù)未經(jīng)訓練網(wǎng)絡網(wǎng)絡實際輸入網(wǎng)絡應有輸出X為n×M矩陣,為輸入數(shù)據(jù)矩陣,M為樣本的組數(shù)。Y為m×M矩陣,為輸出數(shù)據(jù)矩陣。第30頁/共50頁

訓練結束后,對新的輸入點數(shù)據(jù)X2,調(diào)用sim函數(shù)進行泛化,得出這些輸入點處的輸出矩陣Y2.

數(shù)據(jù)泛化Y2=sim(net,X2)

用經(jīng)過訓練的網(wǎng)絡對于不是樣本集的輸入,計算出相應的輸出。什么是數(shù)據(jù)泛化?第31頁/共50頁例4-1

由下面的語句生成一組數(shù)據(jù)x和y,用神經(jīng)網(wǎng)絡進行數(shù)據(jù)擬合

x=0:.1:10;y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);可知(x,

y)是曲線上的點。x=0:.1:10;y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);net=newff([0,10],[5,1],{'tansig','tansig'});net.trainParam.epochs=1000;net=train(net,x,y);x0=0:.1:10;figure(1)y1=sim(net,x0);plot(x,y,'o',x0,y1,'r')第32頁/共50頁

nntool命令產(chǎn)生神經(jīng)網(wǎng)絡圖形交互界面如下二、神經(jīng)網(wǎng)絡交互式界面第33頁/共50頁第34頁/共50頁第35頁/共50頁第36頁/共50頁第37頁/共50頁第三部分應用實例第38頁/共50頁實例1.蠓蟲分類問題的神經(jīng)網(wǎng)絡方法

(1989年MCM競賽題目

)生物學家試圖對兩種蠓蟲(Af與Apf)進行鑒別,依據(jù)的資料是觸角和翅膀的長度,已經(jīng)測得9只Af和6只Apf的數(shù)據(jù)如下:

9只Af觸角長:1.241.361.381.381.381.401.481.541.56翅膀長:1.721.741.641.821.901.701.821.822.086只Apf觸角長:1.141.181.201.261.281.30翅膀長:1.781.961.862.002.001.96問題:(1)如何憑借原始資料(15對數(shù)據(jù),被稱之為學習樣本)制定一種方法,正確區(qū)分兩類蠓蟲;

(2)依據(jù)確立的方法,對以下三個樣本:

(1.24,1.80),(1.28,1.84),(1.40,2.04)加以識別

第39頁/共50頁解法一:建立兩層前向神經(jīng)網(wǎng)絡如下:

隱層節(jié)點可適量選?。]有具體標準)。X=為輸入矩陣,x1對應于觸角長,x2對應于翅膀長。Y=為輸出矩陣規(guī)定Af對應的應有輸出為,Apf對應的應有輸出為

輸入層隱層輸出層第40頁/共50頁以上神經(jīng)網(wǎng)絡模型的MATLAB程序如下:

x=[1.241.361.381.381.381.401.481.541.561.141.181.201.261.281.301.721.741.641.821.901.701.821.822.081.781.961.862.002.001.96];

%原始數(shù)據(jù)x=x-1.1;%數(shù)據(jù)標準化y=[000000000111111;111111111000000];%應有的輸出net=newff([0,1;01],[5,2],{'tansig','tansig'});

%建立兩層前向神經(jīng)網(wǎng)絡%net.trainParam.goal=0.0000001;%設定訓練誤差net.trainParam.epochs=2000;%設定最大訓練步數(shù)net=train(net,x,y);%訓練網(wǎng)絡y1=sim(net,x)%輸出數(shù)據(jù)yy=sim(net,[1.241.281.40;1.801.842.04])%數(shù)據(jù)泛化第41頁/共50頁解法二:建立單層感知器模型如下:

X=為輸入矩陣,x1對應于觸角長,x2對應于翅膀長。Y=為輸出矩陣,規(guī)定Af對應的應有輸出為,Apf對應的應有輸出為

輸入層輸出層第42頁/共50頁以上神經(jīng)網(wǎng)絡模型的MATLAB程序如下:

x=[1.241.361.381.381.381.401.481.541.561.141.181.201.261.281.301.721.741.641.821.901.701.821.822.081.781.961.862.002.001.96];

%原始數(shù)據(jù)x=x-1.1;%數(shù)據(jù)標準化y=[000000000111111;111111111000000];%應有的輸出net=newp(minmax(x),2);%建立單層兩節(jié)點感知器模型%net.trainParam.goal=0.0000001;%設定訓練誤差net.trainParam.epochs=200;%設定最大訓練步數(shù)net=train(net,x,y);%訓練網(wǎng)絡y1=sim(net,x)%輸出數(shù)據(jù)yy=sim(net,[1.241.281.40;1.801.842.04])%數(shù)據(jù)泛化plotpv(x,y)%繪制輸入向量和目標向量plotpc(net.iw{1,1},net.b{1})%繪制分界線第43頁/共50頁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論