成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從零開始:如何使用LSTM預(yù)測匯率變化趨勢

開發(fā) 開發(fā)工具
在這篇文章中,我們將通過 LSTM 討論時(shí)序預(yù)測模型,數(shù)據(jù)科學(xué)家 Neelabh Pant 也會(huì)為大家描述他利用循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測貨幣兌換匯率的經(jīng)驗(yàn)。

作為一個(gè)在美國生活的印度人,Neelabh 和家鄉(xiāng)之間存在恒定的金錢流動(dòng)。如果在市場中,美元更加強(qiáng)勢,則印度盧比相對(duì)貶值,因此從印度購買 1 美元需要更多的盧比。如果美元相對(duì)弱勢,則購買 1 美元需要的盧比會(huì)更少。

如果可以預(yù)測第二天的美元的價(jià)值,那么可以以此為參考做出更好的決策,最小化風(fēng)險(xiǎn)并***化收益。了解到神經(jīng)網(wǎng)絡(luò)的強(qiáng)大,尤其是循環(huán)神經(jīng)網(wǎng)絡(luò),Neelabh 想到了預(yù)測美元和盧比的兌換匯率的點(diǎn)子。

通常情況下,預(yù)測匯率有很多方法,例如:

  • 購買力平價(jià)(PPP)
  • 相對(duì)經(jīng)濟(jì)實(shí)力法
  • 計(jì)量經(jīng)濟(jì)模型
  • 時(shí)間序列模型

在這篇文章中,我們將告訴你如何利用時(shí)序分析和機(jī)器學(xué)習(xí)時(shí)序模型來預(yù)測未來的兌換匯率變化。

序列問題

我們從序列問題的討論開始,最簡單的序列機(jī)器學(xué)習(xí)問題是「一對(duì)一」問題。

One to One

One to One

在這種問題中,向模型輸入一個(gè)數(shù)據(jù)或一個(gè)向量,模型會(huì)對(duì)輸入生成一個(gè)預(yù)測結(jié)果。無論是回歸、分類還是通過卷積網(wǎng)絡(luò)的圖像分類都屬于這個(gè)類型。通過擴(kuò)展這種模式,我們可以將其改造成利用過去的輸入和輸出進(jìn)行學(xué)習(xí)的模型。

一對(duì)多問題是一對(duì)一問題的擴(kuò)展,因?yàn)橐粚?duì)一問題的模型只有一個(gè)輸入和輸出。而現(xiàn)在模型的輸出再饋送到模型作為新的輸入,這樣模型就會(huì)生成多個(gè)輸出,下面我們將了解一對(duì)多為什么又稱為循環(huán)神經(jīng)網(wǎng)絡(luò)。

One to Many

One to Many

由于連接方式構(gòu)成有向循環(huán),循環(huán)神經(jīng)網(wǎng)絡(luò)可以處理序列問題。就是說,循環(huán)神經(jīng)網(wǎng)絡(luò)可以在每一次的迭代中保持網(wǎng)絡(luò)形態(tài)不變的前提下,將輸出作為下一步的輸入。從編程的角度上說就像是利用確定的輸入和一些隱藏變量,在固定不變的程序上保持運(yùn)行。最簡單的循環(huán)神經(jīng)網(wǎng)絡(luò),將時(shí)間軸展開之后,可以看成一個(gè)全連接神經(jīng)網(wǎng)絡(luò)。

RNN Unrolled Time

RNN Unrolled Time

在這個(gè)單變量的例子中,只包括了兩個(gè)權(quán)重。權(quán)重 u 和當(dāng)前輸入 x_t 相乘,權(quán)重 w 和上一步輸出 y_t-1 相乘。這個(gè)利用過去輸出和當(dāng)前輸入的公式很像指數(shù)加權(quán)移動(dòng)平均法(exponential weighted moving average,EWMA)。

只要將網(wǎng)絡(luò)單元一個(gè)接一個(gè)堆疊起來,就可以輕易建立一個(gè)深度循環(huán)神經(jīng)網(wǎng)絡(luò)。簡單的循環(huán)神經(jīng)網(wǎng)絡(luò)可以很好的處理短期記憶模型,但是在長時(shí)依賴項(xiàng)中,模型將會(huì)遇到根本的困難。

長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Neural Network)

之前說過,簡單的循環(huán)神經(jīng)網(wǎng)絡(luò)無法捕捉長期依賴序列中的特征,是一個(gè)根本的困難。這個(gè)問題很重要,因?yàn)槲覀兿M院笪覀兊?RNN 可以分析文本和回答問題,在這些任務(wù)中很自然的需要分析長序列的文字。

90 年代末,Sepp Hochreiter 和 Jurgen Schmidhuber 提出了 LSTM,這種模型對(duì)長期依賴性的處理要比 RNN、隱馬爾可夫模型和其他序列學(xué)習(xí)方法要優(yōu)秀地多。

LSTM架構(gòu)

LSTM架構(gòu)

LSTM 模型將各種運(yùn)算集合在一個(gè)單元中,LSTM 有一個(gè)內(nèi)部狀態(tài)變量,并且該狀態(tài)變量可以從一個(gè)單元傳遞到另一個(gè) LSTM 單元中,同時(shí)通過門運(yùn)算進(jìn)行修改。

1. 遺忘門

 遺忘門

這是一個(gè) Sigmoid 層,以 t-1 時(shí)刻的輸出和 t 時(shí)刻的當(dāng)前輸入為參量串接到一個(gè)單張量中,加上線性變換,***用 sigmoid 函數(shù)變換。由于 sigmoid 函數(shù)的性質(zhì),這個(gè)門的值被限定在 0 和 1 之間,該值與內(nèi)態(tài)的值相乘,這也它會(huì)被叫做忘記門的原因。如果 ft=0 那么過去的內(nèi)態(tài)將被忽略,如果 ft=1 那么內(nèi)態(tài)將被完整的傳遞。

2. 輸入門

輸入門

輸入門以過去的輸出和當(dāng)前輸入為參量并饋送到一個(gè) sigmoid 層。同樣,這個(gè)門的輸出值也是在 0 和 1 之間,輸入門的值將和候選層的輸出值相乘。

這個(gè)層對(duì)當(dāng)前輸入和過去輸出應(yīng)用了雙曲正切函數(shù)作為變換(激活函數(shù)),結(jié)果將返回一個(gè)與內(nèi)部狀態(tài)相加的候選向量。

內(nèi)態(tài)通過這個(gè)規(guī)則不斷更新:

過去的狀態(tài)和遺忘門的值相乘,然后加上輸出門所給出新的候選狀態(tài)。

3. 輸出門

輸出門

這個(gè)門控制多大比率的內(nèi)部狀態(tài)將被傳遞到輸出,這和其它門的工作方式類似。

以上描述的三個(gè)門有互相獨(dú)立的權(quán)重和偏置,因此,網(wǎng)絡(luò)將分別學(xué)會(huì),保持過去輸出的概率、保持當(dāng)前輸入的概率以及將內(nèi)態(tài)傳遞給輸出的概率。

在一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)中,不僅需要輸入數(shù)據(jù),還需要輸入網(wǎng)絡(luò)過去的狀態(tài)。舉例來說,如果我喊「嘿!我開車的時(shí)候發(fā)生了不得了的事!」這時(shí)你的大腦的一部分將把這句話分解成,「噢,Neelabh 正在給我講一個(gè)故事,這個(gè)故事的主人公是 Neelabh 并且故事發(fā)生在路上。」然后,你需要將我剛才告訴你的話記住一部分。在接下來的故事中,你都必須隨時(shí)保留部分聽過的話的印象,才能逐漸明白整個(gè)故事。

另一個(gè)例子是關(guān)于是關(guān)于視頻加工的,同樣需要用到循環(huán)神經(jīng)網(wǎng)絡(luò)。大多數(shù)情況下,一部電影中,當(dāng)前畫面所描述的內(nèi)容相當(dāng)依賴于上一個(gè)畫面的內(nèi)容。經(jīng)過一段時(shí)間的訓(xùn)練后,循環(huán)神經(jīng)網(wǎng)絡(luò)將學(xué)會(huì)保留過去畫面的哪些部分和保留的比率,以及保留當(dāng)前畫面的多少信息,豐富的結(jié)構(gòu)使其擁有比簡單前饋神經(jīng)網(wǎng)絡(luò)強(qiáng)大得多的性能。

時(shí)間序列預(yù)測

RNN 的強(qiáng)大功能令我印象深刻,因此我決定使用 RNN 預(yù)測美元和盧比的兌換匯率。這個(gè)計(jì)劃中使用的數(shù)據(jù)集是從 1980 年 1 月 2 日到 2017 年 8 月 10 日的兌換匯率的數(shù)據(jù)。稍后我將給出鏈接供你們下載和實(shí)驗(yàn)。

數(shù)據(jù)集樣本

表1.數(shù)據(jù)集樣本

數(shù)據(jù)集展示了 1 美元相對(duì)盧比的價(jià)值,我們一共擁有總數(shù)目為 13 730 條從 1980 年 1 月 2 日到 2017 年 8 月 10 日的數(shù)據(jù)記錄。

美元對(duì)印度盧比匯率變化曲線

美元對(duì)印度盧比匯率變化曲線

在這段期間,1 美元的盧比價(jià)值總體在上升。不難看到,在 2007-2008 年之間,由于經(jīng)濟(jì)大衰退,美國經(jīng)濟(jì)經(jīng)歷了一次重大的危機(jī),這個(gè)圖描繪了從 20 世紀(jì)末期到 21 世紀(jì)早期世界市場經(jīng)濟(jì)衰退的軌跡。

這段期間內(nèi),全世界的經(jīng)濟(jì)發(fā)展?fàn)顩r不是很好,特別是北美和歐洲(包括俄羅斯),都陷入了明顯的衰退。不過,與此同時(shí),很多新興的經(jīng)濟(jì)體受到的沖擊要小得多,特別是中國和印度,在這場災(zāi)難中,他們的經(jīng)濟(jì)依然得到了大幅增長。

訓(xùn)練集和測試集的分割

現(xiàn)在,為了訓(xùn)練模型,我們需要將數(shù)據(jù)集分成測試和訓(xùn)練集。在做時(shí)間序列時(shí),以明確的日期為界限將數(shù)據(jù)集分為訓(xùn)練和測試兩部分是很重要的。畢竟,你不會(huì)希望你的測試數(shù)據(jù)的時(shí)間排在你的訓(xùn)練數(shù)據(jù)之前。

在我們的實(shí)驗(yàn)中將定義一個(gè)日期,比如 2010 年 1 月 1 日,作為分界日期。訓(xùn)練數(shù)據(jù)的日期從 1980 年 1 月 2 日到 2009 年 12 月 31 日,包括大約 11 000 個(gè)數(shù)據(jù)點(diǎn)。

測試數(shù)據(jù)的日期從 2010 年 1 月 1 日到 2017 年 8 月 10 日,包括大約 2700 個(gè)數(shù)據(jù)點(diǎn)。

訓(xùn)練-測試

訓(xùn)練-測試

接下來要將數(shù)據(jù)集歸一化,即將訓(xùn)練數(shù)據(jù)轉(zhuǎn)換格式并將測試數(shù)據(jù)按同樣的格式映射到訓(xùn)練數(shù)據(jù)上,這樣可以避免假定知道測試數(shù)據(jù)的規(guī)模帶來的影響。歸一化或者數(shù)據(jù)轉(zhuǎn)換意味著新變量的定義域?qū)⑾薅ㄔ? 0 和 1 之間。

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

一個(gè)全連接模型即將一個(gè)輸入變換成一個(gè)輸出的簡單神經(jīng)網(wǎng)絡(luò),它的構(gòu)建就如同簡單的回歸模型那樣通過前一天的價(jià)格預(yù)測第二天的價(jià)格。

我們以均方差作為損失函數(shù),并使用隨機(jī)梯度下降優(yōu)化算法。經(jīng)過足夠多代的訓(xùn)練,將能開始尋找足夠好的局部***解。下方是全連接層性質(zhì)的總結(jié)。

全連接層

全連接層

經(jīng)過 200 個(gè) epoch 的訓(xùn)練,或者 eraly_callbacks 的出現(xiàn)(無論哪個(gè)先出現(xiàn)),這個(gè)模型就開始嘗試學(xué)習(xí)數(shù)據(jù)的模式和行為。由于我們區(qū)分了訓(xùn)練集和測試集,現(xiàn)在我們可以預(yù)測測試數(shù)據(jù)集并和真實(shí)值比較。

真值(藍(lán)色)與預(yù)測值(橙色)對(duì)比

真值(藍(lán)色)與預(yù)測值(橙色)對(duì)比

正如你所看到的,模型的表現(xiàn)并不好。基本上它只是重復(fù)過去的值,只有輕微的變化。全連接網(wǎng)絡(luò)無法從單一的過去值預(yù)測未來的值。接下來我們嘗試循環(huán)神經(jīng)網(wǎng)絡(luò),看看它工作的如何。

長短期記憶

我們使用的周期循環(huán)模型是一個(gè)單層序列模型,層內(nèi)使用 6 個(gè) LSTM 節(jié)點(diǎn),輸入的維度設(shè)為(1,1),即網(wǎng)絡(luò)的單個(gè)輸入只含一個(gè)特征值。

LSTM模型

LSTM模型

***一層是一個(gè)密集層,損失函數(shù)為均方誤差函數(shù),并且采用隨機(jī)梯度下降作為優(yōu)化器。我們將模型訓(xùn)練了 200 個(gè) epoch,并采用了中斷訓(xùn)練回調(diào)。模型的性質(zhì)總結(jié)在上方展示。

LSTM預(yù)測

LSTM預(yù)測

這個(gè)模型幾乎學(xué)會(huì)了將這些年的數(shù)據(jù)完全重現(xiàn),并且在一個(gè)簡單的前饋神經(jīng)網(wǎng)絡(luò)的輔助下,不出現(xiàn)延遲。不過,它仍然低估了一些確定的觀察值,模型仍然有很大的改進(jìn)空間。

模型的改進(jìn)

這個(gè)模型還可以做很多的改進(jìn),通過改進(jìn)優(yōu)化器的方法以改變模型結(jié)構(gòu)的方式可以有很多種。還有另一種很重要的改進(jìn)方法是來自數(shù)據(jù)流管理系統(tǒng)的滑動(dòng)時(shí)間窗口法。

這種方法源于只有最近的數(shù)據(jù)才是最重要的觀點(diǎn),即可以從一年時(shí)長的數(shù)據(jù)中嘗試預(yù)測下一年***天的值。就從數(shù)據(jù)集中獲取重要模式并高度依賴于過去觀察值而言,滑動(dòng)時(shí)間窗口法是非常有用的。

你們也可以按自己的方式嘗試去改進(jìn)模型,看看模型會(huì)如何應(yīng)答這些變化。

數(shù)據(jù)集

我已經(jīng)把數(shù)據(jù)集公布在 github 項(xiàng)目中,請(qǐng)隨意下載,盡情使用吧。

GitHub 地址:https://github.com/neelabhpant/Deep-Learning-in-Python

有用的學(xué)習(xí)資源

我個(gè)人一直追隨著幾位我最喜歡的數(shù)據(jù)科學(xué)家,比如 Kirill Eremenko,Jose Portilla,Dan Van Boxel(更知名的是 Dan Does Data 這個(gè)名號(hào)),還有很多。他們大部分都有自己的博客并在上面討論今天主題的各方面,如 RNN,CNN,LSTM,甚至還有最近出現(xiàn)的新技術(shù),神經(jīng)圖靈機(jī)。

盡可能去跟進(jìn)各種人工智能大會(huì)的新聞。順便提一下,有興趣的可以關(guān)注,Kirill Eremenko 即將帶著他優(yōu)秀的隊(duì)伍在 San Diego 作關(guān)于機(jī)器學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)科學(xué)的報(bào)告。

結(jié)論

通過學(xué)習(xí)過去行為的主要特征并區(qū)分哪些特征才是對(duì)預(yù)測未來所需,LSTM 模型確實(shí)是很強(qiáng)大的工具。已經(jīng)有幾種應(yīng)用管法廣泛使用了 LSTM,比如語音識(shí)別、作曲、手寫字識(shí)別,甚至還有我最近研究中的對(duì)人體移動(dòng)和交通運(yùn)輸?shù)念A(yù)測實(shí)驗(yàn)。

對(duì)于我們而言,LSTM 就是一個(gè)擁有自己的記憶并能像天才一樣做出精準(zhǔn)決策的模型。

原文:

https://blog.statsbot.co/time-series-prediction-using-recurrent-neural-networks-lstms-807fa6ca7f

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】

 

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2015-11-17 16:11:07

Code Review

2019-01-18 12:39:45

云計(jì)算PaaS公有云

2018-04-18 07:01:59

Docker容器虛擬機(jī)

2024-12-06 17:02:26

2020-07-02 15:32:23

Kubernetes容器架構(gòu)

2018-05-09 20:08:09

人工智能深度學(xué)習(xí)Python

2010-05-26 17:35:08

配置Xcode SVN

2018-09-14 17:16:22

云計(jì)算軟件計(jì)算機(jī)網(wǎng)絡(luò)

2015-05-06 09:36:05

Java語言從零開始學(xué)習(xí)

2018-04-16 16:31:56

前端開發(fā)從零開始

2024-05-15 14:29:45

2021-04-21 20:42:42

Nadam梯度優(yōu)化

2018-03-14 11:15:06

2023-12-27 08:47:41

PrometheusLinux架構(gòu)

2025-01-26 16:57:02

2011-04-06 15:55:50

開發(fā)webOS程序webOS

2015-10-15 14:16:24

2024-04-10 07:48:41

搜索引擎場景

2024-11-28 10:35:47

2011-09-05 14:17:54

Sencha ToucMVC
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品美女久久久久aⅴ国产馆 | 羞羞视频网站 | 久久久久国产精品一区二区 | 欧美日韩成人在线观看 | 久久久精品一区二区 | 日韩精品免费 | 欧洲亚洲视频 | 亚洲午夜精品久久久久久app | 免费性视频 | 久久久久9999亚洲精品 | 精品91视频 | 91五月婷蜜桃综合 | 日本不卡一区二区三区 | 亚洲免费视频网址 | 亚洲欧美中文日韩在线v日本 | 国产一区二区欧美 | 北条麻妃99精品青青久久主播 | 国产精品一区二区久久久久 | 国产激情毛片 | 精品国产亚洲一区二区三区大结局 | 中文在线视频观看 | av毛片在线播放 | 99在线观看| 羞羞羞视频 | 99精品视频免费观看 | 91pao对白在线播放 | 日韩区 | 精品国产乱码久久久久久影片 | 熟女毛片| 中文字幕 在线观看 | 天天操夜夜操 | 免费看淫片 | 日韩成人在线看 | 国产一区二区三区四区区 | 黄色操视频 | 在线视频 亚洲 | 久久久国产一区 | 色就是色欧美 | 国产剧情一区 | 亚洲精品久久久久久久不卡四虎 | 天天射夜夜操 |