HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    用于分類的神經(jīng)網(wǎng)絡(luò)模型(用于分類的神經(jīng)網(wǎng)絡(luò)算法)

    發(fā)布時(shí)間:2023-04-19 00:17:38     稿源: 創(chuàng)意嶺    閱讀: 67        

    大家好!今天讓創(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ò)模型(用于分類的神經(jīng)網(wǎng)絡(luò)算法)

    一、神經(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-xP1u12u2+…+αKuK,

    xp1u12u2+…+α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à)新模型

    中的每一個(gè)變換Uj(j=0,1,…,k-1)將A中的第j列主對(duì)角線以下的元素變?yōu)?,而

    中的每一個(gè)變換Vj(j=0,1,…,l-1)將A中的第j行主對(duì)角線緊鄰的右次對(duì)角線元素右邊的元素變?yōu)?。]]

    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à)新模型

    其中變換

    將B中第j列主對(duì)角線下的一個(gè)非0元素變?yōu)?,同時(shí)在第j行的次對(duì)角線元素的右邊出現(xiàn)一個(gè)非0元素;而變換Vj,j+1將第j-1行的次對(duì)角線元素右邊的一個(gè)0元素變?yōu)?,同時(shí)在第j列的主對(duì)角線元素的下方出現(xiàn)一個(gè)非0元素。由此可知,經(jīng)過一次迭代(j=0,1,…,p-1)后,B′仍為雙對(duì)角線矩陣。但隨著迭代的進(jìn)行。最后收斂為對(duì)角矩陣,其對(duì)角線上的元素為奇異值。

    在每次迭代時(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ì)角線元素的平方和將減少

    ,對(duì)角線元素的平方和增加

    ,而矩陣中所有元素的平方和保持不變。由此可知,對(duì)稱矩陣A每次經(jīng)過一次變換,其非對(duì)角線元素的平方和“向零接近一步”。因此,只要反復(fù)進(jìn)行上述變換,就可以逐步將矩陣A變?yōu)閷?duì)角矩陣。對(duì)角矩陣中對(duì)角線上的元素λ0,λ1,…,λn-1即為特征值,而每一步中的平面旋轉(zhuǎn)矩陣的乘積的第i列(i=0,1,…,n-1)即為與λi相應(yīng)的特征向量。

    綜上所述,用雅可比方法求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)口υ10/n,在非對(duì)角線元素中按行掃描選取第一個(gè)絕對(duì)值大于或等于υ1的元素αpq進(jìn)行平面旋轉(zhuǎn)變換,直到所有非對(duì)角線元素的絕對(duì)值均小于υ1為止。再設(shè)關(guān)口υ21/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)

    ,i,j=0,1,…,n-1(i,j≠k);

    4)αij-

    ,i,j=0,1,…,n-1(i,j≠k);

    5)-

    ,i,j=0,1,…,n-1(i≠k);

    最后,根據(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à)新模型

    其中

    表示在模式集的所有模式(批學(xué)習(xí))上求和的梯度信息,(t)表示t時(shí)刻或第t次學(xué)習(xí)。

    權(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),我們引入它的

    各自的更新值

    ,它獨(dú)自確定權(quán)更新值的大小。這是基于符號(hào)相關(guān)的自適應(yīng)過程,它基

    于在誤差函數(shù)E上的局部梯度信息,按照以下的學(xué)習(xí)規(guī)則更新

    中國(guó)礦產(chǎn)資源評(píng)價(jià)新技術(shù)與評(píng)價(jià)新模型

    其中0<η-<1<η+。

    在每個(gè)時(shí)刻,如果目標(biāo)函數(shù)的梯度改變它的符號(hào),它表示最后的更新太大,更新值

    應(yīng)由權(quán)更新值減小倍數(shù)因子η-得到減少;如果目標(biāo)函數(shù)的梯度保持它的符號(hào),更新值應(yīng)由權(quán)更新值增大倍數(shù)因子η+得到增大。

    為了減少自由地可調(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的梯度值

    ,

    設(shè)為第epoch次學(xué)習(xí)產(chǎn)生的各層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ù)型或離散型兩類,等等。

    用于分類的神經(jīng)網(wǎng)絡(luò)模型(用于分類的神經(jīng)網(wǎng)絡(luò)算法)

    以上就是關(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ì)算)

    王者榮耀勝率排行榜(王者榮耀官網(wǎng)勝率榜)

    普陀景觀設(shè)計(jì)報(bào)價(jià)公告(普陀景觀設(shè)計(jì)報(bào)價(jià)公告表)