久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

基于ANN算法的數(shù)據(jù)倉(cāng)庫(kù)分析

 摘摘摘丿丿丿 2020-08-14

《數(shù)據(jù)處理與智能決策》課程設(shè)計(jì)報(bào)告

設(shè)計(jì)題目:   基于ANN算法的數(shù)據(jù)倉(cāng)庫(kù)分析  

   業(yè):                    物聯(lián)網(wǎng)工程                    

指導(dǎo)教師:          劉帥,、婁鑫坡,、蘇靖楓      

學(xué)   號(hào):                                                         

   名:                                                        

同組人員:                                                    




文本框: 成   績(jī):                          
評(píng)   語(yǔ):
 





計(jì)算機(jī)與數(shù)據(jù)科學(xué)學(xué)院

2019 12 20

目錄

1 緒論................................................................................................................................. 1

1.1 選題背景和意義..................................................................................................... 1

1.1.1 背景............................................................................................................ 1

1.1.2 意義............................................................................................................ 1

2 股票價(jià)格預(yù)測(cè)................................................................................................................... 2

2.1 股票價(jià)格預(yù)測(cè)的基礎(chǔ)指標(biāo)....................................................................................... 2

2.2 股票價(jià)格預(yù)測(cè)的關(guān)鍵問(wèn)題....................................................................................... 2

2.2.1 預(yù)測(cè)投資分析.............................................................................................. 2

2.2.2 預(yù)測(cè)方法的比較.......................................................................................... 3

3 人工神經(jīng)網(wǎng)絡(luò)模型............................................................................................................ 5

3.1 人工神經(jīng)網(wǎng)絡(luò)的發(fā)展背景....................................................................................... 5

3.2 人工神經(jīng)網(wǎng)絡(luò)分析................................................................................................. 5

3.3 BP神經(jīng)網(wǎng)絡(luò)及算法................................................................................................. 6

3.3.1 BP神經(jīng)網(wǎng)絡(luò)................................................................................................ 6

3.3.2 BP神經(jīng)網(wǎng)絡(luò)算法......................................................................................... 8

4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)............................................................................................................. 10

4.1 流程圖................................................................................................................. 10

4.2 詳細(xì)設(shè)計(jì).............................................................................................................. 11

4.2.1 調(diào)用返回隨機(jī)數(shù)生成器的值......................................................................... 11

4.2.2 訓(xùn)練數(shù)據(jù)..................................................................................................... 11

4.2.3 加載數(shù)據(jù).................................................................................................... 12

4.2.4 計(jì)算輸出層和隱藏層誤差............................................................................ 12

4.3 運(yùn)行結(jié)果圖.......................................................................................................... 13

5 總結(jié)............................................................................................................................... 15

6 參考文獻(xiàn)........................................................................................................................ 16

1緒論

1.1 選題背景和意義

1.1.1 背景

目前,股票已成為最常見(jiàn)的投資之一,。股票市場(chǎng)上的直接融資行為與銀行儲(chǔ)蓄的間接融資相比,有著更高的效率與靈活性:與保守的股票投資策略相比,,收益和風(fēng)險(xiǎn)博弈的積極型股票投資策略,,對(duì)促進(jìn)經(jīng)濟(jì)發(fā)展有著更加明顯、更大的意義,。在經(jīng)濟(jì)發(fā)展方面,,股票交易可以廣泛動(dòng)員和聚集社會(huì)閑散資金,發(fā)揮市場(chǎng)機(jī)制的作用,,打破地區(qū)壁壘,,促進(jìn)資源的優(yōu)化配置,從而促進(jìn)經(jīng)濟(jì)的發(fā)展;對(duì)企業(yè)而言,,提高股票交易市場(chǎng)監(jiān)管與自律,,同時(shí)企業(yè)自身提高管理能力,從廣大投資者中滿足自身長(zhǎng)期資金需求;對(duì)于投資者來(lái)說(shuō),,股票交易無(wú)疑為其提供了多元的投資選擇,,拓寬了投資渠道:股票是經(jīng)濟(jì)的晴雨表,股市的表現(xiàn)能預(yù)示一定時(shí)間段內(nèi)未來(lái)經(jīng)濟(jì)的發(fā)展,。因此,,對(duì)于國(guó)家而言,對(duì)股票進(jìn)行預(yù)測(cè),,能一定程度上地反映未來(lái)的國(guó)民經(jīng)濟(jì)形勢(shì):對(duì)于投資者而言,,獲取收益的同時(shí)需要一種方法來(lái)控制和規(guī)避風(fēng)險(xiǎn),這種方法就是股價(jià)預(yù)測(cè),。

股價(jià)預(yù)測(cè)在人們生活中發(fā)揮著越發(fā)越重要的作用,,國(guó)內(nèi)外許多學(xué)者都已致力于股價(jià)預(yù)測(cè)的研究。從宏觀經(jīng)濟(jì)和微觀企業(yè)著手進(jìn)行分析的經(jīng)濟(jì)學(xué)家們,,已經(jīng)不斷深入探討社會(huì)經(jīng)濟(jì)形勢(shì)和企業(yè)經(jīng)營(yíng)狀況,,用于預(yù)測(cè)股票的未來(lái)趨勢(shì):股票投資者們也從投資的收益風(fēng)險(xiǎn)比的角度對(duì)股票價(jià)值進(jìn)行了分析,以確定某個(gè)股票的商業(yè)價(jià)值和商業(yè)機(jī)會(huì):學(xué)術(shù)研究領(lǐng)域,,無(wú)論是基于理論的角度和還是實(shí)證股票研究,,都在探尋著股票市場(chǎng)運(yùn)行機(jī)制,總結(jié)股價(jià)運(yùn)行規(guī)律,,并期望預(yù)測(cè)股票價(jià)格的走勢(shì),。

實(shí)踐證明,股價(jià)變化具有一定的可預(yù)測(cè)性,。因此,,如何找到一個(gè)更準(zhǔn)確的預(yù)測(cè)方法已成為股市領(lǐng)域最重要也最惹人關(guān)注的研究方向,。本文嘗試運(yùn)用一種基于BP神經(jīng)網(wǎng)絡(luò)建立的綜合股價(jià)預(yù)測(cè)模型,并用此模型預(yù)測(cè)股價(jià)的漲跌情況,。

1.1.2 意義

在股市選股和股價(jià)預(yù)測(cè)時(shí),,絕大部分研究人員依據(jù)上市公司財(cái)務(wù)數(shù)據(jù)對(duì)該股票進(jìn)行估值,或者運(yùn)用傳統(tǒng)統(tǒng)計(jì)回歸方法針對(duì)交易數(shù)據(jù)對(duì)股價(jià)短期漲跌情況進(jìn)行預(yù)測(cè),。本文擬建立一種綜合股價(jià)預(yù)測(cè)模型,,全面分析影響股價(jià)的市場(chǎng)面因素,運(yùn)用主成分分析方法對(duì)影響股價(jià)因素進(jìn)行篩選,,再運(yùn)用思維進(jìn)化算法優(yōu)化基于BP神經(jīng)網(wǎng)絡(luò)的綜合模型的初始權(quán)值和國(guó)值,,此模型能為投資者在基于基本面選擇適當(dāng)股票后,從市場(chǎng)面判斷該只股票未來(lái)價(jià)格的漲跌情況,,對(duì)股票短線投資具有一定的參考價(jià)值,。

2 股票價(jià)格預(yù)測(cè)

2.1 股票價(jià)格預(yù)測(cè)的基礎(chǔ)指標(biāo)

股價(jià),指股票的交易價(jià)格,。影響股票價(jià)格變動(dòng)的因素眾多,,大致可分為兩類:市場(chǎng)面因素、基本面因素,。市場(chǎng)面因素主要指股市的供給情況,,即股市中資金面和籌碼面的相對(duì)比例??捎膳c股票交易相關(guān)的各類交易數(shù)據(jù),,以及由交易數(shù)據(jù)衍生出來(lái)的統(tǒng)計(jì)技術(shù)指標(biāo)反映。一只股票價(jià)格的漲落,,最直接的推動(dòng)原因是該股票需求的增長(zhǎng)或減弱,,越來(lái)越多的投資者都加大力地購(gòu)買這只股票會(huì)推動(dòng)股價(jià)的上漲,反之亦然,。另一方面,,眾所周知,股價(jià)圍繞著內(nèi)在價(jià)值上下波動(dòng),。而股票的內(nèi)在價(jià)值背后要考量的正是影響基本面的各因素,。體現(xiàn)在宏觀方面,一些能夠引起股價(jià)變化國(guó)內(nèi)外重大活動(dòng)以及政府的政策,、措施、法令等重大事件,。體現(xiàn)在中觀上,,是該行業(yè)的景氣度、發(fā)展前景產(chǎn)業(yè)結(jié)構(gòu)等,。體現(xiàn)在微觀上,,則是一家公司的財(cái)務(wù)和經(jīng)營(yíng)管理狀況,。
    運(yùn)用基本面因素分析股價(jià),其原理是分析一般經(jīng)濟(jì)情況和公司經(jīng)營(yíng)管理狀況,、產(chǎn)業(yè)動(dòng)態(tài)等因素來(lái)衡量一只股票價(jià)格是高或低,。市場(chǎng)面因索指的是引起股價(jià)升降的直接因素,運(yùn)用市場(chǎng)面因素來(lái)分析股價(jià),,是指透過(guò)圖表或技術(shù)指標(biāo),,研究股票市場(chǎng)的行為及反應(yīng),以預(yù)測(cè)短期內(nèi)股價(jià)的變動(dòng),。因此本文基于市場(chǎng)面因素,,從股票價(jià)格、成交量,、根據(jù)股市歷史數(shù)據(jù)計(jì)算得到的技術(shù)指標(biāo)以及大盤指數(shù)四個(gè)方面選取股價(jià)預(yù)測(cè)的評(píng)價(jià)指標(biāo),。具體介紹如下:

(1)股票開(kāi)盤價(jià)格

(2)最高價(jià)

(3)最低價(jià)

(4)收盤價(jià)

(5)成交量

(6)成交價(jià)格

2.2 股票價(jià)格預(yù)測(cè)的關(guān)鍵問(wèn)題

2.2.1 預(yù)測(cè)投資分析

對(duì)股市股票進(jìn)行預(yù)測(cè)的時(shí)候,首先要對(duì)股市進(jìn)行投資分析,,這是不能省略的重要部分,。在投資的整個(gè)過(guò)程中,也是最重要的一部分,。第一,,想要在投資的過(guò)程中成功規(guī)避風(fēng)險(xiǎn),進(jìn)行股票投資分析是必不可少的一方面,。在投資人購(gòu)買股票的期間,,持有股票的過(guò)程中,會(huì)獲得相應(yīng)的股票回報(bào),,這和它所承擔(dān)的風(fēng)險(xiǎn)是成正比的,。風(fēng)險(xiǎn)和回報(bào)并存,是股市的特點(diǎn)所在,,同時(shí)風(fēng)險(xiǎn)和回報(bào)是一種正比關(guān)系,,想要投資收益越多,就要承擔(dān)與此成正比的投資風(fēng)險(xiǎn),。其次,,如果想在證券市場(chǎng)進(jìn)行股票買賣,也必須對(duì)股票市場(chǎng)的行情有所了解,,也需要投資分析,。在準(zhǔn)備購(gòu)買某上市公司股票之前,必須首先明確這支股票的各方面的性能,,例如時(shí)間性,、風(fēng)險(xiǎn)性、收益性和流動(dòng)性等等,。
   影響證券市場(chǎng)股票價(jià)格波動(dòng)的因素有很多,,并且共同作用相當(dāng)復(fù)雜,。如何能夠最大化的降低投資風(fēng)險(xiǎn),使得投資者的利益能夠?qū)崿F(xiàn)最大化是吸引所有研究者共同研究的問(wèn)題。所以需要選擇合適的證券分析方法,,規(guī)避不利因素的影響實(shí)現(xiàn)利益最大化,。

目前階段,對(duì)股票價(jià)格走向預(yù)測(cè)主要存在如下一些問(wèn)題:

(1)股價(jià)數(shù)據(jù)中含有較多噪聲
  股價(jià)數(shù)據(jù)中存在有較多噪聲主要有如下一些方面引起,,較大上市公司對(duì)股市的操控和諸多不確定因素,,以及股指編制的不合理性,使得股市股價(jià)存在較多的噪聲,。股市劇烈波動(dòng)點(diǎn)的存在,,在很大程度上會(huì)影響數(shù)據(jù)的收斂效果,造成數(shù)據(jù)很大程度的偏離預(yù)測(cè)值,,出現(xiàn)震蕩,,如果這樣預(yù)測(cè)效果大大降低。在非線性的條件下,,不可能對(duì)其像線性數(shù)據(jù)一樣進(jìn)行濾除,,也不能進(jìn)行輕率的處理。如果處理,,可能代表一類模式或結(jié)構(gòu)變化的前兆,。所以要求預(yù)測(cè)系統(tǒng)要有很強(qiáng)的魯棒性。

(2)股價(jià)的非線性特性
  股票股價(jià)需要有很強(qiáng)大的處理非線性系統(tǒng)的能力,是由影響股價(jià)波動(dòng)的諸多不同變量因素所造成的,,這些變量具有不確定性,。在現(xiàn)在研究發(fā)展階段,已經(jīng)形成了比較成熟的解決簡(jiǎn)單變量的非線性問(wèn)題和線性問(wèn)題的技術(shù),。缺乏有效的工具對(duì)復(fù)雜的,、一般性的變量較多的非線性問(wèn)題分析的工具。如果確定了非線性關(guān)系,,將會(huì)產(chǎn)生混沌,。如果確定線性關(guān)系,將產(chǎn)生簡(jiǎn)單的行為,。對(duì)于股價(jià)的預(yù)測(cè),,是一個(gè)復(fù)雜的、多變量的非線性問(wèn)題,。雖然一些耗散理論以及非線性數(shù)學(xué)的理論為其預(yù)測(cè)提供了一些數(shù)學(xué)工具,,但是在實(shí)際應(yīng)用的角度,仍然會(huì)存在大量的問(wèn)題,。

2.2.2 預(yù)測(cè)方法的比較

與其他的預(yù)測(cè)方法相比較,,神經(jīng)網(wǎng)絡(luò)模擬人的處理能力,適應(yīng)能力非常強(qiáng),通過(guò)網(wǎng)絡(luò)自身的學(xué)習(xí)和訓(xùn)練,,變量之間的規(guī)律就能夠被發(fā)現(xiàn)。在線性回歸中,,當(dāng)求解逆矩陣間的病態(tài)會(huì)產(chǎn)生很大的誤差,,在相關(guān)性很強(qiáng)的數(shù)據(jù)中,運(yùn)用神經(jīng)網(wǎng)絡(luò)模型就不會(huì)產(chǎn)生這個(gè)方面的問(wèn)題,。非線性回歸模型對(duì)誤差的分布沒(méi)有規(guī)則,,具有隨機(jī)性,并且數(shù)據(jù)不完全,。線性回歸的誤差項(xiàng)要求具有嚴(yán)格的對(duì)應(yīng)關(guān)系,。進(jìn)行預(yù)測(cè)的目的,就是要從這些數(shù)據(jù)中找出規(guī)律,,得到統(tǒng)計(jì)的方法,。在傳統(tǒng)的預(yù)測(cè)中,一段時(shí)間內(nèi)的大趨勢(shì)是可以預(yù)測(cè)的,,但是短時(shí)間內(nèi)的跳躍,,往往是研究者和投資者更為關(guān)注的焦點(diǎn)。
  傳統(tǒng)的分析工具中,,有幾種分析方法受到人們的青睞,,比如K線圖法,平均線圖法等等,,這些方法簡(jiǎn)單易懂,,很容易被決策者采用。但是這些方法也存在著缺陷,,預(yù)測(cè),、分析數(shù)據(jù)是不夠準(zhǔn)確的,而且人與人之間在知識(shí),、閱歷,、經(jīng)驗(yàn)、能力方面也;存在著很大的差異,,就是通過(guò)圖形的走勢(shì)來(lái)研究股票價(jià)格的波動(dòng)情況,這種差異直接影響人們的預(yù)測(cè)結(jié)果,所以說(shuō)即便是一些金融專家和股市專家對(duì)于一些復(fù)雜的股市情況,,也很難得出正確的結(jié)論。
  這些應(yīng)用于股市中,,已經(jīng)取得了很好的效果,。神經(jīng)網(wǎng)絡(luò)的優(yōu)越性可以從它的學(xué)習(xí)能力和訓(xùn)練數(shù)據(jù),掌握數(shù)據(jù)中看出來(lái),,這比以往的傳統(tǒng)預(yù)測(cè)方法和數(shù)學(xué)模型的推導(dǎo),,參數(shù)最優(yōu)解得探尋,都有很大的優(yōu)勢(shì),這種優(yōu)勢(shì),,在金融股票預(yù)測(cè)中可以完全體現(xiàn)出來(lái),。人工神經(jīng)網(wǎng)絡(luò)通過(guò)對(duì)樣本數(shù)據(jù)的訓(xùn)練和學(xué)習(xí),對(duì)于非線性函數(shù)可以無(wú)條件逼近,,從而得出樣本數(shù)據(jù)的變化規(guī)律,。通過(guò)變化規(guī)律對(duì)未來(lái)發(fā)展形勢(shì)進(jìn)行預(yù)測(cè)運(yùn)算,并且預(yù)測(cè)結(jié)果在很大程度上達(dá)到滿意的效果,。在復(fù)雜的數(shù)據(jù)中,,神經(jīng)網(wǎng)絡(luò)通過(guò)自身的學(xué)習(xí),發(fā)覺(jué)隱含的學(xué)習(xí)規(guī)律,。
  股票價(jià)格的走勢(shì)呈現(xiàn)出來(lái)的是高度的隨機(jī)性和不確定性,,在這些數(shù)據(jù)中,又隱含著大量的內(nèi)在規(guī)律,和變化法則,,這些特點(diǎn)可以通過(guò)對(duì)歷史數(shù)據(jù)的學(xué)習(xí)來(lái)掌握,,雖然預(yù)測(cè)方法不同,但是想要達(dá)到的目的是一致的,,都是通過(guò)運(yùn)算來(lái)發(fā)覺(jué)規(guī)律探究發(fā)展,,線性回歸模型和人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的比較來(lái)看,這兩種方法都是要找到誤差平方的最小值,。人工神經(jīng)網(wǎng)絡(luò)可以通過(guò)逐步逼近目標(biāo)數(shù)據(jù),,來(lái)達(dá)到預(yù)測(cè)目的。
  如果運(yùn)用人工神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行預(yù)測(cè)運(yùn)算,,假如數(shù)據(jù)的相關(guān)性很差的話,,就會(huì)在運(yùn)算過(guò)程中產(chǎn)生較大誤差。反過(guò)來(lái)如果數(shù)據(jù)關(guān)聯(lián)性強(qiáng),,則會(huì)對(duì)預(yù)測(cè)結(jié)果有利,。在預(yù)測(cè)過(guò)程中,人們利用變量的變化,,可以將非線性問(wèn)題轉(zhuǎn)化為一個(gè)線性問(wèn)題,。這種問(wèn)題的轉(zhuǎn)化,依賴于建模者的經(jīng)驗(yàn)和能力,。如果數(shù)據(jù)殘缺不全,,那么人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型也是可以處理的,這點(diǎn)是線性回歸無(wú)法達(dá)到的,。找出變量的變換方法很不容易,,尤其是當(dāng)模型涉及到多個(gè)自變量的時(shí)候。但是人工神經(jīng)網(wǎng)絡(luò)由很強(qiáng)的適應(yīng)性,,可以根據(jù)自身的學(xué)習(xí)過(guò)程,,來(lái)探索學(xué)習(xí)到變量之間的規(guī)律,。
  由上述可以看出,人工神經(jīng)網(wǎng)絡(luò)模型與線性模型相比有很強(qiáng)的優(yōu)勢(shì),,適應(yīng)能力廣泛,,學(xué)習(xí)能力強(qiáng)和非現(xiàn)行映射能力強(qiáng),數(shù)據(jù)之間的關(guān)系可以通過(guò)學(xué)習(xí)和訓(xùn)練來(lái)獲得,,在股市預(yù)測(cè)中數(shù)學(xué)模型的對(duì)規(guī)律的探測(cè)預(yù)測(cè)方法常被用到,。在神經(jīng)網(wǎng)絡(luò)模型中,最常用的就是BP神經(jīng)網(wǎng)絡(luò),,也是本文所選用的預(yù)測(cè)網(wǎng)絡(luò)。

3 人工神經(jīng)網(wǎng)絡(luò)模型

3.1 人工神經(jīng)網(wǎng)絡(luò)的發(fā)展背景

1943年,,心理學(xué)家W.S.McCulloch和數(shù)理邏輯學(xué)家W.Pitts建立了神經(jīng)網(wǎng)絡(luò)和數(shù)學(xué)模型,,稱為MP模型。他們通過(guò)MP模型提出了神經(jīng)元的形式化數(shù)學(xué)描述和網(wǎng)絡(luò)結(jié)構(gòu)方法,,證明了單個(gè)神經(jīng)元能執(zhí)行邏輯功能,,從而開(kāi)創(chuàng)了人工神經(jīng)網(wǎng)絡(luò)研究的時(shí)代。60年代,,人工神經(jīng)網(wǎng)絡(luò)得到了進(jìn)一步發(fā)展,,更完善的神經(jīng)網(wǎng)絡(luò)模型被提出人工神經(jīng)網(wǎng)絡(luò),其中包括感知器和自適應(yīng)線性元件等,。在此期間,,一些人工神經(jīng)網(wǎng)絡(luò)的研究者仍然致力于這一研究,提出了適應(yīng)諧振理論(ART網(wǎng)),、自組織映射,、認(rèn)知機(jī)網(wǎng)絡(luò),同時(shí)進(jìn)行了神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)理論的研究,。以上研究為神經(jīng)網(wǎng)絡(luò)的研究和發(fā)展奠定了基礎(chǔ),。1982年,美國(guó)加州工學(xué)院物理學(xué)家J.J.Hopfield提出了Hopfield神經(jīng)網(wǎng)格模型,,引入了“計(jì)算 能量”概念,,給出了網(wǎng)絡(luò)穩(wěn)定性判斷。1984年,,他又提出了連續(xù)時(shí)間Hopfield神經(jīng)網(wǎng)絡(luò)模型,,為神經(jīng)計(jì)算機(jī)的研究做了開(kāi)拓性的工作,開(kāi)創(chuàng)了神經(jīng)網(wǎng)絡(luò)用于聯(lián)想記憶和優(yōu)化計(jì)算的新途徑,,有力地推動(dòng)了神經(jīng)網(wǎng)絡(luò)的研究,,1985年,又有學(xué)者提出了波耳茲曼模型,,在學(xué)習(xí)中采用統(tǒng)計(jì)熱力學(xué)模擬退火技術(shù),,保證整個(gè)系統(tǒng)趨于全局穩(wěn)定點(diǎn)。1986年進(jìn)行認(rèn)知 微觀結(jié)構(gòu)地研究,提出了并行分布處理的理論,。1986年,,Rumelhart, Hinton, Williams發(fā)展了BP算法。人工神經(jīng)網(wǎng)絡(luò)的研究受到了各個(gè) 發(fā)達(dá)國(guó)家的重視,, 美國(guó)國(guó)會(huì)通過(guò)決議將1990年1月5日開(kāi)始的十年定為“腦的十年”,,國(guó)際研究組織號(hào)召它的成員國(guó)將“腦的十年”變?yōu)槿蛐袨椤T?日本的“真實(shí)世界計(jì)算(RWC)”項(xiàng)目中,,人工智能的研究成了一個(gè)重要的組成部分,。

3.2 人工神經(jīng)網(wǎng)絡(luò)分析

 人工神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANN)模型系統(tǒng)出現(xiàn)在20世紀(jì)40年代后期,人工神經(jīng)網(wǎng)絡(luò)里面有很多相互連接的神經(jīng)元,,連接神經(jīng)元之間的權(quán)值可以調(diào)節(jié),,形成網(wǎng)絡(luò)模型。這個(gè)模型具有優(yōu)良的自組織自學(xué)習(xí)的能力,,并且能進(jìn)行大規(guī)模的數(shù)據(jù)處理,,對(duì)于模式識(shí)別,也能達(dá)到令人滿意的效果,。這個(gè)模型在多個(gè)層面越來(lái)越多得到了廣泛地應(yīng)用,,如智能控制、信息處理,、模式識(shí)別等建模領(lǐng)域,。在訓(xùn)練之前,需要提供一組學(xué)習(xí)數(shù)據(jù),,利用這些規(guī)律相互迭代訓(xùn)練,,來(lái)掌握兩者之間存在的規(guī)律。這些樣本數(shù)據(jù)之間的迭代過(guò)程,學(xué)習(xí)和分析的過(guò)程,,被叫做“訓(xùn)練”,。人工神經(jīng)網(wǎng)絡(luò)具有其他預(yù)測(cè)方法不具有的優(yōu)點(diǎn),就是自學(xué)習(xí)能力和自適應(yīng)能力,。人工神經(jīng)網(wǎng)絡(luò)在現(xiàn)在為解決一些傳統(tǒng)方法不能解決的難題提供了有效途徑,,因?yàn)樗哂杏洃浐屯评淼墓δ埽瑢?duì)復(fù)雜模式就行聯(lián)想的功能,。圖3.1表示了作為神經(jīng)網(wǎng)絡(luò)的基本單元的神經(jīng)元模型,。

3.1 神經(jīng)元模型

在理論上已經(jīng)證明,無(wú)論已知函數(shù)具有怎樣的形式,,人工神經(jīng)網(wǎng)絡(luò)都可以根據(jù)規(guī)律刻畫(huà)出樣本函數(shù)并逼近數(shù)據(jù),并且在股市股價(jià)的預(yù)測(cè)中取得了令人滿意的成績(jī),。跟傳統(tǒng)的預(yù)測(cè)方法相比較,人工神經(jīng)網(wǎng)絡(luò)模型在股市預(yù)測(cè)中體現(xiàn)出了一系列的優(yōu)越性。以往的傳統(tǒng)方法依靠數(shù)學(xué)模型的推導(dǎo),,參數(shù)需要找出最優(yōu)解并且要求非常精確,,所以局限了算法,,而神經(jīng)網(wǎng)絡(luò)是通過(guò)學(xué)習(xí),來(lái)掌握數(shù)據(jù)直接的內(nèi)在關(guān)系,,與傳統(tǒng)方法相比有很大的優(yōu)勢(shì),。
  數(shù)據(jù)間的依存關(guān)系為實(shí)現(xiàn)股市的預(yù)測(cè)提供了可能性。在這些復(fù)雜多變的數(shù)據(jù)中,,股票股價(jià)的走勢(shì)呈現(xiàn)高度的不定性和非線性,,還有大量的決定股價(jià)走勢(shì)的各方面因素,規(guī)律和特點(diǎn),。利用參數(shù)之間的規(guī)律和特點(diǎn),,神經(jīng)網(wǎng)絡(luò)可以有效預(yù)測(cè)股票價(jià)格。

3.3 BP神經(jīng)網(wǎng)絡(luò)及算法

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

 BP神經(jīng)網(wǎng)絡(luò)模型是目前應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò)模型,。BP神經(jīng)網(wǎng)絡(luò)可以把大量的輸入一輸出數(shù)據(jù)的映射關(guān)系存儲(chǔ)在神經(jīng)網(wǎng)絡(luò)之中,這些映射關(guān)系不需要再訓(xùn)練之前描述出來(lái),。它采用最快下降法進(jìn)行訓(xùn)練迭代、擬合,,通過(guò)反向調(diào)節(jié)的過(guò)程,神經(jīng)元之間的閾值和權(quán)值經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和訓(xùn)練可以進(jìn)行調(diào)節(jié)和調(diào)整,,目的是將網(wǎng)絡(luò)的誤差平方達(dá)到最小的值,。BP神經(jīng)網(wǎng)絡(luò)模型的拓?fù)浣Y(jié)構(gòu)有三層組成一是輸入層、隱含層,、輸出層,。
  經(jīng)過(guò)了非線性的變換訓(xùn)練和學(xué)習(xí),輸入節(jié)點(diǎn)X;經(jīng)過(guò)訓(xùn)練和迭代,,經(jīng)過(guò)隱含層,。
神經(jīng)元的作用,從而產(chǎn)生了輸出節(jié)點(diǎn)Yk,。人工神經(jīng)網(wǎng)絡(luò)的擬合過(guò)程中,,會(huì)出現(xiàn)網(wǎng)絡(luò)實(shí)驗(yàn)輸出值Y和期望輸出數(shù)值之間的誤差,而且還會(huì)產(chǎn)生輸入數(shù)據(jù)向量X和期望輸出的數(shù)值之間的偏差,。如果需要存在的誤差,,降低到最低值,那就需要隨時(shí)調(diào)節(jié)閾值和輸出節(jié)點(diǎn)和隱含層節(jié)點(diǎn)之間的連接強(qiáng)度Tj,,以及隱含層之間的連接節(jié)點(diǎn)Wj,只有經(jīng)過(guò)擬合訓(xùn)練,,才能到到期望輸出值。從而使誤差沿著梯度方向,,降低到最小值,,到此,訓(xùn)練過(guò)程結(jié)束,。BP神經(jīng)網(wǎng)絡(luò)可以自行處理誤差值的變換,,需要經(jīng)過(guò)大量的學(xué)習(xí)和訓(xùn)練,,將非線性映射轉(zhuǎn)換為線性映射。
  BP神經(jīng)網(wǎng)絡(luò)只有經(jīng)過(guò)訓(xùn)練和學(xué)習(xí),,才有了預(yù)測(cè)的能力,,才能適應(yīng)預(yù)測(cè)要求,獲得學(xué)習(xí)知識(shí)的結(jié)構(gòu),,將非線性映射轉(zhuǎn)換為線性映射,。上述可以看出,BP神經(jīng)網(wǎng)絡(luò)是一種單項(xiàng)傳播的網(wǎng)絡(luò),。一般情況下,,BP神經(jīng)網(wǎng)絡(luò)由三層或者三層以上的神經(jīng)元組成的層組成,輸入層,、輸出層和至少一個(gè)隱含層,。如下圖3.2所示結(jié)構(gòu)圖。

,、

3.2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),,是有導(dǎo)師學(xué)習(xí)的一種。也就是說(shuō),,通過(guò)網(wǎng)絡(luò)外部“示教者”來(lái)學(xué)習(xí)訓(xùn)練,。對(duì)于確定的輸入模式,當(dāng)期望輸出和實(shí)際訓(xùn)練的輸出之前存在誤差的時(shí)候,,神經(jīng)網(wǎng)絡(luò)可以利用自身自動(dòng)調(diào)節(jié)連接強(qiáng)度的功能,,來(lái)調(diào)節(jié)連接強(qiáng)度,連接強(qiáng)度自動(dòng)向著較少誤差的方向改變,。經(jīng)過(guò)數(shù)次訓(xùn)練,,當(dāng)最后的輸出結(jié)果和正確的結(jié)果相一致的時(shí)候,BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程終止,。其他方法可以和人工神經(jīng)網(wǎng)絡(luò)相結(jié)合,,揚(yáng)長(zhǎng)避短,這樣可以推動(dòng)人工智能信息技術(shù)向前發(fā)展,,比如與遺傳算法,、進(jìn)化機(jī)制、模糊系統(tǒng)相結(jié)合,形成了人工智能一個(gè)重要的發(fā)展方向,。由此可以得出,,BP神經(jīng)網(wǎng)絡(luò)是一種一邊向后傳播學(xué)習(xí)過(guò)程修改權(quán)值和系數(shù)的過(guò)程,網(wǎng)絡(luò)同時(shí)包括正向?qū)W習(xí)和反向誤差傳播兩個(gè)過(guò)程,。下圖3.3就是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的原理圖,。

3.3 BP網(wǎng)絡(luò)學(xué)習(xí)過(guò)程原理圖

3.3.2 BP神經(jīng)網(wǎng)絡(luò)算法

BP神經(jīng)算法產(chǎn)生之后才獲得了BP神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)算法的運(yùn)算需要有兩個(gè)過(guò)程,,信息的正向傳遞和誤差的反向傳播,。BP神經(jīng)算法是一種有效地監(jiān)督式學(xué)習(xí)算法,,是屬于δ算法的一種。

  BP神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)的時(shí)候,,正向運(yùn)算學(xué)習(xí)需要把輸入數(shù)據(jù)經(jīng)過(guò)輸入層,,經(jīng)過(guò)隱含層,最后從輸出層將數(shù)據(jù)輸出,。各層神經(jīng)元之間的學(xué)習(xí)狀態(tài)會(huì)影響到下一層的神經(jīng)元訓(xùn)練,。最終從輸出層輸出的數(shù)據(jù)如果和期望數(shù)據(jù)之間存在誤差的話,需要反向傳播來(lái)修改各層與層之間的參數(shù)值,。神經(jīng)網(wǎng)絡(luò)會(huì)將反向傳播的信號(hào)再沿著正向傳播的過(guò)程傳播回去,,并且修改各層神經(jīng)元的權(quán)值。當(dāng)達(dá)到期望的輸出目標(biāo)的時(shí)候,,誤差信號(hào)趨向最小值,。

  BP神經(jīng)網(wǎng)絡(luò)算法的基本思想和學(xué)習(xí)過(guò)程,有兩方面組成,,就是數(shù)據(jù)的正向傳播學(xué)習(xí)訓(xùn)練和逐層反轉(zhuǎn)學(xué)習(xí)訓(xùn)練,。如果實(shí)驗(yàn)的輸出數(shù)據(jù)和期望數(shù)據(jù)之間存在差值,不相符的時(shí)候,,就開(kāi)始反向訓(xùn)練,,將誤差的差值平均分配給各個(gè)神經(jīng)元。這個(gè)雙向?qū)W習(xí)訓(xùn)練的過(guò)程是BP神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)所在,,比線性預(yù)測(cè)更準(zhǔn)確,。網(wǎng)絡(luò)模型周而復(fù)始的進(jìn)行信號(hào)正向傳播還有反向傳播的過(guò)程,,對(duì)于權(quán)值逐層修改和訓(xùn)練,。在此過(guò)程中獲取各層單元的誤差信號(hào),這個(gè)信號(hào)也是修改各層神經(jīng)元權(quán)值的依據(jù),。正向傳播,,顧名思義就是輸入層開(kāi)始,通過(guò)隱含層神經(jīng)元,,得出輸出變量的過(guò)程,。直到輸出變量的誤差達(dá)到可以接受的范圍之內(nèi),學(xué)習(xí)訓(xùn)練過(guò)程結(jié)束,。

下圖3.4是最常用的三層網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),。這種拓?fù)浣Y(jié)構(gòu)的特點(diǎn)有如下幾點(diǎn),

相鄰的神經(jīng)元之間有連接,層內(nèi)的神經(jīng)元與神經(jīng)元之間沒(méi)有任何連接,并且沒(méi)有

任何反饋,。在輸出層采用純線性作用的函數(shù),。BP神經(jīng)網(wǎng)絡(luò)的拓?fù)淠P椭校[含

層的數(shù)目可以有-層或者多層,。隱含層神經(jīng)元的激活函數(shù)采用Sigmoid函數(shù),。在下圖中,,描述了一個(gè)只具有一層隱含層的BP神經(jīng)網(wǎng)絡(luò)模型,用這個(gè)模型可以逼

近非線性函數(shù),。

3.4 BP網(wǎng)絡(luò)結(jié)構(gòu)

4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

4.1 流程圖




 

4.1 程序流程圖

4.2 詳細(xì)設(shè)計(jì)

4.2.1 調(diào)用返回隨機(jī)數(shù)生成器的值

private void randomSizeWeights(double[][] matrix) {

      for (int i = 0, len = matrix.length; i != len; i++)

          for (int j = 0, len2 = matrix[i].length; j != len2; j++) {

//方法調(diào)用返回下一個(gè)從這個(gè)隨機(jī)數(shù)生成器的序列中均勻分布的0.0和1.0之間的double值

              double real = random.nextDouble();

              matrix[i][j] = random.nextDouble() > 0.5 ? real : -real;

          }

  }

4.2.2 訓(xùn)練數(shù)據(jù)

可以加大訓(xùn)練次數(shù)來(lái)提高準(zhǔn)確率,,神經(jīng)網(wǎng)絡(luò)會(huì)根據(jù)傳入的訓(xùn)練集不斷反饋錯(cuò)誤,從而調(diào)整權(quán)重矩陣,,所以訓(xùn)練次數(shù)越多,,準(zhǔn)確率越高。對(duì)于任意的整數(shù),,在經(jīng)過(guò)訓(xùn)練之后,,能夠準(zhǔn)確地判斷出它是奇數(shù)還是偶數(shù),正數(shù)還是負(fù)數(shù),。首先對(duì)于訓(xùn)練的樣本(是隨機(jī)生成的數(shù)字),,將它轉(zhuǎn)化為一個(gè)32位的向量,向量的每個(gè)分量就是其二進(jìn)制形式對(duì)應(yīng)的位上的0或1,。將目標(biāo)輸出視作一個(gè)4維的向量,,[1,0,0,0]代表正奇數(shù),[0,1,0,0]代表正偶數(shù),,[0,0,1,0]代表負(fù)奇數(shù),,[0,0,0,1]代表負(fù)偶數(shù)。

public static void main(String[] args) throws IOException {

      BP bp = new BP(32, 15, 4);

//隨機(jī)生成1000個(gè)數(shù)放入數(shù)組

      Random random = new Random();

      List<Integer> list = new ArrayList<Integer>();

      for (int i = 0; i != 1000; i++) {  //訓(xùn)練樣本為1000個(gè)

          int value = random.nextInt();

          list.add(value);

      }

      for (int i = 0; i != 200; i++) {  //學(xué)習(xí)200次

          for (int value : list) {

//real數(shù)組存放value最終結(jié)果 [1,0,0,0]代表>0奇數(shù),,[0,1,0,0]代表>0偶數(shù),,[0,0,1,0]代表<0奇數(shù),[0,0,0,1]代表<0偶數(shù),。

              double[] real = new double[4];

              if (value >= 0)

                  if ((value & 1) == 1)

                      real[0] = 1;

                  else

                      real[1] = 1;

              else if ((value & 1) == 1)

                  real[2] = 1;

              else

                  real[3] = 1;

double[] binary = new double[32];// 將value數(shù)字轉(zhuǎn)化為32位二進(jìn)制向量

              int index = 31;

              do {

                  binary[index--] = (value & 1);

                  value >>>= 1;  // >>>= 右移賦值,,左邊空出的位以0填充

              } while (value != 0);

              for (int j = 0; j < binary.length; j++) {

                  System.out.println("binary"+j+":"+binary[j]+"\n");

              }

              for (int j = 0; j < real.length; j++) {

                  System.out.println("real"+j+real[j]+"\n");

              }

              bp.train(binary, real);

          }

      }

//構(gòu)造函數(shù) 默認(rèn)  eta = 0.25 and momentum = 0.3.

  public BP(int inputSize, int hiddenSize, int outputSize) {

      //用this方法調(diào)用類中的構(gòu)造方法

      this(inputSize, hiddenSize, outputSize, 0.25, 0.3);

  }

  /*public BP(int inputSize, int hiddenSize, int outputSize,double eta,

          double momentum) {

      this(inputSize, hiddenSize, outputSize,eta,momentum);

  }*/

  /**

   * Entry method. The train data should be a one-dim vector.

    * 錄入方法。訓(xùn)練數(shù)據(jù)是一維向量

   *  trainData 訓(xùn)練數(shù)據(jù)

   *  target 目標(biāo)

   */

  public void train(double[] trainData, double[] target) {

      loadInput(trainData);

      loadTarget(target);

      forward();

      calculateDelta();

      adjustWeight();

  }

4.2.3 加載數(shù)據(jù)

    // Load the target data.  加載目標(biāo)數(shù)據(jù)

  private void loadTarget(double[] arg) {

      if (arg.length != target.length - 1) {

          throw new IllegalArgumentException("Size Do Not Match.");

      }

      System.arraycopy(arg, 0, target, 1, arg.length);

  }

// Load the training data. 加載訓(xùn)練數(shù)據(jù)

  private void loadInput(double[] inData) {

      if (inData.length != input.length - 1) {

          throw new IllegalArgumentException("Size Do Not Match.");

      }

      //把一個(gè)數(shù)組中某一段字節(jié)數(shù)據(jù)放到另一個(gè)數(shù)組中,。

      //把一個(gè)數(shù)組中的某一段字節(jié)數(shù)據(jù)放到另一個(gè)數(shù)組中,,

      //至于從第一個(gè)數(shù)組中取出幾個(gè)數(shù)據(jù),放到第二個(gè)數(shù)組中的什么位置都是可以通知這個(gè)方法的參數(shù)控制的,。

      System.arraycopy(inData, 0, input, 1, inData.length);//參數(shù)分別代表:源數(shù)組,、源數(shù)組的要復(fù)制的起始位置、目的數(shù)組,、目的數(shù)組放置的起始位置,、復(fù)制的長(zhǎng)度

  }

4.2.4 計(jì)算輸出層和隱藏層誤差

//計(jì)算輸出層誤差

  private void outputErr() {

      double errSum = 0;

      for (int idx = 1, len = optDelta.length; idx != len; ++idx) {

          double o = output[idx];

          optDelta[idx] = o * (1d - o) * (target[idx] - o);

          errSum += Math.abs(optDelta[idx]);

      }

      optErrSum = errSum;

  }

  //計(jì)算隱藏層誤差

  private void hiddenErr() {

      double errSum = 0;

      for (int j = 1, len = hidDelta.length; j != len; ++j) {

          double o = hidden[j];

          double sum = 0;

          for (int k = 1, len2 = optDelta.length; k != len2; ++k)

              sum += hidOptWeights[j][k] * optDelta[k];

          hidDelta[j] = o * (1d - o) * sum;

          errSum += Math.abs(hidDelta[j]);

      }

      hidErrSum = errSum;

  }

  //計(jì)算所有層誤差

  private void calculateDelta() {

      outputErr();

      hiddenErr();

  }

4.3 運(yùn)行結(jié)果圖

如圖4.2是對(duì)輸入的數(shù)據(jù)訓(xùn)練后生成的結(jié)果圖:

圖4.2 訓(xùn)練數(shù)據(jù)圖

如圖4.3是對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)后的結(jié)果圖:

IMG_256

圖4.3 預(yù)測(cè)結(jié)果圖

5 總結(jié)

神經(jīng)網(wǎng)絡(luò)是一種很好的時(shí)間序列預(yù)測(cè)方法。BP網(wǎng)絡(luò)是目前最常用的神經(jīng)網(wǎng)絡(luò),。由于BP網(wǎng)絡(luò)具有逼近任意復(fù)雜連續(xù)函數(shù)關(guān)系的能力,,因此非常適用于對(duì)時(shí)間序列進(jìn)行預(yù)測(cè),在具體使用中,,僅用一個(gè)BP網(wǎng)絡(luò)來(lái)擬合該時(shí)間序列即可,。因此,,本文在對(duì)傳統(tǒng)改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)及其算法的特點(diǎn)進(jìn)行研究和分析的基礎(chǔ)上,提出了一種改進(jìn)的BP算法,,即基于BP神經(jīng)網(wǎng)絡(luò)模型,,并將其應(yīng)用到股票預(yù)測(cè)中,并進(jìn)行了有效地實(shí)證分析,。通過(guò)對(duì)常用的股票預(yù)測(cè)方法進(jìn)行分析比較,針對(duì)BP算法本身存在收斂速度慢,、精度不高等問(wèn)題,給出了傳統(tǒng)改進(jìn)的BP算法,,重新選取激活函數(shù),,使網(wǎng)絡(luò)在調(diào)整權(quán)值w的基礎(chǔ)上,通過(guò)對(duì)單個(gè)神經(jīng)元的更一般形式tan.sigmoid轉(zhuǎn)換函數(shù)的縮放系數(shù)幾位移參數(shù)白的動(dòng)態(tài)調(diào)整,,以縮小飽和區(qū)間,,加快網(wǎng)絡(luò)收斂,有效地避免了神經(jīng)網(wǎng)絡(luò)易于陷入局部最小點(diǎn)的問(wèn)題,。這次課設(shè)對(duì)于我們來(lái)說(shuō)很有難度,,畢竟以前沒(méi)深入了解,但是這樣卻激發(fā)了我們對(duì)知識(shí)的渴望,,在我和我們隊(duì)友的積極討論下,,又通過(guò)上網(wǎng)查資料學(xué)習(xí),了解掌握了一種新的數(shù)據(jù)處理方法,。通過(guò)本次課設(shè),,進(jìn)一步了解掌握神經(jīng)網(wǎng)絡(luò)強(qiáng)大的自學(xué)習(xí)能力和適應(yīng)能力,以及對(duì)復(fù)雜問(wèn)題的解決能力,,也激發(fā)了進(jìn)一步深入學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)知識(shí)的熱情,。根據(jù)我們?cè)谡n程設(shè)計(jì)中遇到得問(wèn)題,我們將在以后的學(xué)習(xí)過(guò)程中注意以下幾點(diǎn):1,、專業(yè)課不能放下,,要扎實(shí)基礎(chǔ),。2,、團(tuán)隊(duì)精神很重要。3,、編寫程序的時(shí)候要細(xì)心,,有耐心,切勿浮躁,。

6 參考文獻(xiàn)

[1]胡守仁.神經(jīng)網(wǎng)絡(luò)應(yīng)用技術(shù).長(zhǎng)沙:國(guó)防科技大學(xué)出版社,1993

[2]焦李成.神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論.西安:西安電子科技大學(xué)出版社.1992

[3] EIman JL.FindingStnlctureinTirac.CognitiveScience.1990(14):179-211

[4]樓順天,,旌陽(yáng).基于MATLAB的系統(tǒng)分析與設(shè)計(jì)一神經(jīng)網(wǎng)絡(luò).西安:西安電子科

技大學(xué)出版社.1998

[5]施彥,韓力群,廉小親.神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)方法與實(shí)例分析[M].北京:北京郵電大學(xué)出版社,2009

[6]史忠植.人工神經(jīng)網(wǎng)絡(luò)[M].北京:高等 教育出版社2009.

[7]王行愚. RBF神經(jīng)網(wǎng)絡(luò)在股市趨勢(shì)預(yù)測(cè)中的應(yīng)用[].華東理工大學(xué)學(xué)報(bào),2002,28(5):5-7

[8]王曉原,李軍,灰色GM(1,1)模型在區(qū)域物流規(guī)模預(yù)測(cè)中的應(yīng)用[I].武漢理工大學(xué)報(bào)(交通科學(xué)與工程版),2005

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多