• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于小樣本數(shù)據(jù)的BP神經(jīng)網(wǎng)絡(luò)建模

    2022-04-29 03:23:24周夢呂志剛邸若海李葉
    科學(xué)技術(shù)與工程 2022年7期
    關(guān)鍵詞:拉格朗權(quán)值懲罰

    周夢, 呂志剛, 邸若海, 李葉

    (西安工業(yè)大學(xué)電子信息工程學(xué)院, 西安 710021)

    BP(back propagation)神經(jīng)網(wǎng)絡(luò)技術(shù)作為現(xiàn)代人工智能領(lǐng)域的一個重要組成部分,具有非線性映射能力強和并行信息處理能力強的特點[1],在實際中得到了廣泛的應(yīng)用,主要用來實現(xiàn)模式識別、數(shù)據(jù)分類、函數(shù)擬合等功能。Gallant等[2]經(jīng)過研究表明若要使得網(wǎng)絡(luò)輸出結(jié)果與實際值無限接近,則需使用于訓(xùn)練的樣本量無限大。但在實際生產(chǎn)中,采集到大量可以用于神經(jīng)網(wǎng)絡(luò)建模的數(shù)據(jù)十分困難,數(shù)據(jù)量較少時所建模型精度往往不符合要求,甚至?xí)霈F(xiàn)與實際結(jié)果相反的情況。

    小樣本BP神經(jīng)網(wǎng)絡(luò)建模問題引發(fā)了中外學(xué)者的廣泛關(guān)注。針對小樣本問題,Joerding 等[3]提出將專家知識融入建模過程中,使得小樣本條件下神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果達到與大量樣本訓(xùn)練相似的效果,但該方法僅適用于模型輸入輸出均為一維的情況。宗宸生等[4]通過將改進粒子群算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合解決了小樣本條件下糧食產(chǎn)量預(yù)測問題,但該方法僅對初始權(quán)值與閾值進行優(yōu)化,并未從根本上解決小樣本預(yù)測問題。王宏剛等[5]提出分別采用Bootstrap法和核密度拉丁超立方采樣法擴充訓(xùn)練樣本,利用擴充后的樣本訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),在保障小樣本自身規(guī)律的情況下,解決了小樣本數(shù)據(jù)BP神經(jīng)網(wǎng)絡(luò)建模問題,并驗證了Bootstrap方法具有更高的適用性,但該方法無法適用于大規(guī)模的實際系統(tǒng)中。趙文清等[6]通過設(shè)計殘差BP神經(jīng)網(wǎng)絡(luò),以一個殘差BP神經(jīng)網(wǎng)絡(luò)作為一個模塊,通過將多個模塊進行堆疊提高小樣本BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練精度,但該方法設(shè)計過程過于復(fù)雜。

    目前解決小樣本條件下BP神經(jīng)網(wǎng)絡(luò)建模問題的方法主要分為兩種,一種是擴充數(shù)據(jù)的方法,獲得與小樣本數(shù)據(jù)相同分布規(guī)律的擴充數(shù)據(jù),利用擴充后的數(shù)據(jù)進行建模,但當(dāng)所獲取的擴充數(shù)據(jù)不準(zhǔn)確時,網(wǎng)絡(luò)訓(xùn)練結(jié)果同樣不準(zhǔn)確;另一種是將專家知識與神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,但目前已有的方法對不同類型的專家知識的融合沒有統(tǒng)一的框架,且預(yù)測精度不高。增廣拉格朗日乘子法為不同類型的約束條件提供了統(tǒng)一的框架,因此現(xiàn)通過增廣拉格朗日乘子法將專家知識融入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,提高小樣本條件下BP神經(jīng)網(wǎng)絡(luò)預(yù)測精度。同時,通過遺傳算法獲取最優(yōu)的初始權(quán)值與閾值。

    1 預(yù)備知識

    1.1 BP神經(jīng)網(wǎng)絡(luò)

    BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),采用梯度下降法進行反向傳播[7],是目前應(yīng)用最廣的神經(jīng)網(wǎng)絡(luò)。如圖1所示為BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

    圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of BP neural network

    根據(jù)實際應(yīng)用,確定好BP神經(jīng)網(wǎng)絡(luò)各層神經(jīng)元數(shù)目及所需使用的激活函數(shù)后,就可以開始進行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程如下。

    神經(jīng)網(wǎng)絡(luò)的輸入向量為

    X=(x1,x2,…,xi,…,xn)T

    (1)

    隱含層各神經(jīng)元輸入為

    nj=ω1jx1+ω2jx2+…+ωnjxn

    (2)

    隱含層各神經(jīng)元輸出為

    Hj=f(nj-aj)

    (3)

    隱含層輸出向量為

    H=(H1,H2,…,Hj,…,Hl)T

    (4)

    輸出層各神經(jīng)元輸入為

    lk=ω1kH1+ω2kH2+…+ωlkHl

    (5)

    輸出層各神經(jīng)元輸出為

    ok=g(lk-bk)

    (6)

    式中:wj為隱含層權(quán)值;wk為輸出層權(quán)值;f(·)為sigmoid函數(shù);g(·)為Purelin函數(shù);aj為隱含層閾值;bk為隱含層閾值。

    1.2 懲罰函數(shù)法

    懲罰函數(shù)法的作用是將約束優(yōu)化問題轉(zhuǎn)變?yōu)闉闊o約束優(yōu)化問題[8]。懲罰函數(shù)法的主要任務(wù)是確定懲罰項及初始罰因子。根據(jù)懲罰項設(shè)計的形式不同,懲罰函數(shù)法分為靜態(tài)懲罰函數(shù)[9],動態(tài)懲罰函數(shù)[10]和自適應(yīng)懲罰函數(shù)[11]。其中自適應(yīng)懲罰函數(shù)法的懲罰因子可以根據(jù)優(yōu)化過程不斷調(diào)整,并且自適應(yīng)懲罰函數(shù)法可以根據(jù)優(yōu)化過程中反饋信息及時對懲罰函數(shù)進行調(diào)節(jié),與其他幾種懲罰函數(shù)相比,具有一定的優(yōu)勢。假設(shè)有約束問題minf(x),需滿足限制ci(x)≤0,懲罰函數(shù)法的一般形式φ(x)為

    (7)

    (8)

    式中:ci(x)為不同類型的約束條件;I為約束條件個數(shù);f(x)為目標(biāo)函數(shù);懲罰函數(shù)φ(x)第二項為懲罰項;σ為懲罰因子。

    2 基于專家知識的BP神經(jīng)網(wǎng)絡(luò)建模

    2.1 專家知識的表達

    專家知識指的是領(lǐng)域?qū)<以趯ρ芯繂栴}的機理有一定的了解。專家知識又被稱為先驗知識、機理信息、領(lǐng)域知識等。胡包鋼等[12]將先驗信息定義如下:先驗信息(prior information)是指在建模前就通過已有經(jīng)驗得知的輸入與輸出間的關(guān)系。本文中主要研究單調(diào)性專家知識,其數(shù)學(xué)定義如下。

    如果對于函數(shù)f(x)在定義域內(nèi)任意兩點x1、x2都存在

    (9)

    則稱函數(shù)f(x)在此區(qū)間是單調(diào)遞增的。

    如果對于函數(shù)f(x)在定義域內(nèi)任意兩點x1、x2都存在

    (10)

    則稱函數(shù)f(x)在此區(qū)間是單調(diào)遞減的。

    (11)

    將單調(diào)性作為專家知識。對于具有單調(diào)關(guān)系的問題,可以對通過神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練產(chǎn)生的輸出數(shù)據(jù)進行單調(diào)性判斷。如果實際數(shù)學(xué)關(guān)系是單調(diào)遞增(遞減)的,神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果也是單調(diào)遞增(遞減)的,那么說明符合這次訓(xùn)練過程專家知識,不加懲罰,如果判斷后結(jié)果與實際值相反,則給予懲罰處理。

    2.2 基于增廣拉格朗日乘子法的BP神經(jīng)網(wǎng)絡(luò)

    罰函數(shù)的收斂速度較慢,且當(dāng)懲罰因子過大時,容易引起轉(zhuǎn)化后的無約束問題的過擬合,當(dāng)懲罰因子過小時,起不到懲罰作用。拉格朗日乘子法中只有當(dāng)約束優(yōu)化目標(biāo)具有局部凸結(jié)構(gòu)時,乘子λ的更新才是有意義的,并且拉格朗日函數(shù)的收斂比較費時。增廣拉格朗日乘子法可以有效克服兩者存在的缺點。

    一般BP神經(jīng)網(wǎng)絡(luò)通過輸出值與真實值之間的均方誤差判斷其是否滿足給定精度,來判斷是否停止訓(xùn)練。若不滿足精度,則遵循梯度下降法反向更新BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,最終使得均方誤差最小。本文中以專家知識作為約束條件,通過將增廣拉格朗日函數(shù)作為BP神經(jīng)網(wǎng)絡(luò)目標(biāo)函數(shù),使得BP神經(jīng)網(wǎng)絡(luò)輸出結(jié)果既滿足均方誤差,又滿足專家知識。設(shè)單調(diào)性專家知識為輸入S與輸出G為單調(diào)遞增關(guān)系,以此作為約束條件,增廣拉格朗日乘子法對約束優(yōu)化問題的一般處理方法為

    (12)

    式(12)中:P為輸入樣本的個數(shù);X為BP神經(jīng)網(wǎng)絡(luò)輸入;Y為BP神經(jīng)網(wǎng)絡(luò)輸出;e為BP神經(jīng)網(wǎng)絡(luò)輸出值與實際值間的誤差。

    引入輔助變量z,將不等式約束優(yōu)化問題替換為等式約束優(yōu)化問題,即

    (13)

    根據(jù)以上約束優(yōu)化問題,構(gòu)建增廣拉格朗日函數(shù)為

    (14)

    式(14)中:λ為乘子;μ為懲罰因子。

    通過求ψ關(guān)于z的一階導(dǎo)數(shù),消除所引入的輔助變量z,即

    (15)

    (16)

    由此可將增廣拉格朗日乘子法后半部分表達出來使

    (17)

    設(shè)a=μg(x)-λ,當(dāng)a>0時,有

    (18)

    當(dāng)a<0時,有

    (19)

    綜上得

    (20)

    通過判斷a的正負(fù)判斷BP神經(jīng)網(wǎng)絡(luò)是否滿足約束。a>0時,BP神經(jīng)網(wǎng)絡(luò)輸出值滿足約束。反之,不滿足約束。將增廣拉格朗日函數(shù)作為BP神經(jīng)網(wǎng)絡(luò)目標(biāo)函數(shù),按照梯度下降法反向傳播對其權(quán)值閾值進行更新,其更新過程如下。

    (1)當(dāng)a>0時,BP神經(jīng)網(wǎng)絡(luò)輸出滿足專家知識,BP神經(jīng)網(wǎng)絡(luò)的目標(biāo)函數(shù)為

    (21)

    當(dāng)BP神經(jīng)網(wǎng)絡(luò)輸出不滿足收斂條件時,其逆向傳播權(quán)值閾值更新公式為

    (22)

    (23)

    (24)

    (25)

    (2)當(dāng)a≤0時,BP神經(jīng)網(wǎng)絡(luò)輸出不滿足專家知識,BP神經(jīng)網(wǎng)絡(luò)的目標(biāo)函數(shù)為

    (26)

    當(dāng)BP神經(jīng)網(wǎng)絡(luò)輸出不滿足收斂條件時,其逆向傳播權(quán)值和閾值更新公式為

    (27)

    (28)

    a(1-Hi)Hiwk(wjxi-2Hiwjxi+1)

    (29)

    a(1-Hi)Hiwk(1-2Hi)wj

    (30)

    2.3 遺傳算法

    遺傳算法(genetic algorithm,GA)是優(yōu)化方法中的一種,在搜索空間中尋找最優(yōu)的種群[13]。通過遺傳算法防止BP神經(jīng)網(wǎng)絡(luò)需隨機產(chǎn)生初始權(quán)值閾值的情況發(fā)生,可以有效避免因隨機產(chǎn)生的初始值導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)陷入局部極小。如下所示為用遺傳算法的具體實施步驟。

    (1)數(shù)據(jù)歸一化。實際應(yīng)用中所獲取的數(shù)據(jù)往往較大,且存在不同輸入數(shù)據(jù)之間量綱不一致的情況。為了防止因輸入數(shù)據(jù)導(dǎo)致預(yù)測結(jié)果不正確的情況,第一步要對輸入數(shù)據(jù)進行歸一化處理,其公式為

    (31)

    式(31)中:xmax、xmin分別為輸入數(shù)據(jù)的最大、最小值。

    (2)染色體編碼。染色體編碼是指將輸入數(shù)據(jù)寫為二進制形式,以便后續(xù)遺傳、變異、交叉等操作。

    (3)種群初始化。對輸入數(shù)據(jù)進行二進制編碼后,隨機產(chǎn)生一組數(shù)據(jù),一組數(shù)據(jù)是一個單獨的個體,這些個體形成了一個群體。

    (4)適應(yīng)度函數(shù)的評價。個體遺傳的復(fù)雜程度通過適應(yīng)度函數(shù)所求的值來確定。設(shè)一個適應(yīng)度值為F,則其適應(yīng)度函數(shù)公式為

    (32)

    式(32)中:k為有關(guān)系數(shù)。

    (5)進行遺傳操作。對基因進行選擇、交叉和變異操作。遺傳選擇是對個體適應(yīng)度而言的,文中采用輪盤賭法對個體進行選擇。經(jīng)過這一階段的遺傳操作之后,個體會進行各種遺傳交叉和遺傳變異。

    (6)判斷是否滿足終止條件,如果滿足,則輸出結(jié)果,否則回到步驟(3)重新進行操作,直到符合條件。

    3 算法流程

    融合專家知識的GA-BP神經(jīng)網(wǎng)絡(luò)算法流程如圖2所示。

    圖2 算法流程圖Fig.2 Algorithm flow chart

    本文中采用實際中的結(jié)晶動力學(xué)問題驗證融合專家知識的BP神經(jīng)網(wǎng)絡(luò)建模方法,即

    (33)

    (2)設(shè)置BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練集及測試集樣本個數(shù),并確定各層激活函數(shù)。

    (3)根據(jù)2.3節(jié)利用遺傳算法優(yōu)化初始權(quán)值閾值。

    (4)設(shè)置增廣拉格朗日乘子法的初始乘子及罰因子。乘子初始值c=0.1。

    (5)根據(jù)式(1)~式(6)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。

    (6)根據(jù)式(21)~式(30)判斷神經(jīng)網(wǎng)絡(luò)是否滿足專家知識,設(shè)置目標(biāo)函數(shù)

    (7)判斷目標(biāo)函數(shù)是否滿足目標(biāo)誤差,如果滿足停止迭代,如果不滿足,更新權(quán)值閾值,回到第四步。

    4 仿真實驗

    4.1 仿真結(jié)果

    根據(jù)上述算法流程,首先通過遺傳算法為BP神經(jīng)網(wǎng)絡(luò)獲取最優(yōu)的初始權(quán)值閾值,如圖3所示為經(jīng)過遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)(GA-BP)訓(xùn)練結(jié)果。

    從圖3可以看出遺傳算法對BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果有一定的改進。

    圖3 BP與GA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果對比Fig.3 Comparison of BP and GA-BP neural network training results

    其次通過分析結(jié)晶動力學(xué)模型公式,獲取專家知識。由上述模型分析可得,本文中所采用的模型3個輸入變量與輸出G均存在單調(diào)性關(guān)系。因此共有3條專家知識。根據(jù)式(11)對比加入1條專家知識與3條專家知識的GA-BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果,如圖4所示。

    由圖4可以直觀地看出融合3條專家知識的GA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果最好,有效解決了小樣本條件下BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練精度不高的問題。

    圖4 融合專家知識的GA-BP神經(jīng)網(wǎng)絡(luò)Fig.4 GA-BP neural network integrating expert knowledge

    4.2 評價指標(biāo)

    選用均方誤差(mean squares error,MSE)作為評價指標(biāo),以直觀地看出本文所提出的建模方法的有效性,均方誤差計算公式為

    (34)

    如表1所示為不同模型預(yù)測結(jié)果的均方誤差,其中GA-BP-1是指融合1條專家知識,GA-BP-3是指融合3條專家知識。

    表1 不同模型預(yù)測結(jié)果均方誤差Table 1 Mean square error of prediction results of different models

    通過對比不同模型的均方誤差可知,融合專家知識的GA-BP神經(jīng)網(wǎng)絡(luò)均方誤差最小,因此本文算法可以提高小樣本條件下BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練精度。

    4.3 交叉驗證

    交叉驗證(cross validation,CV)用來在離線過程中評估模型的泛化能力。用于本文算法驗證的結(jié)晶動力學(xué)模型數(shù)據(jù)共有100條,將這100組數(shù)據(jù)等分為5份進行五重交叉驗證,分別定義為Y1、Y2、 Y3、Y4和Y5,采用這5個數(shù)據(jù)集輪流作為訓(xùn)練集來訓(xùn)練不同的模型,這5個數(shù)據(jù)集輪流交替作為訓(xùn)練集和驗證集。這個交叉驗證過程總共需要執(zhí)行5次,那么 5個數(shù)據(jù)集中的每一個數(shù)據(jù)集都會保證做一次訓(xùn)練集。最后,通過比較MSE對其進行評估,其結(jié)果如圖5所示。

    圖5 五重交叉驗證Fig.5 Five-fold cross-validation

    如表2為五重交叉驗證傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果與融合專家知識的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果的平均誤差。

    表2 五重交叉驗證平均誤差Table 2 Average error of five-fold cross-validation

    由表2及圖5可知,針對不同的訓(xùn)練集樣本,對比其加約束與不加約束的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果,根據(jù)其平均誤差,可以得知本文所提的融合專家知識的BP神經(jīng)網(wǎng)絡(luò)建模方法,在小樣本建模問題解決方面,具有較強的泛化能力。

    5 結(jié)論

    通過融合專家知識解決小樣本條件下BP神經(jīng)網(wǎng)絡(luò)建模問題,首先通過遺傳算法防止BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練陷入局部最優(yōu),其次通過增廣拉格朗日乘子法將專家知識融入BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中。首先通過對比融合1條專家知識的神經(jīng)網(wǎng)絡(luò)與融合三條專家知識的神經(jīng)網(wǎng)絡(luò),仿真結(jié)果表明,3條專家知識訓(xùn)練結(jié)果較優(yōu);其次比較了粒子群算法和遺傳算法的優(yōu)化效果。仿真結(jié)果表明,遺傳算法優(yōu)化結(jié)果較穩(wěn)定,且優(yōu)化結(jié)果較優(yōu)。通過遺傳算法與增廣拉格朗日乘子法相結(jié)合改進BP神經(jīng)網(wǎng)絡(luò),提高了BP神經(jīng)網(wǎng)絡(luò)預(yù)測精度。

    猜你喜歡
    拉格朗權(quán)值懲罰
    一種融合時間權(quán)值和用戶行為序列的電影推薦模型
    CONTENTS
    神的懲罰
    小讀者(2020年2期)2020-03-12 10:34:06
    Jokes笑話
    Nearly Kaehler流形S3×S3上的切觸拉格朗日子流形
    懲罰
    趣味(語文)(2018年1期)2018-05-25 03:09:58
    基于權(quán)值動量的RBM加速學(xué)習(xí)算法研究
    拉格朗日代數(shù)方程求解中的置換思想
    基于拉格朗日的IGS精密星歷和鐘差插值分析
    真正的懲罰等
    兰州市| 怀仁县| 石泉县| 福安市| 滁州市| 汾阳市| 德兴市| 眉山市| 平凉市| 正定县| 睢宁县| 青岛市| 克东县| 萍乡市| 蕉岭县| 苍梧县| 南投县| 板桥市| 大化| 民和| 石门县| 西畴县| 桦甸市| 万年县| 莎车县| 沁阳市| 庆元县| 湖南省| 中卫市| 台东县| 靖州| 建始县| 阿克| 五大连池市| 牙克石市| 富民县| 崇仁县| 昭平县| 西宁市| 香港| 永顺县|