BP算法改進(jìn)及其在股票價格預(yù)測中的應(yīng)用
安靜1,曾成順1,2
(1.廣東松山職業(yè)技術(shù)學(xué)院電氣工程系,廣東韶關(guān)512126;
2.華南理工大學(xué)自動化科學(xué)與工程學(xué)院,廣東廣州510641)
摘要介紹了神經(jīng)網(wǎng)絡(luò)的基本概念,BP算法是前饋神經(jīng)網(wǎng)絡(luò)中最終要的算法模型,但由于BP算法收斂速度慢,為了加速算法收斂,增加神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,提出了L-M對股票指數(shù)預(yù)測模型。借助神經(jīng)網(wǎng)絡(luò)對非線性函數(shù)的逼近能力,對上證綜合指數(shù)股價進(jìn)行單步預(yù)測。用L-M和BP對預(yù)測結(jié)果進(jìn)行比較,證明L-MBP算法用于指標(biāo)預(yù)測準(zhǔn)確性更高。
關(guān)鍵詞:Levenberg-Marquardt;神經(jīng)網(wǎng)絡(luò);預(yù)測:股票價格
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
1 引言
我國股票市場迅速發(fā)展,股票投資已成為眾多個人理財(cái)?shù)囊环N重要方式。如何能讓投資者正確預(yù)測股票價格,選準(zhǔn)買賣時機(jī),無疑成為許多人關(guān)注的焦點(diǎn)。經(jīng)過長期的實(shí)踐和研究,如K線法、移動平均線法等。這些方法基本建立在統(tǒng)計(jì)學(xué)基礎(chǔ)上,雖然簡單,易于掌握,但由于股市運(yùn)作是一個巨大的非線性的系統(tǒng),股價走勢受到政治、經(jīng)濟(jì)、心理等眾多因素的影響,使用傳統(tǒng)的技術(shù)分析工具進(jìn)行股票買賣決策難度大,因人而異,差異顯著,一般投資者應(yīng)用效果不理想。
由于神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性關(guān)系概況能力,它不需要建立復(fù)雜的非線性系統(tǒng)的顯式關(guān)系或數(shù)學(xué)模型,用于股市預(yù)測取得了一定的效果。但傳統(tǒng)的BP算法具有如下主要缺點(diǎn):局部極值、收斂速度慢以及難以確定隱節(jié)點(diǎn)個數(shù)。在實(shí)際應(yīng)用中,BP算法很難勝任,因此從不同角度提出許多改進(jìn)算法,比如改進(jìn)誤差函數(shù)以避免局部最小值、改進(jìn)優(yōu)化方法、激勵函數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)等以加快網(wǎng)絡(luò)收斂。Levenberg-Marquardt算法是牛頓法的變形,用以最小化那些作為其它非線性函數(shù)平方和的函數(shù),這非常適合于性能指數(shù)是均方誤差的神經(jīng)網(wǎng)絡(luò)訓(xùn)練。
2 前饋神經(jīng)網(wǎng)絡(luò)算法
2.1前向計(jì)算
Levenberg-Marquardt算法中的關(guān)鍵一步是求雅可比矩陣的計(jì)算,用一種BP算法的變形來進(jìn)行計(jì)算。典型前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)包括輸入層、隱層、輸出層,各層之間實(shí)行全互連接,層內(nèi)神經(jīng)元之間無連接。
設(shè)網(wǎng)絡(luò)共上層,包括輸入層、隱層和輸出層。
通常取1,輸出范圍為(O,1),當(dāng)函數(shù)的值接近于0或1時,函數(shù)值對自變量的變化不敏感,此時權(quán)值的微小變化不會對神經(jīng)元的輸出產(chǎn)生影響,它所受到后面樣本學(xué)習(xí)的影響不會很大。如果此時神經(jīng)元的輸出不是期望的輸出值,而權(quán)值的調(diào)節(jié)量又很小,就很難將該神經(jīng)元的狀態(tài)調(diào)整過來,因而影響了網(wǎng)絡(luò)的收斂速度,這就是所謂的“平臺”現(xiàn)象。
2.2 LM算法
目標(biāo)函數(shù)為:
3 算法流程
實(shí)驗(yàn)表明,結(jié)合DFP算法的神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程在誤差很大或者不是線性函數(shù)時具有明顯的優(yōu)越陛。但如果LM算法的條件滿足即當(dāng)誤差很小或者誤差使線性函數(shù)時,則應(yīng)用LM算法。如圖1所示為神經(jīng)網(wǎng)絡(luò)算法流程圖。
LM算法(3)訓(xùn)練網(wǎng)絡(luò),否則進(jìn)行N步驟⑦;⑦用結(jié)合DFP算法的神經(jīng)網(wǎng)絡(luò)算法(4)訓(xùn)練網(wǎng)絡(luò)。
4實(shí)例分析
本文用訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)模型作“單步”預(yù)測。“單步”預(yù)測是每步都使用歷史數(shù)據(jù),僅預(yù)報(bào)第二天的股票指數(shù)。例如,輸入數(shù)據(jù)n1、n2、…n5得到預(yù)測值n6。本文利用神經(jīng)網(wǎng)絡(luò)模型對上海證券交易 |