人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 硬件軟件教程 > 詳細頁面

[translation]使用遞歸神經網絡(LSTM)預測時間序列數據

[translation]使用遞歸神經網絡(LSTM)預測時間序列數據

更新時間:2023-06-20 文章作者:未知 信息來源:網絡 閱讀次數:

根據運行的環境,操作系統可以分為桌面操作系統,手機操作系統,服務器操作系統,嵌入式操作系統等。

神經網絡預測大量數據_神經網絡預測大量數據_php循環處理大量數據

Statsbot團隊發表了一篇有關使用時間序列分析進行異常檢測的文章. 今天,我們將討論長期和短期記憶模型(LSTM)在時間序列預測中的使用. 我們請數據科學家Neelabh Pant告訴您他使用循環神經網絡預測匯率變化的經驗.

作為居住在美國的印度人,我和家人之間資金不斷流動. 如果美元在市場上走強,則印度盧比(INR)將下跌. 因此,印度人將花費更多盧比來購買一美元. 如果美元貶值,您將花費更少的盧比來購買相同的美元.

如果您可以預測明天一美元的價格,那么它可以指導您的決定,這對于最小化風險和最大化回報非常重要. 通過觀察神經網絡(尤其是循環神經網絡)的優勢,我想到了預測美元與印度盧比之間的匯率.

有很多預測匯率的方法,例如:

在本文中,我們將告訴您如何使用機器學習進行時間序列分析以預測未來匯率的變化.

讓我們從順序問題開始. 涉及序列的最簡單的機器學習問題是問題.

在這種情況下,模型只有一個輸入數據或輸入張量,并且模型會基于給定的輸入生成相應的預測. 使用卷積網絡的線性回歸,分類和圖像分類均屬于此類. 擴展它以允許模型使用輸入和輸出的舊值.

這是一對多的問題. 一對多問題就像問題一樣開始. 該模型具有一個輸入,并同時生成一個輸出. 但是,模型的輸出現在作為新輸入反饋到模型. 該模型現在可以生成新的輸出,并且我們可以以此方式繼續無限循環. 現在您可以了解為什么將它們稱為遞歸神經網絡了.

一對多

使用遞歸神經網絡來處理序列問題,因為它們都可以連接形成有向環. 換句話說,通過使用自己的輸出作為下一步的輸入,他們可以維持從一次迭代到下一次迭代的狀態. 用編程術語來說,這就像運行帶有特定輸入和一些內部變量的固定程序. 如果在時間軸上進行擴展,則最簡單的遞歸神經網絡可以看作是完全連接的神經網絡.

RNN在時間軸上展開

php循環處理大量數據_神經網絡預測大量數據_神經網絡預測大量數據

在這種單變量情況下,僅涉及兩個權重. 權重u乘以當前輸入xt,另一個權重w乘以先前的輸出yt-1. 該公式類似于指數加權移動平均法(EWMA),它將過去的輸出值與當前的輸入值結合在一起.

您可以通過簡單地堆疊神經網絡單元來構建深度遞歸神經網絡. 一個簡單的遞歸神經網絡僅對短期記憶有效. 如果我們需要長期記憶,我們會發現它根本上是不夠的.

正如我們已經討論的那樣,簡單的循環網絡存在一個基本問題,即它不能捕獲序列中的長期依賴性. 我們構建的RNN涉及在分析文本和回答問題時跟蹤單詞的長序列,因此這將是一個問題.

在1990年代后期,Sepp Hochreiter和Jurgen Schmidhuber提出了LSTM,以取代RNN,隱馬爾可夫模型和許多其他應用中的序列學習方法. 與它們相比,LSTM對時間間隔的長度不敏感.

LSTM網絡結構

模型是一個運算單元,其中包括幾個基本運算. LSTM具有一個內部狀態變量,該變量從一個單元傳遞到另一個單元,并由操作門進行修改.

被遺忘的門

使用S形層接收前一個時間節點t-1的輸出和當前時間節點t的輸入,將其合并為張量,然后進行線性變換. 使用S型激活函數后,遺忘門的輸出值為0到1之間的值. 該值將乘以內部狀態,這就是為什么將其稱為遺忘門的原因. 如果ft = 0,則完全忘記先前的內部狀態;如果ft = 1,它將通過而不會發生任何變化.

輸入門

輸入門接受先前的輸出和新的輸入,并將其傳遞到另一個S型層. 輸入門返回一個介于0和1之間的值. 然后,將輸入門返回的值與候選層的輸出相乘.

該層將輸入與上一層的輸出混合,然后應用雙曲正切激活,并返回候選向量以添加到內部狀態.

內部狀態更新規則如下:

神經網絡預測大量數據_神經網絡預測大量數據_php循環處理大量數據

先前的狀態乘以“忘記門”輸出,然后添加到輸出門允許的新候選位置.

輸出門

輸出門控制著將多少內部狀態傳遞給輸出,它的工作原理與其他門結構一樣.

上述三個門結構具有獨立的權重和偏差,因此網絡需要了解需要保留多少過去的輸出,需要保留多少電流輸入以及需要將多少內部狀態轉移到柵極. 輸出.

在遞歸神經網絡中,不僅需要輸入當前網絡的輸入數據,還需要輸入前一時刻網絡的狀態數據. 例如,如果我說“嘿!開車時發生了瘋狂的事”,那么大腦的某個部分開始轉動開關,然后說: “哦,這是Neelabh告訴我的一個故事,這個故事的主角是Neelabh ,路上發生了什么事. ”現在,您將保留我剛剛告訴您的句子的一部分,當您聽我說其他句子時神經網絡預測大量數據,為了理解整個故事,您必須保留上一句話信息中的一些記憶.

另一個例子是使用遞歸神經網絡進行視頻處理. 當前幀中發生的情況很大程度上取決于前一幀的內容. 在一段時間內,循環神經網絡應該了解要保留的內容,從過去的數據中要保留的內容以及要保留的當前狀態策略的多少,這使其比簡單的前饋神經網絡更強大.

我對循環神經網絡的優勢印象深刻,因此決定用它來預測美元和印度盧比之間的匯率. 此項目中使用的數據集是1980年1月2日到2017年8月10日的匯率數據. 稍后,我將提供一個鏈接來下載此數據集和實驗.

表1樣本數據集

數據集顯示1盧比的價值. 從1980年1月2日到2017年8月10日,我們共有13,730條記錄.

美元兌印度盧比

從整個階段來看,1美元的盧比價格一直在上漲. 我們可以看到,美國經濟在2007年至2008年之間急劇下滑,這在很大程度上是那個時期的大蕭條造成的. 從2000年代末到2010年代初,全球市場普遍經歷了經濟衰退.

這個時期對世界發達的經濟體來說不是很好,特別是北美和歐洲(包括),它們已陷入嚴重的經濟衰退. 許多較新的發達經濟體遭受的損失要小得多,尤其是中國和印度,其經濟在此期間已大幅增長.

神經網絡預測大量數據_php循環處理大量數據_神經網絡預測大量數據

現在,要訓練模型,我們需要將數據分為測試集和訓練集. 在處理時間序列時,將其分為特定日期的訓練集和測試集非常重要. 因此,我們不想看到的是測試數據出現在訓練數據之前.

在我們的實驗中,我們將一個日期(例如2010年1月1日)定義為單獨的日期. 訓練數據為1980年1月2日至2009年12月31日,大約有11,000個訓練數據點.

測試數據集介于2010年1月1日至2017年8月10日之間,大約有2700個數據點.

測試培訓數據劃分

接下來要做的是標準化數據集. 只需要調整和轉換訓練數據,然后轉換測試數據. 原因是假設我們不知道測試數據的規模.

規范化或轉換數據意味著應用介于0和1之間的新縮放變量.

完全連接模型是一個簡單的神經網絡模型,它構造為單輸入單輸出回歸模型. 基本上,它需要前一天的價格來預測第二天的價格.

我們使用均方誤差作為損失函數,并使用隨機梯度下降作為優化器. 在訓練了足夠的紀元之后,我們將找到一個更好的局部最優值. 以下是全連接層的摘要.

全連接層概述

在將模型訓練了200個紀元之后,或者不管是哪個Early_callbacks(即滿足條件的早期終止回調),該模型都會通過訓練來學習數據模式和行為. 由于我們將數據分為訓練集和測試集,因此我們現在可以預測與測試數據相對應的值,并將其與真實值進行比較.

真實值(藍色)與預測值(橙色)

如您所見,此模型的表現不佳. 本質上,它只重復了一點點就可以重復先前的數據. 全連接模型無法根據單個先前值預測未來數據. 現在,讓我們嘗試使用遞歸神經網絡,看看它做得如何.

php循環處理大量數據_神經網絡預測大量數據_神經網絡預測大量數據

我們使用的遞歸網絡模型是單層順序模型. 輸入維形狀為(1,1)的層中使用了六個LSTM節點,即網絡只有一個輸入.

LSTM模型摘要

最后一層是密集層(即完全連接的層),損失函數使用均方誤差,優化器使用隨機梯度下降算法. 我們使用early_stopping回調對該模型進行了200次訓練. 該模型的輪廓如上所示.

LSTM預測

該模型已學會在一年內重現數據的整體形狀,并且沒有像以前使用的簡單前饋神經網絡那樣延遲. 但是它仍然低估了一些觀察結果,因此該模型肯定有改進的空間.

可以對模型進行大量更改以使其更好. 通常,可以通過修改優化器直接更改模型訓練配置. 另一個重要的修改是使用滑動時間窗口方法,這是流數據管理系統領域中的一種方法.

此方法來自僅最新數據很重要的觀點. 您可以使用一年的模型數據,并嘗試對明年第一天進行預測. 滑動時間窗方法對于獲取數據集中的重要模式非常有用,這些模式高度依賴于過去的大量觀測結果.

您可以嘗試根據個人喜好修改模型,并查看模型對這些修改的反應.

我在github帳戶的倉庫中以python的深度學習方式提供了此數據集. 請隨時下載并使用它.

我個人關注了一些喜歡的數據科學家,例如Kirill Eremenko,Jose Portilla和Dan Van Boxel(著名的Dan Dos Data)等等. 它們中的大多數可以在不同的博客站點上找到. 他們的博客中有很多不同的主題,例如RNN,卷積神經網絡和LSTM,甚至是最新的神經圖靈機技術.

了解各種人工智能會議的最新消息. 順便說一句,如果您有興趣的話,基里爾·埃雷緬科(Kirill Eremenko)將于今年11月來到圣地亞哥,與他的團隊一起就機器學習,神經網絡和數據科學進行演講.

LSTM模型足夠強大,可以學習最重要的過去行為并了解這些過去行為是否對將來的預測具有重要意義. 在許多應用中,LSTM的使用率非常高. 語音識別,音樂合成和手寫識別等應用甚至在我目前對人口流動和旅游業預測的研究中.

我認為LSTM就像是一個具有自己記憶的模型,在做出決策時可以像聰明人一樣發揮作用.

再次感謝您,并祝您在機器學習的學習過程中幸福!

如果您發翻譯計劃”來修改翻譯和PR,您還可以獲得相應的獎勵積分. 本文開頭的永久鏈接是GitHub上的MarkDown鏈接.


本文來自本站,轉載請注明本文網址:
http://www.pc-fly.com/a/jisuanjixue/article-287222-1.html



溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 安化县| 青铜峡市| 桃园市| 乌鲁木齐县| 镇坪县| 桃江县| 济宁市| 连平县| 绥棱县| 开鲁县| 庆云县| 阿拉尔市| 桑植县| 泽普县| 江陵县| 库尔勒市| 乌拉特中旗| 五原县| 桦甸市| 浦东新区| 财经| 周宁县| 孝感市| 汕尾市| 南阳市| 高唐县| 铁岭市| 松桃| 崇州市| 酒泉市| 韶山市| 通化市| 双城市| 石泉县| 揭阳市| 军事| 东阿县| 介休市| 内乡县| 南郑县| 湖口县|