国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于非負(fù)絞殺的循環(huán)神經(jīng)網(wǎng)絡(luò)變量選擇與結(jié)構(gòu)優(yōu)化算法

2021-11-08 05:41張孟巖
關(guān)鍵詞:時序權(quán)重神經(jīng)網(wǎng)絡(luò)

張孟巖,隋 璘,孫 凱

齊魯工業(yè)大學(xué)(山東省科學(xué)院) 電氣工程與自動化學(xué)院,濟南 250353

神經(jīng)網(wǎng)絡(luò)是一種學(xué)習(xí)能力很強的網(wǎng)絡(luò)模型,其較強的魯棒性、容錯性及適應(yīng)系統(tǒng)的動態(tài)性,使之成為復(fù)雜系統(tǒng)建模領(lǐng)域的研究熱點。目前,BP神經(jīng)網(wǎng)絡(luò)[1]、RBF神經(jīng)網(wǎng)絡(luò)[2]、卷積神經(jīng)網(wǎng)絡(luò)[3]已被應(yīng)用于多種工業(yè)場景以解決實際問題。

現(xiàn)有大量學(xué)習(xí)任務(wù)都需要處理序列信息,如時間序列預(yù)測、機器翻譯、語音識別等情境[4]。針對序列輸入的需求,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[5]應(yīng)運而生。RNN通過引入時序反饋機制,使得某時刻的輸出可以作為輸入再次輸入到神經(jīng)元,這種網(wǎng)絡(luò)結(jié)構(gòu)可以保持?jǐn)?shù)據(jù)中的依賴關(guān)系,非常適用于時間序列數(shù)據(jù)建模。文獻[6]提出了一種基于RNN的動態(tài)反向傳播(BP)算法模型,并對北方某日光溫室的溫度和濕度進行了預(yù)測,實驗結(jié)果表明RNN-BP在各項性能指標(biāo)均優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。文獻[7]根據(jù)油田生產(chǎn)歷史數(shù)據(jù)利用長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)構(gòu)建油田產(chǎn)量預(yù)測模型,并進行了實驗驗證和應(yīng)用效果分析,該模型不僅考慮了產(chǎn)量指標(biāo)與其影響因素之間的聯(lián)系,還兼顧了產(chǎn)量隨時間變化的趨勢和前后關(guān)聯(lián)。文獻[8]針對負(fù)荷數(shù)據(jù)時序性和非線性的特點,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長短期記憶(LSTM)網(wǎng)絡(luò)的混合模型短期負(fù)荷預(yù)測方法,將CNN提取的特征向量以時序序列方式構(gòu)造并作為LSTM網(wǎng)絡(luò)輸入數(shù)據(jù),再采用LSTM網(wǎng)絡(luò)進行短期負(fù)荷預(yù)測。

隨著數(shù)據(jù)采集系統(tǒng)和硬件存儲設(shè)備的飛速發(fā)展,復(fù)雜系統(tǒng)過程數(shù)據(jù)呈現(xiàn)規(guī)模大、維度高、復(fù)雜性強等特點。為提高模型預(yù)測精度,降低建模復(fù)雜性,變量篩選顯得尤為重要,NMI(Normalized Mutual Information)[9]、PCA(Principal Component Analysis)[10-11]、LASSO[12]等多種方法得到研究與應(yīng)用。非負(fù)絞殺(Nonnegative Garrote,NNG)算法是由Breiman提出的一種基于約束函數(shù)的模型優(yōu)化方法,其通過對模型未知參數(shù)進行約束促使部分參數(shù)壓縮為零,進而實現(xiàn)變量選擇,得到參數(shù)估計值[13]。該類算法克服了傳統(tǒng)方法計算復(fù)雜度高及穩(wěn)定性差的缺點,逐漸成為高維數(shù)據(jù)研究領(lǐng)域廣受歡迎的一類方法。文獻[14]將NNG用于訓(xùn)練良好的多層感知機(MLP)輸入權(quán)值的精確收縮,并以V折交叉驗證確定最優(yōu)絞殺參數(shù)s,實驗結(jié)果證明了該方法變量選擇的有效性。文獻[15]在NNG對MLP輸入權(quán)值收縮的基礎(chǔ)上,利用EO算法進行進一步的局部優(yōu)化,通過對某電廠實際生產(chǎn)數(shù)據(jù)的仿真驗證了算法性能。然而,該方法所使用的MLP模型僅考慮過程的靜態(tài)特性,無法實現(xiàn)對時序數(shù)據(jù)的信息提取及動態(tài)過程建模。

為此,本文提出一種基于RNN和NNG結(jié)合的變量選擇和模型優(yōu)化算法(NNG-RNN)。該算法一方面利用RNN帶有反饋的網(wǎng)絡(luò)結(jié)構(gòu)處理并擬合時序數(shù)據(jù),從而在尋找與建模目標(biāo)參數(shù)相關(guān)的特征時,能夠充分考慮到各變量在不同時間延遲上對預(yù)測目標(biāo)的影響;另一方面,NNG算法對網(wǎng)絡(luò)輸入權(quán)重和循環(huán)節(jié)點的同時壓縮達到高維數(shù)據(jù)的變量選擇和循環(huán)層的結(jié)構(gòu)簡化。最后通過時序過程數(shù)據(jù)集對算法進行測試,并與不同算法的性能對比驗證了所提出算法的有效性。

1 理論背景

1.1 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)

RNN在前向神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上增加了時序反饋機制,具體表現(xiàn)為在相鄰時間步長內(nèi)連接隱含層,隱含層的值不僅取決于當(dāng)前輸入值,還取決于前一時刻隱含層的值[16]。基于這一特殊結(jié)構(gòu),RNN可以“記住”前面的信息并將其應(yīng)用于計算當(dāng)前輸出,因此可以跨時間步傳遞信息,其輸出將涵蓋每一個時間節(jié)點的信息。典型的RNN網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 RNN網(wǎng)絡(luò)結(jié)構(gòu)圖

圖中各參數(shù)意義如下:U是輸入層到隱含層的權(quán)重矩陣,V是隱含層到輸出層的權(quán)重矩陣,W是隱含層循環(huán)至自身下一時刻的權(quán)重矩陣,x是輸入值,y是輸出值,h是隱含層的狀態(tài),g與f表示激活函數(shù),網(wǎng)絡(luò)輸出值與隱含層狀態(tài)表達式分別為:

yt=g(vht+bo)

(1)

ht=f(uxt+wht-1+bh)

(2)

圖2 三層RNN網(wǎng)絡(luò)結(jié)構(gòu)圖

圖2是典型RNN網(wǎng)絡(luò)結(jié)構(gòu)的詳細展開圖,則公式(1)(2)擴展可得:

(3)

(4)

將式(3)代入式(4)可得RNN完整表達式:

(5)

1.2 非負(fù)絞殺算法(NNG)

變量選擇主要是通過機器學(xué)習(xí)方法從輸入變量集合中選擇對響應(yīng)變量有重大影響的解釋變量,這是統(tǒng)計分析和推理的重要組成部分。建模過程中若選入與響應(yīng)無關(guān)的協(xié)變量,不僅干擾對變量間關(guān)系的理解,模型的泛化能力也會因而下降[17]。

變量選擇方法通常包括最優(yōu)子集法或正向(反向)逐步回歸方法,數(shù)學(xué)統(tǒng)計中最常用的方法之一是子集選擇,這意味著在給定數(shù)據(jù)集{(yn,x1n,……,xMn),n=1……N}中消除x1,…,xM中的冗余變量,并根據(jù)其余變量集獲得預(yù)測值y。在線性模型中,每個x對應(yīng)一個變量的子集,非線性模型則更加復(fù)雜,具有更多的變量子集。

Breiman提出NNG算法用以解決線性問題的子集回歸問題,其基本原理是在最大似然或最小二乘(Ordinary Least,OLS)估計參數(shù)的基礎(chǔ)上添加關(guān)于模型復(fù)雜度的約束函數(shù),構(gòu)造一個帶約束的非線性優(yōu)化表達式,然后找到該目標(biāo)函數(shù)的極值(極大值/極小值)以獲取參數(shù)估計值。這種將一些變量的系數(shù)壓縮為零的策略可同時完成變量選擇和參數(shù)估計這兩個任務(wù),從而大大降低了算法復(fù)雜度,提高了子集選擇的穩(wěn)定性[18]。

在初始NNG中,線性模型如下所示:

(6)

(7)

(8)

由此可得輸出預(yù)測值:

(9)

如式(7)所示,NNG通過在給定s值的條件下求解二次規(guī)劃問題獲得最優(yōu)壓縮權(quán)重c*。本文使用有效集法求解二次規(guī)劃問題,其通過求解有限個等式約束問題來求解約束二次規(guī)劃問題,是一種可行點法,具有良好的收斂性和穩(wěn)定性[19-20]。設(shè)置不同絞殺參數(shù)s可獲得不同程度的約束,從而得到不同復(fù)雜程度的模型結(jié)構(gòu)。s越小,約束越大,反之亦然。降低參數(shù)s可以使更多的c變?yōu)榱?同時其對應(yīng)的乘積β也等于零,即從候選變量集中刪除相應(yīng)變量,從而達到變量選擇的目的。

2 算法設(shè)計

2.1 NNG與RNN結(jié)合

(10)

(11)

NNG-RNN算法表達式如式(11)所示。顯然,ci通過壓縮輸入層-隱含層權(quán)量實現(xiàn)變量選擇,cr通過對隱含層循環(huán)至自身節(jié)點的壓縮來篩選循環(huán)節(jié)點在不同時延長度上對預(yù)測目標(biāo)的影響,兩者結(jié)合可以達到快速優(yōu)化網(wǎng)絡(luò)的目的。

(12)

(13)

則模型輸出yt可表達為:

(14)

2.2 超參數(shù)s優(yōu)化

在NNG-RNN算法中,s決定RNN權(quán)重的壓縮程度。通常,s由向量S=[s1,s2,s3,…,sg]中的值枚舉確定,其中s1、sg分別是壓縮閾值的下限與上限,g是向量個數(shù)。當(dāng)s=0,所有的權(quán)重都將約束為0,RNN的節(jié)點也不復(fù)存在;反之,當(dāng)s>p+qτ,即輸入變量個數(shù)與循環(huán)節(jié)點個數(shù)與步長乘積之和,那么任何權(quán)重都未得到壓縮,NNG將失去其存在的意義。在本文中,交叉驗證的方法將會用來確定最佳的參數(shù)s。

交叉驗證是機器學(xué)習(xí)中建立模型和驗證模型參數(shù)的常用方法。其基本原理為,在建立模型的過程中,從所有輸入變量的樣本中提取大部分?jǐn)?shù)據(jù)作為訓(xùn)練集,以此來構(gòu)建模型,其余部分作為驗證集,驗證所建立模型的有效性。最常見的交叉驗證方法有:留一法、留P交叉驗證法和V折交叉驗證法[21]。

圖3 滾動交叉驗證原理圖

然而,傳統(tǒng)的交叉驗證將分組數(shù)據(jù)隨機定義為訓(xùn)練集和測試集,破壞了原始數(shù)據(jù)的序列性。同時,RNN會根據(jù)設(shè)定的最大時滯長度配置網(wǎng)絡(luò)的初始狀態(tài)。當(dāng)測試集位于數(shù)據(jù)中間,訓(xùn)練集的時序性被割裂時,會出現(xiàn)利用未來數(shù)據(jù)預(yù)測當(dāng)前狀態(tài)的不合理現(xiàn)象,導(dǎo)致模型效果的偏差。為解決這一問題,本文設(shè)計并使用一種滾動交叉驗證方法,其原理示意圖如圖3所示。

滾動交叉驗證也被稱為滾動原點評價[22]或滾動原點再校準(zhǔn)評估[23]。首先,只使用80%的數(shù)據(jù)進行訓(xùn)練,尋找最優(yōu)參數(shù),從而保留一部分未被模型學(xué)習(xí)到的數(shù)據(jù)來測試模型性能。對于用來確定最優(yōu)參數(shù)的數(shù)據(jù)集,將按照時間順序分為多個模塊。前一時段作為訓(xùn)練數(shù)據(jù),下一時段數(shù)據(jù)作為驗證數(shù)據(jù),訓(xùn)練集不斷增加,驗證集也依次向后滾動,以此保留數(shù)據(jù)時序完整性。模型的預(yù)測精度由總訓(xùn)練次數(shù)的平均均方根誤差決定。

本文選擇不同參數(shù)對應(yīng)預(yù)測模型的均方根誤差(root mean square error,RMSE)作為評價性能的指標(biāo),如式(15)所示。

(15)

Step 1 數(shù)據(jù)集劃分。將數(shù)據(jù)前80%作為訓(xùn)練數(shù)據(jù)集,剩余20%作為測試數(shù)據(jù)集。

Step 2 超參數(shù)s尋優(yōu)。

1)令j=1,S=[s1,s2,…,sg];

2) 初始化參數(shù)i=1,將訓(xùn)練數(shù)據(jù)集分為V組進行滾動驗證;

3) 以1至i組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),訓(xùn)練RNN獲得網(wǎng)絡(luò)初始權(quán)重;

5) 由式(12)-(13)更新網(wǎng)絡(luò)權(quán)重,獲得優(yōu)化的RNN;

6) 使用第i+1組數(shù)據(jù)檢驗?zāi)P托阅?根據(jù)式(15)計算得當(dāng)前RMSEi;

7) 令i=i+1,若i

8) 令j=j+1,若j

Step 3 網(wǎng)絡(luò)初始化。依據(jù)先驗知識得到網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),使用訓(xùn)練數(shù)據(jù)集訓(xùn)練RNN,獲得網(wǎng)絡(luò)初始權(quán)重。

Step 4 將s*代入式(11)進行求解,得到最優(yōu)壓縮系數(shù)c*(s*)=(c*1,c*2,…,c*p)。

Step 5 由式(12)-(13)更新網(wǎng)絡(luò)權(quán)重,獲得優(yōu)化的RNN,并由式(14)輸出網(wǎng)絡(luò)表達式。

3 實驗與結(jié)果分析

本節(jié)通過數(shù)值算例對所提出的NNG-RNN算法進行評價,并與NNG-MLP、LASSO-RNN、RNN和MLP的預(yù)測結(jié)果進行比較。其中,LASSO作為一種變量選擇算法,通過在回歸基礎(chǔ)上增加一個懲罰項,對估計參數(shù)進行壓縮,當(dāng)壓縮參數(shù)縮小到一個閾值時無關(guān)變量被刪除,以達到變量選擇的目的[24]。對比算法LASSO-RNN先采用LASSO對所有變量進行篩選,再將篩選后的變量作為輸入變量,利用RNN進行建模。

3.1 仿真設(shè)定

所有算法都在相同的仿真環(huán)境和參數(shù)設(shè)置下執(zhí)行。仿真運行環(huán)境為深度學(xué)習(xí)服務(wù)器:Intel(R) Core(TM) i7-7700K CPU@4.20GHz 處理器、64GB內(nèi)存、64位Windows10操作系統(tǒng)下MATLAB R2020a。在這些實驗中,MLP與RNN的網(wǎng)絡(luò)設(shè)置相同,均為3層網(wǎng)絡(luò)結(jié)構(gòu),隱含層有10個神經(jīng)元,輸出層有1個神經(jīng)元,輸入數(shù)量由數(shù)據(jù)中變量的樣本數(shù)量決定,此外,RNN最大時延步長τ=3。本文采用四種模型評價指標(biāo)評估算法所建模型性能,分別為:模型規(guī)模(model size,M.S.)、正確率(C.R)、均方差(mean squared error,MSE)以及確定系數(shù)(coefficient of determination,R2)被定義如下:

1) 模型規(guī)模(M.S.):算法選擇的輸入變量個數(shù)。

2) 正確率(C.R):所選變量中正確變量的比例。

(16)

3) 均方差(MSE):整個建模過程中使用的測試數(shù)據(jù)集中輸出變量的實際值與預(yù)測值之間的均方差,計算公式表示如下:

(17)

4) 確定系數(shù)(R2):預(yù)測值解釋真實值的比例,它衡量了預(yù)測值與真實值的吻合程度。

(18)

3.2 數(shù)值仿真

為驗證所提出的NNG-RNN算法,生成了一組具有時滯動態(tài)特性的Friedman數(shù)據(jù)集[25],以模擬復(fù)雜過程數(shù)據(jù)集的多輸入與時滯特征。本文使用的數(shù)據(jù)集有五個與輸出變量相關(guān)的輸入變量,輸出變量由下式?jīng)Q定:

(19)

在本例中,共生成2 000組數(shù)據(jù),80%用于訓(xùn)練,其余用于測試。具體的模型評價指標(biāo)數(shù)值記錄于表1中。

表1 數(shù)值仿真不同算法的結(jié)果對比

由表1可以看出:RNN性能優(yōu)于MLP,這得益于其隱含節(jié)點的循環(huán)反饋功能,使得RNN更能提取時序數(shù)據(jù)中的信息。此外,NNG算法的加入對兩類網(wǎng)絡(luò)均有優(yōu)化和提高,而NNG對RNN輸入層至隱含層及隱含層循環(huán)權(quán)重的同時壓縮和優(yōu)化,相較于MLP僅對輸入層至隱含層的優(yōu)化,壓縮力度更大,對輸入變量的篩選更加準(zhǔn)確,模型結(jié)構(gòu)更簡化,預(yù)測性能也有顯著提高。LASSO優(yōu)化算法則在模型規(guī)模、正選率方面與NNG相差甚遠,均方差與確定系數(shù)也略遜于NNG。

圖4 誤差頻率分布直方圖及正態(tài)曲線

圖5 不同算法擬合曲線圖

圖4、圖5分別從誤差與擬合效果兩個角度對不同算法的性能進行展示。由圖4可得,由MLP至NNG-RNN5種算法的誤差范圍逐漸縮小向0差值聚集,并在NNG-RNN算法中達到頂峰,且該算法預(yù)測誤差的正態(tài)分布曲線所構(gòu)成面積最小。圖5顯而易見,NNG-RNN算法的擬合曲線,紅線幾乎覆蓋了所有的藍線,也就是說,預(yù)測值與真實值高度重合,且走勢一致。綜上,本文所提出NNG-RNN算法預(yù)測偏差最小,擬合程度最高,均優(yōu)于其他算法,具有明顯的有效性和優(yōu)越性。

4 結(jié) 論

本文提出一種面向RNN的變量選擇與結(jié)構(gòu)優(yōu)化算法,用以解決RNN輸入變量多、時序復(fù)雜,結(jié)構(gòu)冗余等問題。該算法充分利用RNN對時序信息的挖掘和處理能力,結(jié)合NNG算法對RNN輸入與循環(huán)層的約束壓縮,并利用滾動交叉驗證策略確定絞殺參數(shù),從而得到了一種模型簡化、泛化能力更強的動態(tài)神經(jīng)網(wǎng)絡(luò)。最后,利用動態(tài)過程數(shù)據(jù)集對所提出算法進行仿真與性能測試,實驗結(jié)果表明,本算法各項性能指標(biāo)均優(yōu)于其他算法,具有更簡化的動態(tài)模型結(jié)構(gòu)和更強的泛化能力。

猜你喜歡
時序權(quán)重神經(jīng)網(wǎng)絡(luò)
顧及多種弛豫模型的GNSS坐標(biāo)時序分析軟件GTSA
基于遞歸模糊神經(jīng)網(wǎng)絡(luò)的風(fēng)電平滑控制策略
權(quán)重望寡:如何化解低地位領(lǐng)導(dǎo)的補償性辱虐管理行為?*
清明
基于GEE平臺與Sentinel-NDVI時序數(shù)據(jù)江漢平原種植模式提取
你不能把整個春天都搬到冬天來
權(quán)重常思“浮名輕”
神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
基于神經(jīng)網(wǎng)絡(luò)的中小學(xué)生情感分析
為黨督政勤履職 代民行權(quán)重?fù)?dān)當(dāng)
沭阳县| 内黄县| 昭平县| 子洲县| 六枝特区| 乐至县| 苍溪县| 封丘县| 南郑县| 枣阳市| 措美县| 文水县| 平塘县| 安宁市| 武定县| 普兰县| 汶川县| 弋阳县| 武冈市| 荣昌县| 边坝县| 财经| 太谷县| 突泉县| 兰溪市| 宜州市| 敦化市| 沁源县| 留坝县| 安庆市| 墨竹工卡县| 湘乡市| 涪陵区| 怀柔区| 民县| 民乐县| 宝山区| 腾冲县| 岗巴县| 武定县| 衡东县|