資源描述:
《BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)分類實驗.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、《智能信息處理》實驗報告二系別:電子工程班級:智能13001班學(xué)號:姓名:郭桂伶日期:2016/4.1指導(dǎo)教師:趙秀潔一、實驗內(nèi)容:1.BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)分類二.實驗?zāi)康模?.通過BP神經(jīng)網(wǎng)絡(luò)的使用,熟悉BP神經(jīng)網(wǎng)絡(luò)的基本概念和工作原理。2.編程建立BP神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)對BP模型的訓(xùn)練,做到日后熟練使用。三.實驗分析:1.語音特征信號識別語音識別研究領(lǐng)域中的一個重要方面,一般采用模式匹配的原理解決。語音識別的運算過程為:首先,待識別語音轉(zhuǎn)化為電信號后輸入識別系統(tǒng),經(jīng)過預(yù)處理后用數(shù)學(xué)方法提取語音特征信號,提取出的語音特征信號可以看成該段語音的模式。然后將該段語音模
2、型同已知參考模式相比較,獲得最佳匹配的參考模式為該段語音的識別結(jié)果。語音識別流程如圖1-2所示。實驗選取了民歌、古箏、搖滾和流行四類不同音樂,用BP神經(jīng)網(wǎng)絡(luò)實現(xiàn)對這四類音樂的有效分類。每段音樂都用倒譜系數(shù)法提取500組24維語音特征信號,提取出的語音特征信號如下圖2、模型建立基于BP神經(jīng)網(wǎng)絡(luò)的語音特征信號分類算法建模包括BP神經(jīng)網(wǎng)絡(luò)構(gòu)建、BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練和BP神經(jīng)網(wǎng)絡(luò)分類三步,算法流程如圖1-4所示。BP神經(jīng)網(wǎng)絡(luò)構(gòu)建根據(jù)系統(tǒng)輸入輸出數(shù)據(jù)特點確定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),由于語音特征輸入信號有24維,待分類的語音信號共有4類,所以BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為24—25—4,即輸入
3、層有24個節(jié)點,隱含層有25個節(jié)點,輸出層有4個節(jié)點。BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練用訓(xùn)練數(shù)據(jù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。共有2000組語音特征信號,從中隨機選擇1500組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),500組數(shù)據(jù)作為測試數(shù)據(jù)測試網(wǎng)絡(luò)分類能力。BP神經(jīng)網(wǎng)絡(luò)分類用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對測試數(shù)據(jù)所屬語音類別進行分類。3、BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程1)網(wǎng)絡(luò)初始化。確定輸入層、隱含層和輸出層的節(jié)點數(shù)n、l、m,初始化權(quán)值、和隱含層閾值a和輸出層閾值b,給定學(xué)習(xí)速率和神經(jīng)元的激勵函數(shù)。2)隱含層輸出計算3)輸出層輸出計算4)誤差計算5)權(quán)值更新6)閾值更新。根據(jù)網(wǎng)絡(luò)預(yù)測誤差e更新網(wǎng)絡(luò)節(jié)點閾值a,b。7)判斷算法
4、迭代是否結(jié)束,若沒有結(jié)束,返回步驟2。四、Matlab相關(guān)函數(shù)1.歸一化方法及Matlab函數(shù)數(shù)據(jù)歸一化方法是神經(jīng)網(wǎng)絡(luò)預(yù)測前對數(shù)據(jù)常做的一種處理方法。數(shù)據(jù)歸一化處理把所有數(shù)據(jù)都轉(zhuǎn)化為[0,1]之間的數(shù),其目的是取消各維數(shù)據(jù)間數(shù)量級差別,避免因為輸入輸出數(shù)據(jù)數(shù)量級差別較大而造成網(wǎng)絡(luò)預(yù)測誤差較大。數(shù)據(jù)歸一化的方法主要有以下兩種。1)最大最小法。函數(shù)形式如下:2)平均數(shù)方差法,函數(shù)形式如下:實驗采用第一種數(shù)據(jù)歸一化方法,歸一化函數(shù)采用MATLAB自帶函數(shù)mapminmax,該函數(shù)有多種形式,常用的方法如下。input_train,output_train是訓(xùn)練輸入、輸出
5、原始數(shù)據(jù),inputn,outputn是歸一化后的數(shù)據(jù),inputps,outputps為數(shù)據(jù)歸一化后得到的結(jié)構(gòu)體,里面包含了數(shù)據(jù)最大值、最小值和平均值等信息,可用于測試數(shù)據(jù)歸一化和反歸一化。測試數(shù)據(jù)歸一化和反歸一化程序如下。input_test是預(yù)測輸入數(shù)據(jù),inputn_test是歸一化后的預(yù)測數(shù)據(jù),apply表示根據(jù)inputps的值對input_test進行歸一化。an是網(wǎng)絡(luò)預(yù)測結(jié)果,outputps是訓(xùn)練輸出數(shù)據(jù)歸一化得到的結(jié)構(gòu)體,BPoutput是反歸一化之后的網(wǎng)絡(luò)預(yù)測輸出,reverse表示對數(shù)據(jù)進行反歸一化。2.數(shù)據(jù)選擇和歸一化首先根據(jù)倒譜系數(shù)法提
6、取四類音樂語音特征信號,不同的語音信號分別用1,2,3,4標(biāo)識,提取出的信號分別存儲于data1.mat,data2.mat,data3.mat,data4.mat數(shù)據(jù)庫文件中,每組數(shù)據(jù)為25維,第1維為類別標(biāo)識,后24維為語音特征信號。把四類語音特征信號合為一組,從中隨機選取1500組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),500組數(shù)據(jù)作為測試數(shù)據(jù),并對訓(xùn)練數(shù)據(jù)進行歸一化處理。根據(jù)語音類別標(biāo)識設(shè)定每組語音信號的期望輸出值:標(biāo)識類為1時,期望輸出向量為[1000];標(biāo)識類為2時,期望輸出向量為[0100];標(biāo)識類為3時,期望輸出向量為[0010];標(biāo)識類為4時,期望輸出向量為[0001
7、]。五、Matlab部分代碼如下:1.input=data(:,2:25);output1=data(:,1);fori=1:2000switchoutput1(i)case1output(i,:)=[1000];case2output(i,:)=[0100];case3output(i,:)=[0010];case4output(i,:)=[0001];endend2.forii=1:20E(ii)=0;%訓(xùn)練誤差fori=1:1:1500x=inputn(:,i);%選擇本次訓(xùn)練數(shù)據(jù)forj=1:1:midnum%隱含層輸出I(j)=inputn(:,i)'*
8、w1(j,