人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)(簡稱ANN)系統(tǒng)從20 世紀(jì)40 年代末誕生至今僅短短半個多世紀(jì),但由于他具有信息的分布存儲、并行處理以及自學(xué)習(xí)能力等優(yōu)點(diǎn),已經(jīng)在信息處理、模式識別、智能控制及系統(tǒng)建模等領(lǐng)域得到越來越廣泛的應(yīng)用。尤其是基于誤差反向傳播(Error Back Propagation)算法的多層前饋網(wǎng)絡(luò)(Multiple-Layer Feedforward Network)(簡稱BP 網(wǎng)絡(luò)),可以以任意精度逼近任意的連續(xù)函數(shù),所以廣泛應(yīng)用于非線性建模、函數(shù)逼近、模式分類等方面。
成都創(chuàng)新互聯(lián)公司是專業(yè)的舞鋼網(wǎng)站建設(shè)公司,舞鋼接單;提供網(wǎng)站制作、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行舞鋼網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
目標(biāo)識別是模式識別領(lǐng)域的一項(xiàng)傳統(tǒng)的課題,這是因?yàn)槟繕?biāo)識別不是一個孤立的問題,而是模式識別領(lǐng)域中大多數(shù)課題都會遇到的基本問題,并且在不同的課題中,由于具體的條件不同,解決的方法也不盡相同,因而目標(biāo)識別的研究仍具有理論和實(shí)踐意義。這里討論的是將要識別的目標(biāo)物體用成像頭(紅外或可見光等)攝入后形成的圖像信號序列送入計(jì)算機(jī),用神經(jīng)網(wǎng)絡(luò)識別圖像的問題。
一、BP 神經(jīng)網(wǎng)絡(luò)
BP 網(wǎng)絡(luò)是采用Widrow-Hoff 學(xué)習(xí)算法和非線性可微轉(zhuǎn)移函數(shù)的多層網(wǎng)絡(luò)。一個典型的BP 網(wǎng)絡(luò)采用的是梯度下降算法,也就是Widrow-Hoff 算法所規(guī)定的。backpropagation 就是指的為非線性多層網(wǎng)絡(luò)計(jì)算梯度的方法。一個典型的BP 網(wǎng)絡(luò)結(jié)構(gòu)如圖所示。
我們將它用向量圖表示如下圖所示。
其中:對于第k 個模式對,輸出層單元的j 的加權(quán)輸入為
該單元的實(shí)際輸出為
而隱含層單元i 的加權(quán)輸入為
該單元的實(shí)際輸出為
函數(shù)f 為可微分遞減函數(shù)
其算法描述如下:
(1)初始化網(wǎng)絡(luò)及學(xué)習(xí)參數(shù),如設(shè)置網(wǎng)絡(luò)初始權(quán)矩陣、學(xué)習(xí)因子等。
(2)提供訓(xùn)練模式,訓(xùn)練網(wǎng)絡(luò),直到滿足學(xué)習(xí)要求。
(3)前向傳播過程:對給定訓(xùn)練模式輸入,計(jì)算網(wǎng)絡(luò)的輸出模式,并與期望模式比較,若有誤差,則執(zhí)行(4);否則,返回(2)。
(4)后向傳播過程:a. 計(jì)算同一層單元的誤差;b. 修正權(quán)值和閾值;c. 返回(2)
二、 BP 網(wǎng)絡(luò)隱層個數(shù)的選擇
對于含有一個隱層的三層BP 網(wǎng)絡(luò)可以實(shí)現(xiàn)輸入到輸出的任何非線性映射。增加網(wǎng)絡(luò)隱層數(shù)可以降低誤差,提高精度,但同時也使網(wǎng)絡(luò)復(fù)雜化,增加網(wǎng)絡(luò)的訓(xùn)練時間。誤差精度的提高也可以通過增加隱層結(jié)點(diǎn)數(shù)來實(shí)現(xiàn)。一般情況下,應(yīng)優(yōu)先考慮增加隱含層的結(jié)點(diǎn)數(shù)。
三、隱含層神經(jīng)元個數(shù)的選擇
當(dāng)用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)絡(luò)映射時,隱含層神經(jīng)元個數(shù)直接影響著神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力和歸納能力。隱含層神經(jīng)元數(shù)目較少時,網(wǎng)絡(luò)每次學(xué)習(xí)的時間較短,但有可能因?yàn)閷W(xué)習(xí)不足導(dǎo)致網(wǎng)絡(luò)無法記住全部學(xué)習(xí)內(nèi)容;隱含層神經(jīng)元數(shù)目較大時,學(xué)習(xí)能力增強(qiáng),網(wǎng)絡(luò)每次學(xué)習(xí)的時間較長,網(wǎng)絡(luò)的存儲容量隨之變大,導(dǎo)致網(wǎng)絡(luò)對未知輸入的歸納能力下降,因?yàn)閷﹄[含層神經(jīng)元個數(shù)的選擇尚無理論上的指導(dǎo),一般憑經(jīng)驗(yàn)確定。
四、神經(jīng)網(wǎng)絡(luò)圖像識別系統(tǒng)
人工神經(jīng)網(wǎng)絡(luò)方法實(shí)現(xiàn)模式識別,可處理一些環(huán)境信息十分復(fù)雜,背景知識不清楚,推理規(guī)則不明確的問題,允許樣品有較大的缺損、畸變,神經(jīng)網(wǎng)絡(luò)方法的缺點(diǎn)是其模型在不斷豐富完善中,目前能識別的模式類還不夠多,神經(jīng)網(wǎng)絡(luò)方法允許樣品有較大的缺損和畸變,其運(yùn)行速度快,自適應(yīng)性能好,具有較高的分辨率。
神經(jīng)網(wǎng)絡(luò)的圖像識別系統(tǒng)是神經(jīng)網(wǎng)絡(luò)模式識別系統(tǒng)的一種,原理是一致的。一般神經(jīng)網(wǎng)絡(luò)圖像識別系統(tǒng)由預(yù)處理,特征提取和神經(jīng)網(wǎng)絡(luò)分類器組成。預(yù)處理就是將原始數(shù)據(jù)中的無用信息刪除,平滑,二值化和進(jìn)行幅度歸一化等。神經(jīng)網(wǎng)絡(luò)圖像識別系統(tǒng)中的特征提取部分不一定存在,這樣就分為兩大類:① 有特征提取部分的:這一類系統(tǒng)實(shí)際上是傳統(tǒng)方法與神經(jīng)網(wǎng)絡(luò)方法技術(shù)的結(jié)合,這種方法可以充分利用人的經(jīng)驗(yàn)來獲取模式特征以及神經(jīng)網(wǎng)絡(luò)分類能力來識別目標(biāo)圖像。特征提取必須能反應(yīng)整個圖像的特征。但它的抗干擾能力不如第2類。② 無特征提取部分的:省去特征抽取,整副圖像直接作為神經(jīng)網(wǎng)絡(luò)的輸入,這種方式下,系統(tǒng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度大大增加了,輸入模式維數(shù)的增加導(dǎo)致了網(wǎng)絡(luò)規(guī)模的龐大。此外,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)需要完全自己消除模式變形的影響。但是網(wǎng)絡(luò)的抗干擾性能好,識別率高。
當(dāng)BP 網(wǎng)用于分類時,首先要選擇各類的樣本進(jìn)行訓(xùn)練,每類樣本的個數(shù)要近似相等。其原因在于一方面防止訓(xùn)練后網(wǎng)絡(luò)對樣本多的類別響應(yīng)過于敏感,而對樣本數(shù)少的類別不敏感。另一方面可以大幅度提高訓(xùn)練速度,避免網(wǎng)絡(luò)陷入局部最小點(diǎn)。
由于BP 網(wǎng)絡(luò)不具有不變識別的能力,所以要使網(wǎng)絡(luò)對模式的平移、旋轉(zhuǎn)、伸縮具有不變性,要盡可能選擇各種可能情況的樣本。例如要選擇不同姿態(tài)、不同方位、不同角度、不同背景等有代表性的樣本,這樣可以保證網(wǎng)絡(luò)有較高的識別率。
構(gòu)造神經(jīng)網(wǎng)絡(luò)分類器首先要選擇適當(dāng)?shù)木W(wǎng)絡(luò)結(jié)構(gòu):神經(jīng)網(wǎng)絡(luò)分類器的輸入就是圖像的特征向量;神經(jīng)網(wǎng)絡(luò)分類器的輸出節(jié)點(diǎn)應(yīng)該是類別數(shù)。隱層數(shù)要選好,每層神經(jīng)元數(shù)要合適,目前有很多采用一層隱層的網(wǎng)絡(luò)結(jié)構(gòu)。然后要選擇適當(dāng)?shù)膶W(xué)習(xí)算法,這樣才會有很好的識別效果。在學(xué)習(xí)階段應(yīng)該用大量的樣本進(jìn)行訓(xùn)練學(xué)習(xí),通過樣本的大量學(xué)習(xí)對神經(jīng)網(wǎng)絡(luò)的各層網(wǎng)絡(luò)的連接權(quán)值進(jìn)行修正,使其對樣本有正確的識別結(jié)果,這就像人記數(shù)字一樣,網(wǎng)絡(luò)中的神經(jīng)元就像是人腦細(xì)胞,權(quán)值的改變就像是人腦細(xì)胞的相互作用的改變,神經(jīng)網(wǎng)絡(luò)在樣本學(xué)習(xí)中就像人記數(shù)字一樣,學(xué)習(xí)樣本時的網(wǎng)絡(luò)權(quán)值調(diào)整就相當(dāng)于人記住各個數(shù)字的形象,網(wǎng)絡(luò)權(quán)值就是網(wǎng)絡(luò)記住的內(nèi)容,網(wǎng)絡(luò)學(xué)習(xí)階段就像人由不認(rèn)識數(shù)字到認(rèn)識數(shù)字反復(fù)學(xué)習(xí)過程是一樣的。神經(jīng)網(wǎng)絡(luò)是按整個特征向量的整體來記憶圖像的,只要大多數(shù)特征符合曾學(xué)習(xí)過的樣本就可識別為同一類別,所以當(dāng)樣本存在較大噪聲時神經(jīng)網(wǎng)絡(luò)分類器仍可正確識別。在圖像識別階段,只要將圖像的點(diǎn)陣向量作為神經(jīng)網(wǎng)絡(luò)分類器的輸入,經(jīng)過網(wǎng)絡(luò)的計(jì)算,分類器的輸出就是識別結(jié)果。
五、仿真實(shí)驗(yàn)
1、實(shí)驗(yàn)對象
本實(shí)驗(yàn)用MATLAB 完成了對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和圖像識別模擬。從實(shí)驗(yàn)數(shù)據(jù)庫中選擇0~9 這十個數(shù)字的BMP 格式的目標(biāo)圖像。圖像大小為16×8 像素,每個目標(biāo)圖像分別加10%、20%、30%、40%、50%大小的隨機(jī)噪聲,共產(chǎn)生60 個圖像樣本。將樣本分為兩個部分,一部分用于訓(xùn)練,另一部分用于測試。實(shí)驗(yàn)中用于訓(xùn)練的樣本為40個,用于測試的樣本為20 個。隨機(jī)噪聲調(diào)用函數(shù)randn(m,n)產(chǎn)生。
2、網(wǎng)絡(luò)結(jié)構(gòu)
本試驗(yàn)采用三層的BP 網(wǎng)絡(luò),輸入層神經(jīng)元個數(shù)等于樣本圖像的象素個數(shù)16×8 個。隱含層選24 個神經(jīng)元,這是在試驗(yàn)中試出的較理想的隱層結(jié)點(diǎn)數(shù)。輸出層神經(jīng)元個數(shù)就是要識別的模式數(shù)目,此例中有10 個模式,所以輸出層神經(jīng)元選擇10 個,10 個神經(jīng)元與10 個模式一一對應(yīng)。
3、基于MATLAB 語言的網(wǎng)絡(luò)訓(xùn)練與仿真
建立并初始化網(wǎng)絡(luò)
1
2
3
4
5
6
7
8
% ================
S1 = 24;% 隱層神經(jīng)元數(shù)目S1 選為24
[R,Q] = size(numdata);
[S2,Q] = size(targets);
F = numdata;
P=double(F);
net = newff(minmax(P),[S1 S2],{'logsig'
'logsig'},'traingda','learngdm')
這里numdata 為訓(xùn)練樣本矩陣,大小為128×40, targets 為對應(yīng)的目標(biāo)輸出矩陣,大小為10×40。
newff(PR,[S1 S2…SN],{TF1 TF2…TFN},BTF,BLF,PF)為MATLAB 函數(shù)庫中建立一個N 層
前向BP 網(wǎng)絡(luò)的函數(shù),函數(shù)的自變量PR 表示網(wǎng)絡(luò)輸入矢量取值范圍的矩陣[Pmin max];S1~SN 為各層神經(jīng)元的個數(shù);TF1~TFN 用于指定各層神經(jīng)元的傳遞函數(shù);BTF 用于指定網(wǎng)絡(luò)的訓(xùn)練函數(shù);BLF 用于指定權(quán)值和閥值的學(xué)習(xí)函數(shù);PF 用于指定網(wǎng)絡(luò)的性能函數(shù),缺省值為‘mse’。
設(shè)置訓(xùn)練參數(shù)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
net.performFcn = 'sse'; %平方和誤差
性能函數(shù)
net.trainParam.goal = 0.1; %平方和誤
差目標(biāo)
net.trainParam.show = 20; %進(jìn)程顯示
頻率
net.trainParam.epochs = 5000;%最大訓(xùn)
練步數(shù)
net.trainParam.mc = 0.95; %動量常數(shù)
網(wǎng)絡(luò)訓(xùn)練
net=init(net);%初始化網(wǎng)絡(luò)
[net,tr] = train(net,P,T);%網(wǎng)絡(luò)訓(xùn)練
對訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行仿真
D=sim(net,P);
A = sim(net,B);
B 為測試樣本向量集,128×20 的點(diǎn)陣。D 為網(wǎng)絡(luò)對訓(xùn)練樣本的識別結(jié)果,A 為測試樣本的網(wǎng)絡(luò)識別結(jié)果。實(shí)驗(yàn)結(jié)果表明:網(wǎng)絡(luò)對訓(xùn)練樣本和對測試樣本的識別率均為100%。如圖為64579五個數(shù)字添加50%隨機(jī)噪聲后網(wǎng)絡(luò)的識別結(jié)果。
六、總結(jié)
從上述的試驗(yàn)中已經(jīng)可以看出,采用神經(jīng)網(wǎng)絡(luò)識別是切實(shí)可行的,給出的例子只是簡單的數(shù)字識別實(shí)驗(yàn),要想在網(wǎng)絡(luò)模式下識別復(fù)雜的目標(biāo)圖像則需要降低網(wǎng)絡(luò)規(guī)模,增加識別能力,原理是一樣的。
在python語言中,random函數(shù)生成隨機(jī)數(shù),根據(jù)不同的方法生成不同范圍的隨機(jī)數(shù)。那么random函數(shù)具體怎么使用,操作方法如下。
1、首先在打開的軟件中,random.random():返回一個隨機(jī)數(shù),范圍是0到1之間。
2、random.uniform():在指定范圍內(nèi),生成隨機(jī)數(shù),一個是下限,另一個是上限。
3、random.randint():生成指定范圍內(nèi)的整數(shù),開始數(shù)和結(jié)束數(shù)。
4、最后使用?random.randrange():在指定范圍內(nèi),按指定基數(shù)遞增的集合中獲得一個隨機(jī)數(shù),這樣就完成了。
白噪聲是時間序列預(yù)測中的一個重要概念。如果一個時間序列是白噪聲,它是一個隨機(jī)數(shù)序列,不能預(yù)測。如果預(yù)測誤差不是白噪聲,它暗示了預(yù)測模型仍有改進(jìn)空間。
什么是白噪聲時間序列?
時間序列可能是白噪聲。時間序列如果變量是獨(dú)立的且恒等分布的均值為0,那么它是白噪聲。這意味著所有變量具有相同的方差 (sigma^2),并且每個值與該系列中的所有其他值具有零相關(guān)。
如果序列中的變量被高斯分布繪制,則該系列稱為高斯白噪聲。
為什么這么重要?
白噪聲是時間序列分析和預(yù)測中的一個重要的概念。
重要的兩個主要原因?yàn)椋?/p>
1.可預(yù)測性:如果你的時間序列是白噪聲,那么根據(jù)定義它是隨機(jī)的。你無法對它合理的建模并進(jìn)行預(yù)測。
2.模型診斷:時間序列上一系列誤差的預(yù)測模型最好是白噪聲。
模型診斷是時間序列預(yù)測的重要領(lǐng)域。
時間序列數(shù)據(jù)在潛在的因素產(chǎn)生的信號上被預(yù)測,它包含一些白噪聲成分。
例如:
y(t)= signal(t)+ noise(t)
通過時間序列預(yù)測模型進(jìn)行預(yù)測,可以對其進(jìn)行收集和分析。在理想情況下,預(yù)測誤差應(yīng)該是白噪聲。
當(dāng)預(yù)測誤差為白噪聲時,意味著時間序列中的所有信號已全部被模型利用進(jìn)行預(yù)測。剩下的就是無法建模的隨機(jī)波動。
模型預(yù)測的信號不是白噪聲則表明可以進(jìn)一步對預(yù)測模型改進(jìn)。
你的時間序列白噪音嗎?
你的時間序列如果符合下面條件則不是白噪聲:
你的序列均值為零嗎?
方差隨時間變化嗎?
值與延遲值相關(guān)嗎?
你可以用一些工具來檢查你的時間序列是否為白噪音:
創(chuàng)建一個折線圖。檢查總體特征,如變化的平均值,方差或延遲變量之間的明顯關(guān)系。
計(jì)算匯總統(tǒng)計(jì)。對照序列中有意義的連續(xù)塊的均值和方差,檢查整個序列的均值和方差(如年、月、日)。
創(chuàng)建一個自相關(guān)的圖。檢查延遲變量之間的總體相關(guān)性。
白噪聲時間序列的例子
在本節(jié)中,我們將使用Python創(chuàng)建一個高斯白噪聲序列并做一些檢查。它有助于在實(shí)踐中創(chuàng)建和評估白噪聲時間序列。它將提供參考框架和示例圖并且使用和比較自己的時間序列項(xiàng)目的統(tǒng)計(jì)測試,以檢查它們是否為白噪聲
首先,我們可以使用隨機(jī)模塊的gauss()函數(shù)創(chuàng)建一個1,000個隨機(jī)高斯變量的列表。
我們將從高斯分布提取變量:平均值(mu)0.0和標(biāo)準(zhǔn)偏差(sigma)1.0。
一旦創(chuàng)建,為方便起見,我們可以在Pandas序列中打包這個列表。
from randomimport gaussfrom randomimport seedfrom pandasimport Seriesfrom pandas.tools.plottingimport autocorrelation_plot
# seed random number generatorseed(1)# create white noise series
series= [gauss(0.0,1.0)for iin range(1000)]series= Series(series)
接下來,我們可以計(jì)算和打印一些匯總統(tǒng)計(jì)數(shù)據(jù),包含序列的平均值和標(biāo)準(zhǔn)偏差。
# summary statsprint(series.describe())
鑒于我們在繪制隨機(jī)數(shù)時定義了平均值和標(biāo)準(zhǔn)偏差,所以應(yīng)該不會有意外。
count ? 1000.000000mean ? ? ?-0.013222std ? ? ? ?1.003685min ? ? ? ?-2.96121425% ? ? ? ?-0.68419250% ? ? ? ?-0.01093475% ? ? ? ? 0.703915max ? ? ? ? 2.737260
我們可以看到平均值接近0.0,標(biāo)準(zhǔn)偏差接近1.0。考慮到樣本較小預(yù)測會有些誤差。
如果我們有更多的數(shù)據(jù),將序列分成兩半計(jì)算和比較每一半的匯總統(tǒng)計(jì)可能會更有趣。我們認(rèn)為每個子系列的平均值和標(biāo)準(zhǔn)差都會相似。
現(xiàn)在我們可以創(chuàng)建一些序列的線條圖。
# line plot
series.plot()pyplot.show()
我們可以看到,這個序列似乎是隨機(jī)的。
我們還可以創(chuàng)建直方圖,并確認(rèn)分布是高斯分布。
# histogram plot
series.hist()pyplot.show()
事實(shí)上,直方圖顯示了典型的鐘形曲線。
最后,我們可以創(chuàng)建一個自相關(guān)圖并檢查延遲變量的所有自相關(guān)。
# autocorrelationautocorrelation_plot(series)pyplot.show()
自相關(guān)圖沒有顯示任何顯著的自相關(guān)特征。在峰值時可信度達(dá)在95%和99%,但這只是統(tǒng)計(jì)的偶然情況。
為了完整性,下面提供了完整的代碼清單。
from randomimport gaussfrom randomimport seedfrom pandasimport Seriesfrom pandas.tools.plottingimport autocorrelation_plotfrom matplotlibimport pyplot
# seed random number generatorseed(1)# create white noise series
series= [gauss(0.0,1.0)for iin range(1000)]series= Series(series)# summary statsprint(series.describe())# line plot
series.plot()pyplot.show()# histogram plot
series.hist()pyplot.show()# autocorrelationautocorrelation_plot(series)pyplot.show()
原文:網(wǎng)頁鏈接
新聞標(biāo)題:隨機(jī)噪聲函數(shù)python,噪聲是隨機(jī)信號嗎
URL分享:http://chinadenli.net/article44/dsiceee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、、定制開發(fā)、外貿(mào)建站、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)