梁達(dá)正
摘 ? 要:基于貝葉斯集成神經(jīng)網(wǎng)絡(luò)原理,構(gòu)建出一個(gè)貝葉斯集成長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)。使用該集成網(wǎng)絡(luò)對(duì)我國(guó)上證50指數(shù)進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)選取2015—2018年近3年來(lái)的數(shù)據(jù)進(jìn)行集成學(xué)習(xí)預(yù)測(cè)。結(jié)果證明貝葉斯集成長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)要優(yōu)于集成循環(huán)神經(jīng)網(wǎng)絡(luò)與集成長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)。為了使貝葉斯集成神經(jīng)網(wǎng)絡(luò)更好的運(yùn)用到時(shí)間序列預(yù)測(cè)上,本文提出一種貝葉斯集成長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行金融時(shí)間序列學(xué)習(xí)。
關(guān)鍵詞:貝葉斯 ?集成學(xué)習(xí) ?神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào):TP183 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2019)06(b)-0142-03
隨著科技的發(fā)展,計(jì)算機(jī)性能的不斷提升,計(jì)算機(jī)的計(jì)算能力的大幅增長(zhǎng),作為機(jī)器學(xué)習(xí)的重要分支——神經(jīng)網(wǎng)絡(luò)正在不斷的發(fā)展。人工神經(jīng)網(wǎng)絡(luò)在以時(shí)間序列為主的金融領(lǐng)域大展身手,對(duì)時(shí)間序列預(yù)測(cè)上占有重要地位。
1958年,Rosenblatt提出了首個(gè)實(shí)際的人工神經(jīng)網(wǎng)絡(luò)模型——感知機(jī)。1988年,White等最早利用神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)普通股每日?qǐng)?bào)酬率。1997年,Hochreiter與Schmidhuber提出了LSTM(Long Short-Term Memory)長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò),一種利用記憶功能來(lái)增強(qiáng)人工神經(jīng)網(wǎng)絡(luò)。2009年,Yang通過(guò)貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)對(duì)股票指數(shù)進(jìn)行預(yù)測(cè),得到比其他改進(jìn)算法更好的泛化能力。2015年,Shun通過(guò)對(duì)BP、RNN與LSTM三種模型對(duì)國(guó)內(nèi)外股指的研究對(duì)比,得出LSTM模型在時(shí)間序列預(yù)測(cè)上更為準(zhǔn)確并且利用擬牛頓法原理改進(jìn)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率。為了使貝葉斯集成神經(jīng)網(wǎng)絡(luò)更好的運(yùn)用到時(shí)間序列預(yù)測(cè)上,本文提出一種貝葉斯集成長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行金融時(shí)間序列學(xué)習(xí)。
1 ?神經(jīng)網(wǎng)絡(luò)
1.1 傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)由大量神經(jīng)元相互連接而成,每個(gè)神經(jīng)元看作一個(gè)激活函數(shù)。
BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差反向傳播訓(xùn)練的多層信息前向傳遞的神經(jīng)網(wǎng)絡(luò)。一般BP神經(jīng)網(wǎng)絡(luò)分為三層:輸入層、隱藏層與輸出層。第一層為輸入層,最后一層(L層)為輸出層,中間的(2至L-1)層為隱藏層。
第l隱藏層的神經(jīng)元輸出為,其中mL為第l隱藏層的神經(jīng)元個(gè)數(shù)。設(shè)為從l-1層第j個(gè)神經(jīng)元與l層第i個(gè)神經(jīng)元之間的連接權(quán)重;bil為第l層第i個(gè)神經(jīng)元的偏置,f()為激活函數(shù)那么:
輸出層的神經(jīng)元輸出為,為隱藏層神經(jīng)元與輸出層神經(jīng)元之間的連接權(quán)重,bj為輸出層yj神經(jīng)單元的偏置。fy()為激活函數(shù)。
反向傳播算法是LMS算法的推廣,兩個(gè)算法都使用均方誤差作為性能指標(biāo)。和LMS算法一樣,用下式近似表示均方誤差:
近似均方誤差的最速下降算法(隨機(jī)梯度下降)為:
其中α是學(xué)習(xí)率。
1.2 LSTM神經(jīng)網(wǎng)絡(luò)
在機(jī)器學(xué)習(xí)中,CNN(卷積神經(jīng)網(wǎng)絡(luò))在分類問(wèn)題上表現(xiàn)出色,在解決分類問(wèn)題的判斷要優(yōu)于大部分分類模型,但是無(wú)法理解輸入信息中所含有的序列信息。當(dāng)輸入的信息為時(shí)間序列或序列數(shù)據(jù)時(shí),其中含有復(fù)雜的時(shí)序關(guān)聯(lián)。RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))模型正是解決時(shí)序問(wèn)題誕生的,RNN具有“記憶”能力,能保留輸入信息前后的關(guān)聯(lián)。但是隨著時(shí)間的推移,神經(jīng)網(wǎng)絡(luò)的誤差函數(shù)的梯度呈指數(shù)增長(zhǎng)或下降,從而導(dǎo)致梯度爆炸或梯度消失。
LSTM(長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)),一種特殊的RNN網(wǎng)絡(luò),能有效的解決梯度爆炸或梯度消失的問(wèn)題。
LSTM模型中的一個(gè)LSTM單元中有一個(gè)cell負(fù)責(zé)將可能需要的信息進(jìn)行儲(chǔ)存,而儲(chǔ)存那些信息并將需要的信息輸入到下一個(gè)LSTM單元?jiǎng)t由門來(lái)決定。這些門是邏輯單元,每個(gè)LSTM單元有三個(gè)門——遺忘門,輸入門與輸出門。
遺忘門負(fù)責(zé)控制遺忘上層的隱藏細(xì)胞信息。上一個(gè)LSTM單元的隱藏狀態(tài)ht-1與該單元的輸入xt通過(guò)一個(gè)激活函數(shù)輸出隱藏門的ft。
ft等于1時(shí),記憶單元的保存信息,ft等于0時(shí),記憶單元會(huì)遺忘之前的信息。
輸入門由兩部分組成
然后更新細(xì)胞狀態(tài)Ct,通過(guò)遺忘門處理上一個(gè)細(xì)胞狀態(tài)Ct-1
更新完細(xì)胞狀態(tài)Ct后,到了輸出門
生成新的隱藏狀態(tài)ht然后輸入結(jié)果與傳入下一個(gè)LSTM單元。
2 ?基于貝葉斯集成長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)
2.1 貝葉斯公式
貝葉斯學(xué)派認(rèn)為, 先驗(yàn)分布反映了試驗(yàn)前對(duì)總體參數(shù)分布的認(rèn)識(shí), 在獲得樣本信息后, 對(duì)這個(gè)認(rèn)識(shí)有了改變, 其結(jié)果就反映在后驗(yàn)分布中, 即后驗(yàn)分布綜合了先驗(yàn)分布和樣本的信息。
貝葉斯公式:
P(A)是A的先驗(yàn)概率或邊緣概率。稱為先驗(yàn)是因?yàn)榕cB無(wú)關(guān)不受事件B影響。
P(A|B)是已知B為條件的A的條件概率,也由于得自B的取值而被稱作A的后驗(yàn)概率。
P(B|A)是已知A為條件的B的條件概率,也由于得自A的取值而被稱作B的后驗(yàn)概率。
P(B)是B的先驗(yàn)概率或邊緣概率。
集成學(xué)習(xí)提供了一種估計(jì)不確定性的方法:它將多個(gè)獨(dú)立神經(jīng)網(wǎng)絡(luò)的估計(jì)集合起來(lái),這些神經(jīng)網(wǎng)絡(luò)由不同的初始化方法訓(xùn)練而成,有時(shí)還在訓(xùn)練數(shù)據(jù)的噪聲上訓(xùn)練。集成預(yù)測(cè)的方差可以解釋為其不確定性。最吸引人的是,集成方法可以很好地?cái)U(kuò)展到大量參數(shù)設(shè)置上,并且每個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)都以一般的方式精確的訓(xùn)練出來(lái)。但是缺點(diǎn)是一般的集成算法不是基于貝葉斯的。不利于集成學(xué)習(xí)的不確定性量化。
對(duì)于單個(gè)神經(jīng)網(wǎng)絡(luò),正則化可以防止過(guò)擬合。但是當(dāng)進(jìn)行集成學(xué)習(xí)時(shí),正則化會(huì)產(chǎn)生不好的結(jié)果,因?yàn)樗膭?lì)集成中的所有神經(jīng)網(wǎng)絡(luò)使用相同的單一解決方案。因此,對(duì)通常的集成學(xué)習(xí)過(guò)程的修正,從先驗(yàn)分布中提取值的參數(shù)的正則化。為不確定性量化提供了一種實(shí)用的、可擴(kuò)展的方法。
過(guò)程的修正通過(guò)loss函數(shù)。
2.2 貝葉斯集成神經(jīng)網(wǎng)絡(luò)算法
Input 訓(xùn)練數(shù)據(jù)集X_train&Y_train、測(cè)試數(shù)據(jù)集X_val&y_val、先驗(yàn)均值、先驗(yàn)協(xié)方差,集成學(xué)習(xí)器數(shù)量N、數(shù)據(jù)噪聲方差估計(jì)。
Output 預(yù)測(cè)值
#設(shè)置正則化矩陣
#訓(xùn)練集成模型
For i in range(N)
通過(guò)μ0與對(duì)NNi神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化
初始化參數(shù)
NNi神經(jīng)網(wǎng)絡(luò)帶入()
End for
For i in range(N)
End for
Return
為了更好地對(duì)時(shí)間序列進(jìn)行預(yù)測(cè),將貝葉斯集成神經(jīng)網(wǎng)絡(luò)(BNN)改進(jìn)為貝葉斯集成長(zhǎng)短記憶網(wǎng)絡(luò)(BLSTM)。
通過(guò)μ0與對(duì)LSTMi神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化
初始化參數(shù)
LSTMi神經(jīng)網(wǎng)絡(luò)帶入()
End for
For i in range(N)
3 ?實(shí)驗(yàn)分析
本文使用的數(shù)據(jù)為上證50是日數(shù)據(jù),由2015年1月1日—2018年12月31日的時(shí)間長(zhǎng)度??紤]到LSTM模型使用到步長(zhǎng),取其中的900個(gè)數(shù)據(jù)作為實(shí)驗(yàn)用數(shù)據(jù)。其中訓(xùn)練集為80%,即720個(gè),測(cè)試集為后20%,即180個(gè)數(shù)據(jù)。自變量為上證50漲跌幅的分判定。自變量為上證50的當(dāng)天收盤價(jià),最高價(jià),最低價(jià),開盤價(jià),成交量,量比,KDJ的K,D,J指標(biāo)與MACD指標(biāo)。自變量做歸一化處理。
根據(jù)樣本結(jié)果與真實(shí)值分以下四種:
TP——真正例:預(yù)測(cè)為正例,真實(shí)為正例。
FN——假反例:預(yù)測(cè)為反例,真實(shí)為正例。
FP——假正例:預(yù)測(cè)為正例,真實(shí)為反例。
TN——真反例:預(yù)測(cè)為反例,真實(shí)為反例。
查準(zhǔn)率P為:
查全率R為:
神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置LSTM模型的步長(zhǎng)為5,集成學(xué)習(xí)器數(shù)量為5,LSTM模型的隱藏層單元數(shù)量為128,分塊數(shù)量batch為360,即將測(cè)試集分為兩塊,學(xué)習(xí)度為0.005。隱藏層第一層的初始權(quán)重為,隱藏層第二層的初始權(quán)重。數(shù)據(jù)噪聲為0.001。
由表1可以看出集成LSTM神經(jīng)網(wǎng)絡(luò)要優(yōu)于集成RNN神經(jīng)網(wǎng)絡(luò),而貝葉斯集成LSTM神經(jīng)網(wǎng)絡(luò)要比集成LSTM神經(jīng)網(wǎng)絡(luò)與集成RNN神經(jīng)網(wǎng)絡(luò)。貝葉斯集成LSTM神經(jīng)網(wǎng)絡(luò)與集成LSTM神經(jīng)網(wǎng)絡(luò)上,在正確率有1.14%的提升,在查準(zhǔn)率有1.10%的提升,查全率有2.02%的提升,AUC有1.12%的提升。
4 ?結(jié)語(yǔ)
一個(gè)貝葉斯集成長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)。使用該集成網(wǎng)絡(luò)對(duì)我國(guó)上證50指數(shù)進(jìn)行預(yù)測(cè)。通過(guò)實(shí)驗(yàn)驗(yàn)證了正確率,查準(zhǔn)率,查全率與AUC指標(biāo)得出以下記錄:
(1)3種集成神經(jīng)網(wǎng)絡(luò)的正確率與AUC都大于50%,證明集成神經(jīng)網(wǎng)絡(luò)對(duì)上證50的預(yù)測(cè)有參考價(jià)值。
(2)貝葉斯集成LSTM神經(jīng)網(wǎng)絡(luò)與集成LSTM神經(jīng)網(wǎng)絡(luò)上,在正確率有1.14%的提升,在查準(zhǔn)率有1.10%的提升,查全率有2.02%的提升,AUC有1.12%的提升。證明結(jié)合貝葉斯后的集成LSTM神經(jīng)網(wǎng)絡(luò)要優(yōu)于一般的集成神經(jīng)網(wǎng)絡(luò)。
參考文獻(xiàn)
[1] 楊海深,傅紅卓.基于貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)的股票指數(shù)預(yù)測(cè)[J].科學(xué)技術(shù)與工程,2009,9(12):3306-3310,3318.
[2] 田凱,孫永泰,高慧,等.貝葉斯算法BP神經(jīng)網(wǎng)絡(luò)缺陷量化研究[J].中國(guó)測(cè)試,2014,40(3):93-97.
[3] 孫瑞奇. 基于LSTM神經(jīng)網(wǎng)絡(luò)的美股股指價(jià)格趨勢(shì)預(yù)測(cè)模型的研究[D].首都經(jīng)濟(jì)貿(mào)易大學(xué),2016.