999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

深度稀疏修正神經網絡在股票預測中的應用

2018-09-22 05:39:06鄧烜堃馬彥勤
計算機技術與發展 2018年9期
關鍵詞:模型

鄧烜堃,萬 良,馬彥勤

(1.貴州大學 計算機科學與技術學院,貴州 貴陽 550025; 2.貴州大學 計算機軟件與理論研究所,貴州 貴陽 550025)

0 引 言

隨著經濟的發展,中國股市機制日趨完善和健全,吸引了越來越多的投資者投身到股票交易市場當中。股票價格的預測一直是投資者關注的重要問題,從股票產生之初,人們就開始研究股票的價格走勢,希望從股票價格的歷史走勢中分析出特定的規律,從而指導投資者進行買賣操作。

股票價格預測的準確與否直接影響到投資者的盈利或者虧損,專家和學者針對股票預測問題提出了不同的方案和解決思路。文獻[1]提出了一種基于ARMA-GARCH的股票預測模型,對傳統的時間序列模型ARMA進行了改進,優化了預測效果。文獻[2]提出了一種基于FOA算法優化的SVR模型,相比傳統模型,該模型進一步減小了誤差。文獻[3]提出一種將自適應遺傳算法和粗糙集相結合的預測模型,通過實驗證明了該模型具有較好的精度。

股票預測是一項極具挑戰性的任務。由于股票系統是非線性的復雜動態系統,其價格走勢具有很強的波動性,并且影響價格的因素眾多,線性模型并不能很好地解決股票預測問題。人工神經網絡(ANN)具有良好的非線性特點,適用于研究股票預測問題。

人工神經網絡的研究起源于感知器(perceptron)[4],感知器通過模擬神經細胞的工作原理使計算機有了學習—推理的能力。但是,單層感知器甚至無法解決異或問題,促使了BP(error back propagation)學習算法[5]的產生。使用BP學習算法可以訓練多層感知器,解決更加復雜的問題,如手寫體識別[6]。但是,BP學習算法依舊無法訓練深層神經網絡,直到深度信念網絡(deep belief nets)[7]的出現才破解了這一難題。使用受限布爾茲曼機(restricted Boltzmann machines)對神經網絡進行預訓練[8],使神經網絡可以向更深的層次進展。

隨著深度學習的發展,神經網絡的改變不僅在于層數的增加,解決問題的能力也大大提高,并在圖像識別[9]、語音識別[10]、文本處理[11]等領域的應用日益增多。因此,文中使用深度神經網絡建立股票模型,并對其性能進行實驗驗證。

1 BP神經網絡

1.1 BP神經網絡模型

BP神經網絡是應用較廣泛的多層感知器模型,神經網絡結構通常包含三個部分:輸入層、隱藏層和輸出層。BP神經網絡的學習過程由兩部分組成:信號向前傳播和誤差反向傳播。誤差反向傳播的學習過程使得BP神經網絡具有較強的非線性映射能力、泛化能力和容錯能力。

1.2 BP學習算法

BP學習算法是一種基于Delta學習規則的算法,其原理是利用梯度下降的方法,將每次訓練產生的誤差向前傳導,依次更新每層的權值和偏置值,反復迭代,最終達到收斂條件后迭代結束。

定義X為輸入向量,Y為隱藏層輸出向量,輸出層輸出向量為O,D為期望輸出向量,f(x)為激活函數,η為學習率。

首先,定義系統的損失函數,見式1:

(1)

其中,k表示第k個神經元。

對于隱藏層和輸出層,使用梯度下降法調整權值,其中權值改變量Δw的第一個下標為前一層的第j個神經元,第二個下標為后一層的第k個神經元,m為前一層神經元的數目,對于輸出層,權值的變化量為:

Δwjk=η(dk-ok)f'(netk)yj

(2)

(3)

對于隱藏層,權值的變化量為:

(4)

(5)

從式4可以看出,隱藏層權值調整的過程中引入了輸出層的權值,輸出層誤差的調整會傳導到隱藏層,這就是BP算法的核心思想。

傳統的BP學習算法在更新權值時只考慮第t輪迭代的更新,并沒有考慮第t輪以前權值的改變,這使得神經網絡在訓練過程中可能會發生振蕩[12]。文中使用改進BP學習算法,在權值更新的過程中引入了動量項。添加了動量項后提高了模型的訓練速度,且在梯度下降的過程中防止陷入局部極小值,提高了模型的準確度。

增加了動量項的權值調整公式如下所示:

ΔW(t)=ηδX+aΔW(t-1)

(6)

其中,W為權值矩陣;a為動量系數,a的取值一般在(0,1)之間。

1.3 激活函數

激活函數(activation function)又稱轉移函數,是神經網絡重要的組成要素。激活函數通常具有以下幾方面的性質:非線性、連續性、單調性。神經網絡模型本身不具備求解非線性問題的能力,之所以能處理非線性問題,很大程度上歸功于激活函數。由于激活函數的上述特性,神經元可以將輸入映射為非線性的輸出。隨著神經元個數的增加和網絡結構的復雜化,提升了神經網絡模型的非線性表達能力。

2 深度稀疏修正神經網絡

文中設計了一種深度稀疏修正神經網絡模型(deep sparse rectifier neural networks,DSRNN),該模型基于BP學習算法,并采用了深度學習中的技術。與傳統BP神經網絡相比主要有以下不同:

(1)使用新型激活函數ReLU(rectified linear units)。傳統的BP神經網絡通常使用logistic、tanh等非線性激活函數。文中使用的ReLU是一種分段線性激活函數。

(2)設計了深層的網絡結構。傳統的BP神經網絡由于其算法的局限,通常只有一個隱藏層,而DSRNN有多個隱藏層,是一種深度神經網絡。

(3)使用了新的權值初始化方法。傳統的權值初始化方法不利于誤差的反向傳播,針對梯度消失問題,文中提出了一種新的權值初始化方法。

2.1 稀疏性與修正線性函數

神經科學家通過研究生物大腦發現,大腦同一時間被激活的神經元數目約在1%~4%[13],這種特性被稱作稀疏性。Bengio[14]針對稀疏性的優勢進行了探討,在面臨特征種類多且特征之間關系復雜的數據時,特征之間可能會相互耦合,輸入數據的微小改變都可能會產生不同的輸出結果。但是,利用神經元的稀疏性可以解決這個問題,通過將部分不重要的神經元置為關閉狀態,僅保持部分的神經元激活,神經網絡可以從眾多特征中解析出少量關鍵特征,簡化數據之間復雜的耦合關系,從而過濾噪音,增強模型的魯棒性。

獲得稀疏性的關鍵在于只激活部分的神經元,其余的神經元置為關閉。為了達到這個目的,文中使用了ReLU作為激活函數。ReLU由Glorot等[15]提出,隨著深度神經網絡的發展,廣泛應用于圖像識別領域,并在卷積神經網絡(convolutional neural networks,CNN)中有不錯的效果[16]。

ReLU的出現顛覆了對傳統激活函數的認識,傳統的激活函數在設計上通常滿足連續性、對稱性、可微性,如S型函數(sigmoid function)logistic和tanh,其定義為式7和式8。

(7)

(8)

相比較早期的階躍型激活函數,S型函數可以將數值壓縮到一個很小的區間內,其可微性也可以使S型函數直接應用于BP神經網絡,提高了神經網絡求解復雜問題的能力。

隨后,Charles Dugas等[17]提出了softplus激活函數,定義為式9:

f(x)=lg(1+ex)

(9)

softplus繼承了傳統激活函數的對稱性和可微性,但是放棄了對稱性,使得softplus出現了一端激活的狀態,因此具有一定的生物特性。同時,softplus還是一種不飽和非線性函數,因此不會出現S型函數中的梯度飽和現象。

ReLU既不對稱,在0處也不可微,其本質上是一種閾值函數(threshold function),定義為式10。

f(x)=max(0,x)

(10)

以0為閾值,大于0的原值輸出,小于0的使用0作為輸出,使得神經元可以很容易地獲得稀疏性。相比S型函數,ReLU的線性部分也有利于梯度傳導,因此更加適用于深度神經網絡。

2.2 模型設計

股票數據維度復雜,波動性強,淺層的神經網絡難以把握數據中蘊藏的規律,因此文中使用深層神經網絡設計股票預測模型。DSRNN一共有7層,包含1個輸入層、5個隱藏層、1個輸出層。輸入層的神經元個數與輸入數據的維度相對應。通常隱藏層的層數越多,模型的擬合能力就越強,但是,層數的增加也意味著模型越難以訓練。綜合數據集的規模以及反復試驗后的最優結果,將DSRNN設置為5個隱藏層。隱藏層神經元的數量可以不固定,但是經過實驗驗證,每一層的神經元數量最好大于輸入層神經元數,這樣可以使輸入層的每一個特征與其他特征組合更加充分,學習到數據中更多的細節。輸出層有1個神經元,用于輸出計算結果。模型所有層之間使用全連接的方式,拓撲結構如圖1所示。

圖1 DSRNN拓撲結構

DSRNN基于BP算法,因此DSRNN的計算過程也包含向前傳播和向后傳播兩個部分。在向前傳播過程中,隱藏層的輸出y如式11:

(11)

其中,bji為神經元j和i之間的偏置值。

在反向傳播的過程中,使用梯度下降算法,逐層計算誤差并更新權值,權值調整公式為:

(12)

其中,w的第三個下標l表示第l層。

將式12逐層展開,可以得到每一層的權值調整公式。輸出層到第六層的權值調整為:

wjk6=wjk6-η(dk-ok)yj5

(13)

第六層到第五層的權值調整為:

wji5=wji5-η(dk-ok)wji6yj4

(14)

第五層到第四層的權值調整為:

wji4=wji4-η(dk-ok)wji6wji5yj3

(15)

第四層到第三層的權值調整為:

wji3=wji3-η(dk-ok)wji6wji5wji4yj2

(16)

第三層到第二層的權值調整為:

wji2=wji2-η(dk-ok)wji6wji5wji4wji3yj1

(17)

第二層到輸入層的權值調整為:

wji1=wji1-η(dk-ok)wji6wji5wji4wji3wji1xi

(18)

在權值調整過程中,若隱藏層中輸出的y≤0,根據ReLU的性質,權值不會發生調整。

2.3 權值初始化方法

權值初始化的合適與否對深度網絡神經網絡模型十分重要。深度神經網絡結構復雜,使用BP算法反向傳播誤差時,誤差會隨著傳播層數的增加而逐漸減小。通過分析式12~18可以發現,由于w是一個小于0的數,連續的相乘會使結果越來越接近0,導致靠前的神經元權值改變量極小,誤差不容易收斂,這種現象叫做梯度消失(gradient vanish)[18]。但是,合適的初始化方法可以加快誤差的收斂速度,并且可以減小模型陷入局部極小值的概率。

傳統的權值初始化方法如式19和式20。式19是一種常用的初始化方法,權值的取值服從-0.5到0.5的均勻分布;式19稱為標準權值初始化方法(standard weight initialization),權值初始化的范圍根據當前層的結構而定,其中n為當前層節點的數量,取值服從均勻分布。

w~U[-0.5,0.5]

(19)

(20)

針對DSRNN權值的初始化,文中提出了一種新的權值初始化方法。為了使信息有效地在神經網絡中傳播,每一層輸出的方差應盡可能相等。首先,任意一層輸出的方差可以表示如下:

Var(wixi)=E[wi]2Var(xi)+E[xi]2Var(wi)+Var(wi)Var(xi)

(21)

由于w和x的期望均為0,式21可進一步化簡為:

Var(wixi)=Var(wi)Var(xi)

(22)

w和x獨立同分布,其中n為第i層節點的數量,則有:

Var(y)=niVar(wi)Var(xi)

(23)

假設每一層輸出的方差均相等,對于單獨一層來說,等價于輸入和輸出的方差相等,式23可以表示為:

(24)

在多層神經網絡中,為了保證每一層輸出的方差都相等,應滿足:

?i,niVar[wi]=ni+1Var[wi]

(25)

聯立式24和式25,可得到w的方差為:

(26)

根據均勻分布的性質,已知其方差,可以求得其分布區間,w的分布區間為:

(27)

式27即為文中提出的權值初始化方法,該方法初始化時考慮了第i層和第i+1層神經元個數。經實驗驗證,該方法在多層神經網絡中有利于誤差反向傳播。

2.4 模型輸入輸出

模型的輸入為股票交易中的歷史數據。但是,原始數據維度高,且存在多重共線性以及噪聲等問題,不利于模型訓練。因此,需要對數據進行預處理,使處理后的數據方便神經網絡計算。文中數據預處理包含歸一化和特征降維兩個部分。

1.歸一化。

首先,先將輸入的數據樣本進行歸一化處理。由于原始數據量綱不同,這會導致數量級較大的數據對最終的結果產生較大的影響,而數量級較小數據對結果幾乎沒有產生影響。這對最終的實驗結果造成了極大的干擾,因此需要將數據的數量級進行統一。文中使用線性函數歸一化(min-max scaling)方法:

(28)

通過歸一化操作,將數據壓縮到(0,1)之間,并防止使用logistic和tanh激活函數的神經元出現梯度飽和的現象[19]。

2.特征降維。

數據歸一化后,使用PCA(principal component analysis)法進行特征降維。特征降維的主要目的是從眾多特征中提取出主要特征,通過投影變換,組成新的低維特征空間[20]。特征降維對于神經網絡有兩點好處:去除了數據中的噪音,防止過度擬合;簡化了神經網絡結構,減少了神經元個數,降低了神經網絡的訓練難度。

特征降維的過程主要分為:

(1)對歸一化后的數據集M計算其協方差矩陣,得到一個n*n的矩陣X,其中M為n*m的矩陣,m為數據集M的特征維度。

(2)計算矩陣X的特征值和特征向量。

(3)使用步驟2求出的特征值計算方差貢獻度。為了減少信息的損失,將方差貢獻度的閾值設置在95%,即最終將累計方差貢獻度在95%以上且排在前k個的特征值選出,記錄其對應的特征向量。

(4)使用步驟3選出的特征向量組成新的矩陣Y,矩陣M在Y上做投影運算,得到一個n*k的新矩陣Z,Z即為降維后的數據。

模型輸出為股票的預測價格,但是輸出值在-1到1之間,不方便與真實值進行比較,需要反歸一化處理,反歸一化方法如下:

x=x'(max-min)+min

(29)

其中,max、min為求解式28時計算出的最大和最小值。

3 實 驗

3.1 實驗數據

使用貴州茅臺(600519)2013年1月4日至2017年5月4日的交易數據作為數據集。該數據集包含28個維度的數據,基本囊括了技術分析中的常用指標。分別是開盤價,收盤價,最高價,成交量,最低價,換手率,MA5,MA10,MA20,VOLUME(VOLUME,MA5,MA10),MACD(DIF,DEA,MACD),RSI(RSI1,RSI2,RSI3),KDJ(K,D,J),PSY(PSY,PSYMA),VR(VR,MAVR),CCI,ROC(ROC,MAROC)。

數據集使用2.4節提到的方法進行歸一化和降維處理,降維后得到只有6個維度的數據集。這6個維度的數據實際方差貢獻率為95.2%,包含了數據中絕大部分的特征。處理后的數據集劃分為兩部分:訓練集和測試集。訓練集包含831條數據,測試集包含220條數據,分別用于模型訓練和模型測試。

3.2 實驗結果與分析

文中使用第一天的數據擬合第二天的股票價格,從準確度和魯棒性兩個方面將DSRNN與傳統的BP神經網絡進行了對比,并比較了DSRNN使用文中提出的初始化方法和傳統初始化方法后誤差收斂的差異。實驗的詳細結果如下:

1.模型準確度。

為了比較模型的準確性,使用了帶動量項的神經網絡模型,同時也對比了不帶動量項的神經網絡模型,動量系數為0.7。表1中的數據是使用相同權值初始化方式,不同的激活函數計算得出。其中訓練誤差由測試集數據計算誤差平方和(SSE)得出,預測誤差由輸出值和目標值計算平均絕對誤差(MAE)得到,數據是10次測量取平均值的結果。

表1 不同模型預測結果對比

分析表1數據可以看出,使用動量項優化過的模型比沒經過優化的模型在訓練精度和預測精度方面均有了顯著提高,說明使用動量項優化可行且有效??傮w來看,DSRNN在兩種條件下比其他三種模型都具有更好的表現。由于DSRNN是一種深度神經網絡,在訓練時可以學習到數據中更多的特征,從而可以更好地把握數據中隱含的規律,因此具有較高的精度。

2.模型健壯性。

DSRNN擁有較多的神經元,但是,過多的神經元通常也會導致過度擬合的問題。為了比較不同神經網絡模型在不同隱層節點數目下抵抗過度擬合的能力,使用5~20個隱藏層神經元分別進行實驗。數據為10次測量取平均值所得,結果如表2所示。

表2 不同隱層節點數目預測結果對比

分析表2數據可知,隨著隱藏層節點數目的增加,基于tanh、softplus和logistic的模型均出現了不同程度的過度擬合。即數據在訓練集上表現優異,訓練誤差逐漸減小,但是在測試集上誤差卻不斷增加。這是由于隱藏層神經元過多導致的,過多的隱藏層神經元會學習到數據中更多的細節,但是過度地強調細節會使模型的泛化能力減弱,因此在測試集中表現較差。

與其他幾種模型不同,DSRNN并沒有表現出過度擬合的現象,隨著隱藏層神經元的增加,訓練誤差和預測誤差均保持在比較穩定的狀態。由于DSRNN的稀疏性會自動地關閉其中不重要的神經元,激活的神經元始終保持在相對穩定的數量,避免了過度擬合的發生。因此,DSRNN具有更好的魯棒性。

3.權值初始化方式。

DSRNN相比傳統的淺層神經網絡更不容易訓練,因此不好的權值初始化方式會影響DSRNN的性能。為了證明文中提出的初始化方式對DSRNN性能的提高,進行了以下實驗。為表述簡便起見,將式19表示為A,式20表示為B,式27表示為C,分別對權值進行初始化,記錄實驗誤差。對10次實驗結果取平均,如表3所示。

表3 不同初始化方式預測結果對比

由表3可知,模型收斂后,三種初始化方式最終的訓練誤差和預測誤差相差無幾,具有相似的精度,因此需要比較三種方式在訓練過程中的差異。文中采集了三種初始化方式在前600輪訓練中的誤差變動數據,并繪制成圖2。

圖2 訓練過程中的誤差變動

可以看出,經過600次訓練,三種方案最終收斂到了相同精度。比較訓練的過程可以發現,A進行了約300多輪訓練收斂,B進行了約400多輪訓練收斂,C則進行了200多輪訓練就收斂,C的誤差收斂速度明顯快于A和B,說明文中提出的初始化方法要優于其余兩種初始化方法,在DSRNN中有利于誤差的反向傳播,大大提升了模型的訓練效率。

4 結束語

由于股票系統具有非線性的特點,傳統的預測方法往往精度不高,對此設計了一種深度神經網絡DSRNN用于股票預測。針對深度神經網絡訓練過程中梯度消失的問題,DSRNN使用了ReLU激活函數并提出一種新的權值初始化方法。實驗結果表明,設計的股票預測模型DSRNN相比傳統的BP神經網絡模型,具有更好的準確度和健壯性,抗過度擬合能力強。而權值初始化方法可以提高誤差在DSRNN中的傳播效率,使其有更快的訓練速度。模型的平均相對誤差(ARE)在3.5%左右,而股票的漲跌幅限制在10%以內,因此對實際的投資具有一定的指導意義。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲国产看片基地久久1024| 美女无遮挡拍拍拍免费视频| 91免费观看视频| 中文字幕乱码中文乱码51精品| 国产成人区在线观看视频| 久久精品这里只有精99品| 欧美日韩导航| 亚洲青涩在线| 国产精品视频免费网站| 亚洲国产欧洲精品路线久久| 亚洲精品不卡午夜精品| 精品在线免费播放| 国产激情国语对白普通话| 69精品在线观看| 亚洲综合精品第一页| 中文字幕资源站| 精品一區二區久久久久久久網站| 制服丝袜 91视频| 国产理论一区| 亚洲无码免费黄色网址| 美女一区二区在线观看| 亚洲国产天堂久久综合| 九九视频免费在线观看| 欧美午夜精品| 国产第一福利影院| 免费一看一级毛片| 精品少妇三级亚洲| 国产在线拍偷自揄拍精品| 亚洲水蜜桃久久综合网站| 日a本亚洲中文在线观看| 国产浮力第一页永久地址 | 国产超碰在线观看| 久久国产精品娇妻素人| 国产成人综合久久| 国产自在线拍| 中文无码日韩精品| 亚洲久悠悠色悠在线播放| 久久综合成人| 欧美a在线视频| 亚洲成a人片在线观看88| 国产区在线观看视频| 岛国精品一区免费视频在线观看 | 天天干天天色综合网| 亚洲IV视频免费在线光看| 四虎在线观看视频高清无码| 国产原创第一页在线观看| 日韩无码黄色| 天天干天天色综合网| 久久国产乱子伦视频无卡顿| 三区在线视频| 国产精品午夜电影| 亚洲无码免费黄色网址| 国产三级韩国三级理| 亚洲一区第一页| 成人91在线| 精品福利视频导航| 99热这里只有精品国产99| 成人在线亚洲| 国内精品九九久久久精品| 91av国产在线| 久久青草视频| 久久久久久久97| 亚洲欧美国产五月天综合| 亚洲美女一级毛片| 欧美第一页在线| 国产精品浪潮Av| 波多野结衣久久高清免费| 国产成人亚洲综合a∨婷婷| 亚洲精品777| 综合久久久久久久综合网| 精品一区二区三区视频免费观看| 99久久精品国产综合婷婷| 久久精品国产电影| 午夜激情福利视频| 丝袜无码一区二区三区| 美女被操黄色视频网站| 久久久受www免费人成| 日韩色图区| 特级做a爰片毛片免费69| 亚洲精品成人片在线播放| 日本一本在线视频| 国产肉感大码AV无码|