-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
用于分類的神經(jīng)網(wǎng)絡(luò)模型(用于分類的神經(jīng)網(wǎng)絡(luò)算法)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于用于分類的神經(jīng)網(wǎng)絡(luò)模型的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來(lái)看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、神經(jīng)網(wǎng)絡(luò)Hopfield模型
一、Hopfield模型概述
1982年,美國(guó)加州工學(xué)院J.Hopfield發(fā)表一篇對(duì)人工神經(jīng)網(wǎng)絡(luò)研究頗有影響的論文。他提出了一種具有相互連接的反饋型人工神經(jīng)網(wǎng)絡(luò)模型——Hopfield人工神經(jīng)網(wǎng)絡(luò)。
Hopfield人工神經(jīng)網(wǎng)絡(luò)是一種反饋網(wǎng)絡(luò)(Recurrent Network),又稱自聯(lián)想記憶網(wǎng)絡(luò)。其目的是為了設(shè)計(jì)一個(gè)網(wǎng)絡(luò),存儲(chǔ)一組平衡點(diǎn),使得當(dāng)給網(wǎng)絡(luò)一組初始值時(shí),網(wǎng)絡(luò)通過自行運(yùn)行而最終收斂到所存儲(chǔ)的某個(gè)平衡點(diǎn)上。
Hopfield網(wǎng)絡(luò)是單層對(duì)稱全反饋網(wǎng)絡(luò),根據(jù)其激活函數(shù)的選取不同,可分為離散型Hopfield網(wǎng)絡(luò)(Discrete Hopfield Neural Network,簡(jiǎn)稱 DHNN)和連續(xù)型 Hopfield 網(wǎng)絡(luò)(Continue Hopfield Neural Network,簡(jiǎn)稱CHNN)。離散型Hopfield網(wǎng)絡(luò)的激活函數(shù)為二值型階躍函數(shù),主要用于聯(lián)想記憶、模式分類、模式識(shí)別。這個(gè)軟件為離散型Hopfield網(wǎng)絡(luò)的設(shè)計(jì)、應(yīng)用。
二、Hopfield模型原理
離散型Hopfield網(wǎng)絡(luò)的設(shè)計(jì)目的是使任意輸入矢量經(jīng)過網(wǎng)絡(luò)循環(huán)最終收斂到網(wǎng)絡(luò)所記憶的某個(gè)樣本上。
正交化的權(quán)值設(shè)計(jì)
這一方法的基本思想和出發(fā)點(diǎn)是為了滿足下面4個(gè)要求:
1)保證系統(tǒng)在異步工作時(shí)的穩(wěn)定性,即它的權(quán)值是對(duì)稱的,滿足
wij=wji,i,j=1,2…,N;
2)保證所有要求記憶的穩(wěn)定平衡點(diǎn)都能收斂到自己;
3)使偽穩(wěn)定點(diǎn)的數(shù)目盡可能地少;
4)使穩(wěn)定點(diǎn)的吸引力盡可能地大。
正交化權(quán)值的計(jì)算公式推導(dǎo)如下:
1)已知有P個(gè)需要存儲(chǔ)的穩(wěn)定平衡點(diǎn)x1,x2…,xP-1,xP,xp∈RN,計(jì)算N×(P-1)階矩陣A∈RN×(P-1):
A=(x1-xPx2-xP…xP-1-xP)T。
2)對(duì)A做奇異值分解
A=USVT,
U=(u1u2…uN),
V=(υ1υ2…υP-1),
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
Σ=diαg(λ1,λ2,…,λK),O為零矩陣。
K維空間為N維空間的子空間,它由K個(gè)獨(dú)立的基組成:
K=rαnk(A),
設(shè){u1u2…uK}為A的正交基,而{uK+1uK+2…uN}為N維空間的補(bǔ)充正交基。下面利用U矩陣來(lái)設(shè)計(jì)權(quán)值。
3)構(gòu)造
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
總的連接權(quán)矩陣為:
Wt=Wp-T·Wm,
其中,T為大于-1的參數(shù),缺省值為10。
Wp和Wm均滿足對(duì)稱條件,即
(wp)ij=(wp)ji,
(wm)ij=(wm)ji,
因而Wt中分量也滿足對(duì)稱條件。這就保證了系統(tǒng)在異步時(shí)能夠收斂并且不會(huì)出現(xiàn)極限環(huán)。
4)網(wǎng)絡(luò)的偏差構(gòu)造為
bt=xP-Wt·xP。
下面推導(dǎo)記憶樣本能夠收斂到自己的有效性。
(1)對(duì)于輸入樣本中的任意目標(biāo)矢量xp,p=1,2,…,P,因?yàn)?xp-xP)是A中的一個(gè)矢量,它屬于A的秩所定義的K個(gè)基空間的矢量,所以必存在系數(shù)α1,α2,…,αK,使
xp-xP=α1u1+α2u2+…+αKuK,
即
xp=α1u1+α2u2+…+αKuK+xP,
對(duì)于U中任意一個(gè)ui,有
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
由正交性質(zhì)可知,上式中
當(dāng)i=j,
當(dāng)i≠j,
對(duì)于輸入模式xi,其網(wǎng)絡(luò)輸出為
yi=sgn(Wtxi+bt)
=sgn(Wpxi-T·Wmxi+xP-WpxP+T·WmxP)
=sgn[Wp(xi-xP)-T·Wm(xi-xP)+xP]
=sgn[(Wp-T·Wm)(xi-xP)+xP]
=sgn[Wt(xi-xP)+xP]
=sgn[(xi-xP)+xP]
=xi。
(2)對(duì)于輸入模式xP,其網(wǎng)絡(luò)輸出為
yP=sgn(WtxP+bt)
=sgn(WtxP+xP-WtxP)
=sgn(xP)
=xP。
(3)如果輸入一個(gè)不是記憶樣本的x,網(wǎng)絡(luò)輸出為
y=sgn(Wtx+bt)
=sgn[(Wp-T·Wm)(x-xP)+xP]
=sgn[Wt(x-xP)+xP]。
因?yàn)閤不是已學(xué)習(xí)過的記憶樣本,x-xP不是A中的矢量,則必然有
Wt(x-xP)≠x-xP,
并且再設(shè)計(jì)過程中可以通過調(diào)節(jié)Wt=Wp-T·Wm中的參數(shù)T的大小來(lái)控制(x-xP)與xP的符號(hào),以保證輸入矢量x與記憶樣本之間存在足夠的大小余額,從而使sgn(Wtx+bt)≠x,使x不能收斂到自身。
用輸入模式給出一組目標(biāo)平衡點(diǎn),函數(shù)HopfieldDesign( )可以設(shè)計(jì)出 Hopfield 網(wǎng)絡(luò)的權(quán)值和偏差,保證網(wǎng)絡(luò)對(duì)給定的目標(biāo)矢量能收斂到穩(wěn)定的平衡點(diǎn)。
設(shè)計(jì)好網(wǎng)絡(luò)后,可以應(yīng)用函數(shù)HopfieldSimu( ),對(duì)輸入矢量進(jìn)行分類,這些輸入矢量將趨近目標(biāo)平衡點(diǎn),最終找到他們的目標(biāo)矢量,作為對(duì)輸入矢量進(jìn)行分類。
三、總體算法
1.Hopfield網(wǎng)絡(luò)權(quán)值W[N][N]、偏差b[N]設(shè)計(jì)總體算法
應(yīng)用正交化權(quán)值設(shè)計(jì)方法,設(shè)計(jì)Hopfield網(wǎng)絡(luò);
根據(jù)給定的目標(biāo)矢量設(shè)計(jì)產(chǎn)生權(quán)值W[N][N],偏差b[N];
使Hopfield網(wǎng)絡(luò)的穩(wěn)定輸出矢量與給定的目標(biāo)矢量一致。
1)輸入P個(gè)輸入模式X=(x[1],x[2],…,x[P-1],x[P])
輸入?yún)?shù),包括T、h;
2)由X[N][P]構(gòu)造A[N][P-1]=(x[1]-x[P],x[2]-x[P],…,x[P-1]-x[P]);
3)對(duì)A[N][P-1]作奇異值分解A=USVT;
4)求A[N][P-1]的秩rank;
5)由U=(u[1],u[2],…,u[K])構(gòu)造Wp[N][N];
6)由U=(u[K+1],…,u[N])構(gòu)造Wm[N][N];
7)構(gòu)造Wt[N][N]=Wp[N][N]-T*Wm[N][N];
8)構(gòu)造bt[N]=X[N][P]-Wt[N][N]*X[N][P];
9)構(gòu)造W[N][N](9~13),
構(gòu)造W1[N][N]=h*Wt[N][N];
10)求W1[N][N]的特征值矩陣Val[N][N](對(duì)角線元素為特征值,其余為0),特征向量矩陣Vec[N][N];
11)求Eval[N][N]=diag{exp[diag(Val)]}[N][N];
12)求Vec[N][N]的逆Invec[N][N];
13)構(gòu)造W[N][N]=Vec[N][N]*Eval[N][N]*Invec[N][N];
14)構(gòu)造b[N],(14~15),
C1=exp(h)-1,
C2=-(exp(-T*h)-1)/T;
15)構(gòu)造
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
Uˊ——U的轉(zhuǎn)置;
16)輸出W[N][N],b[N];
17)結(jié)束。
2.Hopfield網(wǎng)絡(luò)預(yù)測(cè)應(yīng)用總體算法
Hopfield網(wǎng)絡(luò)由一層N個(gè)斜坡函數(shù)神經(jīng)元組成。
應(yīng)用正交化權(quán)值設(shè)計(jì)方法,設(shè)計(jì)Hopfield網(wǎng)絡(luò)。
根據(jù)給定的目標(biāo)矢量設(shè)計(jì)產(chǎn)生權(quán)值W[N][N],偏差b[N]。
初始輸出為X[N][P],
計(jì)算X[N][P]=f(W[N][N]*X[N][P]+b[N]),
進(jìn)行T次迭代,
返回最終輸出X[N][P],可以看作初始輸出的分類。
3.斜坡函數(shù)
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
輸出范圍[-1,1]。
四、數(shù)據(jù)流圖
Hopfield網(wǎng)數(shù)據(jù)流圖見附圖3。
五、調(diào)用函數(shù)說明
1.一般實(shí)矩陣奇異值分解
(1)功能
用豪斯荷爾德(Householder)變換及變形QR算法對(duì)一般實(shí)矩陣進(jìn)行奇異值分解。
(2)方法說明
設(shè)A為m×n的實(shí)矩陣,則存在一個(gè)m×m的列正交矩陣U和n×n的列正交矩陣V,使
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
成立。其中
Σ=diag(σ0,σ1,…σp)p⩽min(m,n)-1,
且σ0≥σ1≥…≥σp>0,
上式稱為實(shí)矩陣A的奇異值分解式,σi(i=0,1,…,p)稱為A的奇異值。
奇異值分解分兩大步:
第一步:用豪斯荷爾德變換將A約化為雙對(duì)角線矩陣。即
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
其中
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
j具有如下形式:
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
其中ρ為一個(gè)比例因子,以避免計(jì)算過程中的溢出現(xiàn)象與誤差的累積,Vj是一個(gè)列向量。即
Vj=(υ0,υ1,…,υn-1),
則
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
其中
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
第二步:用變形的QR算法進(jìn)行迭代,計(jì)算所有的奇異值。即:用一系列的平面旋轉(zhuǎn)變換對(duì)雙對(duì)角線矩陣B逐步變換成對(duì)角矩陣。
在每一次的迭代中,用變換
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
其中變換
在每次迭代時(shí),經(jīng)過初始化變換V01后,將在第0列的主對(duì)角線下方出現(xiàn)一個(gè)非0元素。在變換V01中,選擇位移植u的計(jì)算公式如下:
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
最后還需要對(duì)奇異值按非遞增次序進(jìn)行排列。
在上述變換過程中,若對(duì)于某個(gè)次對(duì)角線元素ej滿足
|ej|⩽ε(|sj+1|+|sj|)
則可以認(rèn)為ej為0。
若對(duì)角線元素sj滿足
|sj|⩽ε(|ej-1|+|ej|)
則可以認(rèn)為sj為0(即為0奇異值)。其中ε為給定的精度要求。
(3)調(diào)用說明
int bmuav(double*a,int m,int n,double*u,double*v,double eps,int ka),
本函數(shù)返回一個(gè)整型標(biāo)志值,若返回的標(biāo)志值小于0,則表示出現(xiàn)了迭代60次還未求得某個(gè)奇異值的情況。此時(shí),矩陣的分解式為UAVT;若返回的標(biāo)志值大于0,則表示正常返回。
形參說明:
a——指向雙精度實(shí)型數(shù)組的指針,體積為m×n。存放m×n的實(shí)矩陣A;返回時(shí),其對(duì)角線給出奇異值(以非遞增次序排列),其余元素為0;
m——整型變量,實(shí)矩陣A的行數(shù);
n——整型變量,實(shí)矩陣A的列數(shù);
u——指向雙精度實(shí)型數(shù)組的指針,體積為m×m。返回時(shí)存放左奇異向量U;
υ——指向雙精度實(shí)型數(shù)組的指針,體積為n×n。返回時(shí)存放右奇異向量VT;
esp——雙精度實(shí)型變量,給定的精度要求;
ka——整型變量,其值為max(m,n)+1。
2.求實(shí)對(duì)稱矩陣特征值和特征向量的雅可比過關(guān)法
(1)功能
用雅可比(Jacobi)方法求實(shí)對(duì)稱矩陣的全部特征值與相應(yīng)的特征向量。
(2)方法說明
雅可比方法的基本思想如下。
設(shè)n階矩陣A為對(duì)稱矩陣。在n階對(duì)稱矩陣A的非對(duì)角線元素中選取一個(gè)絕對(duì)值最大的元素,設(shè)為apq。利用平面旋轉(zhuǎn)變換矩陣R0(p,q,θ)對(duì)A進(jìn)行正交相似變換:
A1=R0(p,q,θ)TA,
其中R0(p,q,θ)的元素為
rpp=cosθ,rqq=cosθ,rpq=sinθ,
rqp=sinθ,rij=0,i,j≠p,q。
如果按下式確定角度θ,
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
則對(duì)稱矩陣A經(jīng)上述變換后,其非對(duì)角線元素的平方和將減少
綜上所述,用雅可比方法求n階對(duì)稱矩陣A的特征值及相應(yīng)特征向量的步驟如下:
1)令S=In(In為單位矩陣);
2)在A中選取非對(duì)角線元素中絕對(duì)值最大者,設(shè)為apq;
3)若|apq|<ε,則迭代過程結(jié)束。此時(shí)對(duì)角線元素aii(i=0,1,…,n-1)即為特征值λi,矩陣S的第i列為與λi相應(yīng)的特征向量。否則,繼續(xù)下一步;
4)計(jì)算平面旋轉(zhuǎn)矩陣的元素及其變換后的矩陣A1的元素。其計(jì)算公式如下
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
5)S=S·R(p,q,θ),轉(zhuǎn)(2)。
在選取非對(duì)角線上的絕對(duì)值最大的元素時(shí)用如下方法:
首先計(jì)算實(shí)對(duì)稱矩陣A的非對(duì)角線元素的平方和的平方根
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
然后設(shè)置關(guān)口υ1=υ0/n,在非對(duì)角線元素中按行掃描選取第一個(gè)絕對(duì)值大于或等于υ1的元素αpq進(jìn)行平面旋轉(zhuǎn)變換,直到所有非對(duì)角線元素的絕對(duì)值均小于υ1為止。再設(shè)關(guān)口υ2=υ1/n,重復(fù)這個(gè)過程。以此類推,這個(gè)過程一直作用到對(duì)于某個(gè)υk<ε為止。
(3)調(diào)用說明
void cjcbj(double*a,int n,double*v,double eps)。
形參說明:
a——指向雙精度實(shí)型數(shù)組的指針,體積為n×n,存放n階實(shí)對(duì)稱矩陣A;返回時(shí),其對(duì)角線存放n個(gè)特征值;
n——整型變量,實(shí)矩陣A的階數(shù);
υ——指向雙精度實(shí)型數(shù)組的指針,體積為n×n,返回特征向量,其中第i列為與λi(即返回的αii,i=0,1,……,n-1)對(duì)應(yīng)的特征向量;
esp——雙精度實(shí)型變量。給定的精度要求。
3.矩陣求逆
(1)功能
用全選主元高斯-約當(dāng)(Gauss-Jordan)消去法求n階實(shí)矩陣A的逆矩陣。
(2)方法說明
高斯-約當(dāng)法(全選主元)求逆的步驟如下:
首先,對(duì)于k從0到n-1做如下幾步:
1)從第k行、第k列開始的右下角子陣中選取絕對(duì)值最大的元素,并記住此元素所在的行號(hào)和列號(hào),再通過行交換和列交換將它交換到主元素位置上,這一步稱為全選主元;
2)
3)
4)αij-
5)-
最后,根據(jù)在全選主元過程中所記錄的行、列交換的信息進(jìn)行恢復(fù),恢復(fù)原則如下:在全選主元過程中,先交換的行、列后進(jìn)行恢復(fù);原來(lái)的行(列)交換用列(行)交換來(lái)恢復(fù)。
圖8-4 東昆侖—柴北緣地區(qū)基于HOPFIELD模型的銅礦分類結(jié)果圖
(3)調(diào)用說明
int brinv(double*a,int n)。
本函數(shù)返回一個(gè)整型標(biāo)志位。若返回的標(biāo)志位為0,則表示矩陣A奇異,還輸出信息“err**not inv”;若返回的標(biāo)志位不為0,則表示正常返回。
形參說明:
a——指向雙精度實(shí)型數(shù)組的指針,體積為n×n。存放原矩陣A;返回時(shí),存放其逆矩陣A-1;
n——整型變量,矩陣的階數(shù)。
六、實(shí)例
實(shí)例:柴北緣—東昆侖地區(qū)銅礦分類預(yù)測(cè)。
選取8種因素,分別是重砂異常存在標(biāo)志、水化異常存在標(biāo)志、化探異常峰值、地質(zhì)圖熵值、Ms存在標(biāo)志、Gs存在標(biāo)志、Shdadlie到區(qū)的距離、構(gòu)造線線密度。
構(gòu)置原始變量,并根據(jù)原始數(shù)據(jù)構(gòu)造預(yù)測(cè)模型。
HOPFIELD模型參數(shù)設(shè)置:訓(xùn)練模式維數(shù)8,預(yù)測(cè)樣本個(gè)數(shù)774,參數(shù)個(gè)數(shù)8,迭代次數(shù)330。
結(jié)果分44類(圖8-4,表8-5)。
表8-5 原始數(shù)據(jù)表及分類結(jié)果(部分)
續(xù)表
二、神經(jīng)網(wǎng)絡(luò)BP模型
一、BP模型概述
誤差逆?zhèn)鞑?Error Back-Propagation)神經(jīng)網(wǎng)絡(luò)模型簡(jiǎn)稱為BP(Back-Propagation)網(wǎng)絡(luò)模型。
Pall Werbas博士于1974年在他的博士論文中提出了誤差逆?zhèn)鞑W(xué)習(xí)算法。完整提出并被廣泛接受誤差逆?zhèn)鞑W(xué)習(xí)算法的是以Rumelhart和McCelland為首的科學(xué)家小組。他們?cè)?986年出版“Parallel Distributed Processing,Explorations in the Microstructure of Cognition”(《并行分布信息處理》)一書中,對(duì)誤差逆?zhèn)鞑W(xué)習(xí)算法進(jìn)行了詳盡的分析與介紹,并對(duì)這一算法的潛在能力進(jìn)行了深入探討。
BP網(wǎng)絡(luò)是一種具有3層或3層以上的階層型神經(jīng)網(wǎng)絡(luò)。上、下層之間各神經(jīng)元實(shí)現(xiàn)全連接,即下層的每一個(gè)神經(jīng)元與上層的每一個(gè)神經(jīng)元都實(shí)現(xiàn)權(quán)連接,而每一層各神經(jīng)元之間無(wú)連接。網(wǎng)絡(luò)按有教師示教的方式進(jìn)行學(xué)習(xí),當(dāng)一對(duì)學(xué)習(xí)模式提供給網(wǎng)絡(luò)后,神經(jīng)元的激活值從輸入層經(jīng)各隱含層向輸出層傳播,在輸出層的各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)。在這之后,按減小期望輸出與實(shí)際輸出的誤差的方向,從輸入層經(jīng)各隱含層逐層修正各連接權(quán),最后回到輸入層,故得名“誤差逆?zhèn)鞑W(xué)習(xí)算法”。隨著這種誤差逆?zhèn)鞑バ拚牟粩噙M(jìn)行,網(wǎng)絡(luò)對(duì)輸入模式響應(yīng)的正確率也不斷提高。
BP網(wǎng)絡(luò)主要應(yīng)用于以下幾個(gè)方面:
1)函數(shù)逼近:用輸入模式與相應(yīng)的期望輸出模式學(xué)習(xí)一個(gè)網(wǎng)絡(luò)逼近一個(gè)函數(shù);
2)模式識(shí)別:用一個(gè)特定的期望輸出模式將它與輸入模式聯(lián)系起來(lái);
3)分類:把輸入模式以所定義的合適方式進(jìn)行分類;
4)數(shù)據(jù)壓縮:減少輸出矢量的維數(shù)以便于傳輸或存儲(chǔ)。
在人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,80%~90%的人工神經(jīng)網(wǎng)絡(luò)模型采用BP網(wǎng)絡(luò)或它的變化形式,它也是前向網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)最精華的部分。
二、BP模型原理
下面以三層BP網(wǎng)絡(luò)為例,說明學(xué)習(xí)和應(yīng)用的原理。
1.數(shù)據(jù)定義
P對(duì)學(xué)習(xí)模式(xp,dp),p=1,2,…,P;
輸入模式矩陣X[N][P]=(x1,x2,…,xP);
目標(biāo)模式矩陣d[M][P]=(d1,d2,…,dP)。
三層BP網(wǎng)絡(luò)結(jié)構(gòu)
輸入層神經(jīng)元節(jié)點(diǎn)數(shù)S0=N,i=1,2,…,S0;
隱含層神經(jīng)元節(jié)點(diǎn)數(shù)S1,j=1,2,…,S1;
神經(jīng)元激活函數(shù)f1[S1];
權(quán)值矩陣W1[S1][S0];
偏差向量b1[S1]。
輸出層神經(jīng)元節(jié)點(diǎn)數(shù)S2=M,k=1,2,…,S2;
神經(jīng)元激活函數(shù)f2[S2];
權(quán)值矩陣W2[S2][S1];
偏差向量b2[S2]。
學(xué)習(xí)參數(shù)
目標(biāo)誤差ϵ;
初始權(quán)更新值Δ0;
最大權(quán)更新值Δmax;
權(quán)更新值增大倍數(shù)η+;
權(quán)更新值減小倍數(shù)η-。
2.誤差函數(shù)定義
對(duì)第p個(gè)輸入模式的誤差的計(jì)算公式為
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
y2kp為BP網(wǎng)的計(jì)算輸出。
3.BP網(wǎng)絡(luò)學(xué)習(xí)公式推導(dǎo)
BP網(wǎng)絡(luò)學(xué)習(xí)公式推導(dǎo)的指導(dǎo)思想是,對(duì)網(wǎng)絡(luò)的權(quán)值W、偏差b修正,使誤差函數(shù)沿負(fù)梯度方向下降,直到網(wǎng)絡(luò)輸出誤差精度達(dá)到目標(biāo)精度要求,學(xué)習(xí)結(jié)束。
各層輸出計(jì)算公式
輸入層
y0i=xi,i=1,2,…,S0;
隱含層
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
y1j=f1(z1j),
j=1,2,…,S1;
輸出層
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
y2k=f2(z2k),
k=1,2,…,S2。
輸出節(jié)點(diǎn)的誤差公式
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
對(duì)輸出層節(jié)點(diǎn)的梯度公式推導(dǎo)
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
E是多個(gè)y2m的函數(shù),但只有一個(gè)y2k與wkj有關(guān),各y2m間相互獨(dú)立。
其中
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
則
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
設(shè)輸出層節(jié)點(diǎn)誤差為
δ2k=(dk-y2k)·f2′(z2k),
則
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
同理可得
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
對(duì)隱含層節(jié)點(diǎn)的梯度公式推導(dǎo)
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
E是多個(gè)y2k的函數(shù),針對(duì)某一個(gè)w1ji,對(duì)應(yīng)一個(gè)y1j,它與所有的y2k有關(guān)。因此,上式只存在對(duì)k的求和,其中
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
則
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
設(shè)隱含層節(jié)點(diǎn)誤差為
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
則
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
同理可得
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
4.采用彈性BP算法(RPROP)計(jì)算權(quán)值W、偏差b的修正值ΔW,Δb
1993年德國(guó) Martin Riedmiller和Heinrich Braun 在他們的論文“A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm”中,提出Resilient Backpropagation算法——彈性BP算法(RPROP)。這種方法試圖消除梯度的大小對(duì)權(quán)步的有害影響,因此,只有梯度的符號(hào)被認(rèn)為表示權(quán)更新的方向。
權(quán)改變的大小僅僅由權(quán)專門的“更新值”
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
其中
權(quán)更新遵循規(guī)則:如果導(dǎo)數(shù)是正(增加誤差),這個(gè)權(quán)由它的更新值減少。如果導(dǎo)數(shù)是負(fù),更新值增加。
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
RPROP算法是根據(jù)局部梯度信息實(shí)現(xiàn)權(quán)步的直接修改。對(duì)于每個(gè)權(quán),我們引入它的
各自的更新值
于在誤差函數(shù)E上的局部梯度信息,按照以下的學(xué)習(xí)規(guī)則更新
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
其中0<η-<1<η+。
在每個(gè)時(shí)刻,如果目標(biāo)函數(shù)的梯度改變它的符號(hào),它表示最后的更新太大,更新值
為了減少自由地可調(diào)參數(shù)的數(shù)目,增大倍數(shù)因子η+和減小倍數(shù)因子η–被設(shè)置到固定值
η+=1.2,
η-=0.5,
這兩個(gè)值在大量的實(shí)踐中得到了很好的效果。
RPROP算法采用了兩個(gè)參數(shù):初始權(quán)更新值Δ0和最大權(quán)更新值Δmax
當(dāng)學(xué)習(xí)開始時(shí),所有的更新值被設(shè)置為初始值Δ0,因?yàn)樗苯哟_定了前面權(quán)步的大小,它應(yīng)該按照權(quán)自身的初值進(jìn)行選擇,例如,Δ0=0.1(默認(rèn)設(shè)置)。
為了使權(quán)不至于變得太大,設(shè)置最大權(quán)更新值限制Δmax,默認(rèn)上界設(shè)置為
Δmax=50.0。
在很多實(shí)驗(yàn)中,發(fā)現(xiàn)通過設(shè)置最大權(quán)更新值Δmax到相當(dāng)小的值,例如
Δmax=1.0。
我們可能達(dá)到誤差減小的平滑性能。
5.計(jì)算修正權(quán)值W、偏差b
第t次學(xué)習(xí),權(quán)值W、偏差b的的修正公式
W(t)=W(t-1)+ΔW(t),
b(t)=b(t-1)+Δb(t),
其中,t為學(xué)習(xí)次數(shù)。
6.BP網(wǎng)絡(luò)學(xué)習(xí)成功結(jié)束條件每次學(xué)習(xí)累積誤差平方和
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
每次學(xué)習(xí)平均誤差
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
當(dāng)平均誤差MSE<ε,BP網(wǎng)絡(luò)學(xué)習(xí)成功結(jié)束。
7.BP網(wǎng)絡(luò)應(yīng)用預(yù)測(cè)
在應(yīng)用BP網(wǎng)絡(luò)時(shí),提供網(wǎng)絡(luò)輸入給輸入層,應(yīng)用給定的BP網(wǎng)絡(luò)及BP網(wǎng)絡(luò)學(xué)習(xí)得到的權(quán)值W、偏差b,網(wǎng)絡(luò)輸入經(jīng)過從輸入層經(jīng)各隱含層向輸出層的“順傳播”過程,計(jì)算出BP網(wǎng)的預(yù)測(cè)輸出。
8.神經(jīng)元激活函數(shù)f
線性函數(shù)
f(x)=x,
f′(x)=1,
f(x)的輸入范圍(-∞,+∞),輸出范圍(-∞,+∞)。
一般用于輸出層,可使網(wǎng)絡(luò)輸出任何值。
S型函數(shù)S(x)
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍(0,1)。
f′(x)=f(x)[1-f(x)],
f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,
一般用于隱含層,可使范圍(-∞,+∞)的輸入,變成(0,1)的網(wǎng)絡(luò)輸出,對(duì)較大的輸入,放大系數(shù)較??;而對(duì)較小的輸入,放大系數(shù)較大,所以可用來(lái)處理和逼近非線性的輸入/輸出關(guān)系。
在用于模式識(shí)別時(shí),可用于輸出層,產(chǎn)生逼近于0或1的二值輸出。
雙曲正切S型函數(shù)
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍(-1,1)。
f′(x)=1-f(x)·f(x),
f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,1]。
一般用于隱含層,可使范圍(-∞,+∞)的輸入,變成(-1,1)的網(wǎng)絡(luò)輸出,對(duì)較大的輸入,放大系數(shù)較??;而對(duì)較小的輸入,放大系數(shù)較大,所以可用來(lái)處理和逼近非線性的輸入/輸出關(guān)系。
階梯函數(shù)
類型1
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
f′(x)=0。
類型2
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍{-1,1}。
f′(x)=0。
斜坡函數(shù)
類型1
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍[0,1]。
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
類型2
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍[-1,1]。
中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型
f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
三、總體算法
1.三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)權(quán)值W、偏差b初始化總體算法
(1)輸入?yún)?shù)X[N][P],S0,S1,f1[S1],S2,f2[S2];
(2)計(jì)算輸入模式X[N][P]各個(gè)變量的最大值,最小值矩陣 Xmax[N],Xmin[N];
(3)隱含層的權(quán)值W1,偏差b1初始化。
情形1:隱含層激活函數(shù)f( )都是雙曲正切S型函數(shù)
1)計(jì)算輸入模式X[N][P]的每個(gè)變量的范圍向量Xrng[N];
2)計(jì)算輸入模式X的每個(gè)變量的范圍均值向量Xmid[N];
3)計(jì)算W,b的幅度因子Wmag;
4)產(chǎn)生[-1,1]之間均勻分布的S0×1維隨機(jī)數(shù)矩陣Rand[S1];
5)產(chǎn)生均值為0,方差為1的正態(tài)分布的S1×S0維隨機(jī)數(shù)矩陣Randnr[S1][S0],隨機(jī)數(shù)范圍大致在[-1,1];
6)計(jì)算W[S1][S0],b[S1];
7)計(jì)算隱含層的初始化權(quán)值W1[S1][S0];
8)計(jì)算隱含層的初始化偏差b1[S1];
9))輸出W1[S1][S0],b1[S1]。
情形2:隱含層激活函數(shù)f( )都是S型函數(shù)
1)計(jì)算輸入模式X[N][P]的每個(gè)變量的范圍向量Xrng[N];
2)計(jì)算輸入模式X的每個(gè)變量的范圍均值向量Xmid[N];
3)計(jì)算W,b的幅度因子Wmag;
4)產(chǎn)生[-1,1]之間均勻分布的S0×1維隨機(jī)數(shù)矩陣Rand[S1];
5)產(chǎn)生均值為0,方差為1的正態(tài)分布的S1×S0維隨機(jī)數(shù)矩陣Randnr[S1][S0],隨機(jī)數(shù)范圍大致在[-1,1];
6)計(jì)算W[S1][S0],b[S1];
7)計(jì)算隱含層的初始化權(quán)值W1[S1][S0];
8)計(jì)算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
情形3:隱含層激活函數(shù)f( )為其他函數(shù)的情形
1)計(jì)算輸入模式X[N][P]的每個(gè)變量的范圍向量Xrng[N];
2)計(jì)算輸入模式X的每個(gè)變量的范圍均值向量Xmid[N];
3)計(jì)算W,b的幅度因子Wmag;
4)產(chǎn)生[-1,1]之間均勻分布的S0×1維隨機(jī)數(shù)矩陣Rand[S1];
5)產(chǎn)生均值為0,方差為1的正態(tài)分布的S1×S0維隨機(jī)數(shù)矩陣Randnr[S1][S0],隨機(jī)數(shù)范圍大致在[-1,1];
6)計(jì)算W[S1][S0],b[S1];
7)計(jì)算隱含層的初始化權(quán)值W1[S1][S0];
8)計(jì)算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
(4)輸出層的權(quán)值W2,偏差b2初始化
1)產(chǎn)生[-1,1]之間均勻分布的S2×S1維隨機(jī)數(shù)矩陣W2[S2][S1];
2)產(chǎn)生[-1,1]之間均勻分布的S2×1維隨機(jī)數(shù)矩陣b2[S2];
3)輸出W2[S2][S1],b2[S2]。
2.應(yīng)用彈性BP算法(RPROP)學(xué)習(xí)三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)權(quán)值W、偏差b總體算法
函數(shù):Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)
(1)輸入?yún)?shù)
P對(duì)模式(xp,dp),p=1,2,…,P;
三層BP網(wǎng)絡(luò)結(jié)構(gòu);
學(xué)習(xí)參數(shù)。
(2)學(xué)習(xí)初始化
1)
2)各層W,b的梯度值
(3)由輸入模式X求第一次學(xué)習(xí)各層輸出y0,y1,y2及第一次學(xué)習(xí)平均誤差MSE
(4)進(jìn)入學(xué)習(xí)循環(huán)
epoch=1
(5)判斷每次學(xué)習(xí)誤差是否達(dá)到目標(biāo)誤差要求
如果MSE<ϵ,
則,跳出epoch循環(huán),
轉(zhuǎn)到(12)。
(6)保存第epoch-1次學(xué)習(xí)產(chǎn)生的各層W,b的梯度值
(7)求第epoch次學(xué)習(xí)各層W,b的梯度值
1)求各層誤差反向傳播值δ;
2)求第p次各層W,b的梯度值
3)求p=1,2,…,P次模式產(chǎn)生的W,b的梯度值
(8)如果epoch=1,則將第epoch-1次學(xué)習(xí)的各層W,b的梯度值
(9)求各層W,b的更新
1)求權(quán)更新值Δij更新;
2)求W,b的權(quán)更新值
3)求第epoch次學(xué)習(xí)修正后的各層W,b。
(10)用修正后各層W、b,由X求第epoch次學(xué)習(xí)各層輸出y0,y1,y2及第epoch次學(xué)習(xí)誤差MSE
(11)epoch=epoch+1,
如果epoch≤MAX_EPOCH,轉(zhuǎn)到(5);
否則,轉(zhuǎn)到(12)。
(12)輸出處理
1)如果MSE<ε,
則學(xué)習(xí)達(dá)到目標(biāo)誤差要求,輸出W1,b1,W2,b2。
2)如果MSE≥ε,
則學(xué)習(xí)沒有達(dá)到目標(biāo)誤差要求,再次學(xué)習(xí)。
(13)結(jié)束
3.三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)預(yù)測(cè)總體算法
首先應(yīng)用Train3lBP_RPROP( )學(xué)習(xí)三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)權(quán)值W、偏差b,然后應(yīng)用三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)預(yù)測(cè)。
函數(shù):Simu3lBP( )。
1)輸入?yún)?shù):
P個(gè)需預(yù)測(cè)的輸入數(shù)據(jù)向量xp,p=1,2,…,P;
三層BP網(wǎng)絡(luò)結(jié)構(gòu);
學(xué)習(xí)得到的各層權(quán)值W、偏差b。
2)計(jì)算P個(gè)需預(yù)測(cè)的輸入數(shù)據(jù)向量xp(p=1,2,…,P)的網(wǎng)絡(luò)輸出 y2[S2][P],輸出預(yù)測(cè)結(jié)果y2[S2][P]。
四、總體算法流程圖
BP網(wǎng)絡(luò)總體算法流程圖見附圖2。
五、數(shù)據(jù)流圖
BP網(wǎng)數(shù)據(jù)流圖見附圖1。
六、實(shí)例
實(shí)例一 全國(guó)銅礦化探異常數(shù)據(jù)BP 模型分類
1.全國(guó)銅礦化探異常數(shù)據(jù)準(zhǔn)備
在全國(guó)銅礦化探數(shù)據(jù)上用穩(wěn)健統(tǒng)計(jì)學(xué)方法選取銅異常下限值33.1,生成全國(guó)銅礦化探異常數(shù)據(jù)。
2.模型數(shù)據(jù)準(zhǔn)備
根據(jù)全國(guó)銅礦化探異常數(shù)據(jù),選取7類33個(gè)礦點(diǎn)的化探數(shù)據(jù)作為模型數(shù)據(jù)。這7類分別是巖漿巖型銅礦、斑巖型銅礦、矽卡巖型、海相火山型銅礦、陸相火山型銅礦、受變質(zhì)型銅礦、海相沉積型銅礦,另添加了一類沒有銅異常的模型(表8-1)。
3.測(cè)試數(shù)據(jù)準(zhǔn)備
全國(guó)化探數(shù)據(jù)作為測(cè)試數(shù)據(jù)集。
4.BP網(wǎng)絡(luò)結(jié)構(gòu)
隱層數(shù)2,輸入層到輸出層向量維數(shù)分別為14,9、5、1。學(xué)習(xí)率設(shè)置為0.9,系統(tǒng)誤差1e-5。沒有動(dòng)量項(xiàng)。
表8-1 模型數(shù)據(jù)表
續(xù)表
5.計(jì)算結(jié)果圖
如圖8-2、圖8-3。
圖8-2
圖8-3 全國(guó)銅礦礦床類型BP模型分類示意圖
實(shí)例二 全國(guó)金礦礦石量品位數(shù)據(jù)BP 模型分類
1.模型數(shù)據(jù)準(zhǔn)備
根據(jù)全國(guó)金礦儲(chǔ)量品位數(shù)據(jù),選取4類34個(gè)礦床數(shù)據(jù)作為模型數(shù)據(jù),這4類分別是綠巖型金礦、與中酸性浸入巖有關(guān)的熱液型金礦、微細(xì)浸染型型金礦、火山熱液型金礦(表8-2)。
2.測(cè)試數(shù)據(jù)準(zhǔn)備
模型樣本點(diǎn)和部分金礦點(diǎn)金屬量、礦石量、品位數(shù)據(jù)作為測(cè)試數(shù)據(jù)集。
3.BP網(wǎng)絡(luò)結(jié)構(gòu)
輸入層為三維,隱層1層,隱層為三維,輸出層為四維,學(xué)習(xí)率設(shè)置為0.8,系統(tǒng)誤差1e-4,迭代次數(shù)5000。
表8-2 模型數(shù)據(jù)
4.計(jì)算結(jié)果
結(jié)果見表8-3、8-4。
表8-3 訓(xùn)練學(xué)習(xí)結(jié)果
表8-4 預(yù)測(cè)結(jié)果(部分)
續(xù)表
三、幾種常見的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)RNN、LSTM、GRU
傳統(tǒng)文本處理任務(wù)的方法中一般將TF-IDF向量作為特征輸入。顯而易見,這樣的表示實(shí)際上丟失了輸入的文本序列中每個(gè)單詞的順序。在神經(jīng)網(wǎng)絡(luò)的建模過程中,一般的前饋神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò),通常接受一個(gè)定長(zhǎng)的向量作為輸入。卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本數(shù)據(jù)建模時(shí),輸入變長(zhǎng)的字符串或者單詞串,然后通過滑動(dòng)窗口加池化的方式將原先的輸入轉(zhuǎn)換成一個(gè)固定長(zhǎng)度的向量表示,這樣做可以捕捉到原文本中的一些局部特征,但是兩個(gè)單詞之間的長(zhǎng)距離依賴關(guān)系還是很難被學(xué)習(xí)到。
循環(huán)神經(jīng)網(wǎng)絡(luò)卻能很好地處理文本數(shù)據(jù)變長(zhǎng)并且有序的輸入序列。它模擬了人閱讀一篇文章的順序,從前到后閱讀文章中的每一個(gè)單詞,將前面閱讀到的有用信息編碼到狀態(tài)變量中去,從而擁有了一定的記憶能力,可以更好地理解之后的文本。
其網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
由圖可見,t是時(shí)刻,x是輸入層,s是隱藏層,o是輸出層,矩陣W就是隱藏層上一次的值作為這一次的輸入的權(quán)重。
如果反復(fù)把式 2 帶入到式 1,將得到:
其中f和g為激活函數(shù),U為輸入層到隱含層的權(quán)重矩陣,W為隱含層從上一時(shí)刻到下一時(shí)刻狀態(tài)轉(zhuǎn)移的權(quán)重矩陣。在文本分類任務(wù)中,f可以選取Tanh函數(shù)或者ReLU函數(shù),g可以采用Softmax函數(shù)。
通過最小化損失誤差(即輸出的y與真實(shí)類別之間的距離),我們可以不斷訓(xùn)練網(wǎng)絡(luò),使得得到的循環(huán)神經(jīng)網(wǎng)絡(luò)可以準(zhǔn)確地預(yù)測(cè)文本所屬的類別,達(dá)到分類目的。相比于卷積神經(jīng)網(wǎng)絡(luò)等前饋神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)由于具備對(duì)序列順序信息的刻畫能力,往往能得到更準(zhǔn)確的結(jié)果。
RNN的訓(xùn)練算法為:BPTT
BPTT的基本原理和BP算法是一樣的,同樣是三步:
1.前向計(jì)算每個(gè)神經(jīng)元的輸出值;
2.反向計(jì)算每個(gè)神經(jīng)元的誤差項(xiàng)值,它是誤差函數(shù)E對(duì)神經(jīng)元j的加權(quán)輸入的偏導(dǎo)數(shù);
3.計(jì)算每個(gè)權(quán)重的梯度。
最后再用隨機(jī)梯度下降算法更新權(quán)重。
具體參考: https://www.jianshu.com/p/39a99c88a565
最后由鏈?zhǔn)椒▌t得到下面以雅可比矩陣來(lái)表達(dá)的每個(gè)權(quán)重的梯度:
由于預(yù)測(cè)的誤差是沿著神經(jīng)網(wǎng)絡(luò)的每一層反向傳播的,因此當(dāng)雅克比矩陣的最大特征值大于1時(shí),隨著離輸出越來(lái)越遠(yuǎn),每層的梯度大小會(huì)呈指數(shù)增長(zhǎng),導(dǎo)致梯度爆炸;反之,若雅克比矩陣的最大特征值小于1,梯度的大小會(huì)呈指數(shù)縮小,產(chǎn)生梯度消失。對(duì)于普通的前饋網(wǎng)絡(luò)來(lái)說,梯度消失意味著無(wú)法通過加深網(wǎng)絡(luò)層次來(lái)改善神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果,因?yàn)闊o(wú)論如何加深網(wǎng)絡(luò),只有靠近輸出的若干層才真正起到學(xué)習(xí)的作用。 這使得循環(huán)神經(jīng)網(wǎng)絡(luò)模型很難學(xué)習(xí)到輸入序列中的長(zhǎng)距離依賴關(guān)系 。
關(guān)于RNN梯度下降的詳細(xì)推導(dǎo)可以參考: https://zhuanlan.zhihu.com/p/44163528
梯度爆炸的問題可以通過梯度裁剪來(lái)緩解,即當(dāng)梯度的范式大于某個(gè)給定值時(shí),對(duì)梯度進(jìn)行等比收縮。而梯度消失問題相對(duì)比較棘手,需要對(duì)模型本身進(jìn)行改進(jìn)。深度殘差網(wǎng)絡(luò)是對(duì)前饋神經(jīng)網(wǎng)絡(luò)的改進(jìn),通過殘差學(xué)習(xí)的方式緩解了梯度消失的現(xiàn)象,從而使得我們能夠?qū)W習(xí)到更深層的網(wǎng)絡(luò)表示;而對(duì)于循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)說,長(zhǎng)短時(shí)記憶模型及其變種門控循環(huán)單元等模型通過加入門控機(jī)制,很大程度上彌補(bǔ)了梯度消失所帶來(lái)的損失。
LSTM的網(wǎng)絡(luò)機(jī)構(gòu)圖如下所示:
與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)相比,LSTM仍然是基于xt和ht−1來(lái)計(jì)算ht,只不過對(duì)內(nèi)部的結(jié)構(gòu)進(jìn)行了更加精心的設(shè)計(jì),加入了輸入門it 、遺忘門ft以及輸出門ot三個(gè)門和一個(gè)內(nèi)部記憶單元ct。輸入門控制當(dāng)前計(jì)算的新狀態(tài)以多大程度更新到記憶單元中;遺忘門控制前一步記憶單元中的信息有多大程度被遺忘掉;輸出門控制當(dāng)前的輸出有多大程度上取決于當(dāng)前的記憶單元。
在經(jīng)典的LSTM模型中,第t層的更新計(jì)算公式為
其中it是通過輸入xt和上一步的隱含層輸出ht−1進(jìn)行線性變換,再經(jīng)過激活函數(shù)σ得到的。輸入門it的結(jié)果是向量,其中每個(gè)元素是0到1之間的實(shí)數(shù),用于控制各維度流過閥門的信息量;Wi 、Ui兩個(gè)矩陣和向量bi為輸入門的參數(shù),是在訓(xùn)練過程中需要學(xué)習(xí)得到的。遺忘門ft和輸出門ot的計(jì)算方式與輸入門類似,它們有各自的參數(shù)W、U和b。與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)不同的是,從上一個(gè)記憶單元的狀態(tài)ct−1到當(dāng)前的狀態(tài)ct的轉(zhuǎn)移不一定完全取決于激活函數(shù)計(jì)算得到的狀態(tài),還由輸入門和遺忘門來(lái)共同控制。
在一個(gè)訓(xùn)練好的網(wǎng)絡(luò)中,當(dāng)輸入的序列中沒有重要信息時(shí),LSTM的遺忘門的值接近于1,輸入門的值接近于0,此時(shí)過去的記憶會(huì)被保存,從而實(shí)現(xiàn)了長(zhǎng)期記憶功能;當(dāng)輸入的序列中出現(xiàn)了重要的信息時(shí),LSTM應(yīng)當(dāng)把其存入記憶中,此時(shí)其輸入門的值會(huì)接近于1;當(dāng)輸入的序列中出現(xiàn)了重要信息,且該信息意味著之前的記憶不再重要時(shí),輸入門的值接近1,而遺忘門的值接近于0,這樣舊的記憶被遺忘,新的重要信息被記憶。經(jīng)過這樣的設(shè)計(jì),整個(gè)網(wǎng)絡(luò)更容易學(xué)習(xí)到序列之間的長(zhǎng)期依賴。
GRU是在LSTM上進(jìn)行簡(jiǎn)化而得到的,GRU的網(wǎng)絡(luò)結(jié)構(gòu)如下所示:
Zt代表更新門,更新門的作用類似于LSTM中的遺忘門和輸入門,它能決定要丟棄哪些信息和要添加哪些新信息。
Rt代表重置門,重置門用于決定丟棄先前信息的程度。
要注意的是,h只是一個(gè)變量,因此在每個(gè)時(shí)刻,包括最后的線性組合,h都是在用以前的自己和當(dāng)前的備選答案更新自己。舉例來(lái)說,這一個(gè)變量好比一杯酒,每次我們要把一部分酒倒出去,并把倒出去的酒和新加入的原料混合,然后在倒回來(lái),這里的reset控制的就是要倒出去的,并且混合好之后再倒回來(lái)的酒的比例,而update控制的則是用多大的比例混合新原料和倒出來(lái)的之前調(diào)制好的酒。同理,也可以以此理解LSTM,LSTM的遺忘門功能上和reset相似,而輸入門與update相似,不同之處在于LSTM還控制了當(dāng)前狀態(tài)的exposure,也就是輸出門的功能,這是GRU所沒有的。
1.百面機(jī)器學(xué)習(xí)
2. https://zhuanlan.zhihu.com/p/45649187
3. https://www.jianshu.com/p/39a99c88a565
四、神經(jīng)網(wǎng)絡(luò)的分類
網(wǎng)絡(luò)分類人工神經(jīng)網(wǎng)絡(luò)按其模型結(jié)構(gòu)大體可以分為前饋型網(wǎng)絡(luò)也稱為多層感知機(jī)網(wǎng)絡(luò))和反饋型網(wǎng)絡(luò)(也稱為Hopfield網(wǎng)絡(luò))兩大類,前者在數(shù)學(xué)上可以看作是一類大規(guī)模的非線性映射系統(tǒng),后者則是一類大規(guī)模的非線性動(dòng)力學(xué)系統(tǒng)。它們的結(jié)構(gòu)模型如圖1、圖2所示,圖中圓圏代表神經(jīng)元,其間的有向連線代表神經(jīng)元突觸。按照學(xué)習(xí)方式,人工神經(jīng)網(wǎng)絡(luò)又可分為有導(dǎo)師學(xué)習(xí)和無(wú)導(dǎo)師學(xué)習(xí)兩類;按工作方式則可分為確定性和隨機(jī)性兩類;按時(shí)間特性還可分為連續(xù)型或離散型兩類,等等。
以上就是關(guān)于用于分類的神經(jīng)網(wǎng)絡(luò)模型相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
ecs快照常用于哪些場(chǎng)景(excel快照有什么用)
macbookpro主要用途(macbookpro主要用于什么)
最初計(jì)算機(jī)主要是用于什么(最初計(jì)算機(jī)主要是用于什么進(jìn)行計(jì)算)
普陀景觀設(shè)計(jì)報(bào)價(jià)公告(普陀景觀設(shè)計(jì)報(bào)價(jià)公告表)
猜你喜歡
慣性指數(shù)怎么求(二次型的正慣性指數(shù)怎么求)
中國(guó)的地理中心(中國(guó)的地理中心位置是哪個(gè)城市)
真正能隨時(shí)提現(xiàn)的游戲(每天能賺30—50元的游戲)
網(wǎng)站制作培訓(xùn)(網(wǎng)站制作設(shè)計(jì)培訓(xùn))
seo搜索引擎優(yōu)化費(fèi)用(seo搜索引擎優(yōu)化費(fèi)用多少)
如何申報(bào)adsense收入(adsense 收入)
鏡像和復(fù)制的區(qū)別(鏡像和復(fù)制的區(qū)別是什么)