? ? ? ? 近年來,已經開發了一些深度學習方法并將其應用于單變量時間預測場景,其中時間序列由在等時間增量上按順序記錄的單個觀測數據組成。
5.1 將深度學習用于時間序列預測的原因
? ? ? ? 機器學習的目標是提取特征來訓練模型。模型將輸入數據(例如圖片,時間序列或音頻)轉換為給定的輸出(例如字幕、價格值或轉錄)。深度學習是機器學習算法的子集。它通過經輸入數據表示為向量并將其通過一系列線性代數運算轉換為給定的輸出來學習并提取特征。為了進一步闡明深度學習和機器學習之間的區別,我們首先分別定義這兩個研究領域:
? ? ? ? 1.機器學習 是一直使用算法來分析數據,從中學習并隨后使用此數據對某種現象做出一寫預測的實踐。這個學習過程通常基于以下步驟:
? ? ? ? ? ? ? ? a.向算法中填充數據;
? ? ? ? ? ? ? ? b.使用這些數據來從以前的觀測值中學習并訓練數據。
? ? ? ? ? ? ? ? c.運行測試來檢查模型是否從以前的觀測值中進行了足夠的學習并對其性能進行評估。
? ? ? ? ? ? ? ? d.如果模型表現良好,我們將其部署并投入生產階段,以供組織中或企業外部的其他利益相關者使用。
? ? ? ? ? ? ? ? e.最后,使用部署的模型來執行某些自動化的預測任務。
? ? ? ? 2.深度學習是機器學習的子集。深度學習算法基于人工神經網絡,是一種特定類型的機器學習算法,是因為算法的結構基于人工神經網絡。人工神經網絡由多個輸入、輸出和隱藏層組成,其中包含一些單元。一旦部署了深度學習模型,這些單元就可以就將輸入數據轉換為一些信息,供下一層用于執行某些自動化預測任務。
? ? ? ? 深度學習神經網絡具有三個主要的內在特性:
? ? ? ? a.深度學習神經網絡能夠自動從原始數據中學習和提取特征。
? ? ? ? b.深度學習支持多個輸入和輸出。
? ? ? ? c.循環神經網絡,特別是LSTM和門控循環單元(GRU),擅長提取跨越相對較長序列的輸入數據中的模式。
????????5.1.1 深度學習神經網絡能夠自動從原始數據中學習和提取特征
????????5.1.2 深度學習支持多個輸入和輸出
????????5.1.3 循環神經網絡擅長從輸入數據中提取模式
5.2 基于循環神經網絡的時間序列預測
? ? ? ? 5.2.1 循環神經網絡 RNN
? ? ? ? 5.2.2?長短期記憶 LSTM
????????LSTM:長短期記憶網絡(LSTM,Long Short-Term Memory)是一種時間循環神經網絡,是為了解決一般的RNN(循環神經網絡)存在的長期依賴問題而專門設計出來的,所有的RNN都具有一種重復神經網絡模塊的鏈式形式。
????????RNN的問題:存在梯度爆炸和消失的問題,對于長距離的句子的學習效果不好。
? ? ? ? LSTM網絡架構:
? ? ? ? LSTM細胞由輸入門、遺忘門、輸出門和單元狀態組成。
????????下圖展示了應用上一個時刻的輸出h_t-1和當前的數據輸入x_t,通過遺忘門得到f_t的過程。(下面的一組原圖來源:Understanding LSTM Networks)
????????
????????下圖展示了應用上一個時刻的輸出h_t-1和當前的數據輸入x_t,通過輸入門得到i_t,以及通過單元狀態得到當前時刻暫時狀態C~t的過程。
????????下圖展示了應用上一個細胞結構的單元狀態C_t-1、遺忘門輸出f_t、輸入門輸出i_t以及單元狀態的輸出C~t,得到當前細胞的狀態C_t的過程。
? ? ? ? 下圖展示了應用上一個時刻的輸出h_t-1和當前的數據輸入x_t,通過輸出門得到o_t的過程,以及結合當前細胞的單元狀態C_t和o_t得到最終的輸出h_t的過程。
? ? ? ? 5.2.3 門控循環單元 GRU(Gated Recurrent Unit)
? ? ? ? GRU是傳統RNN的變體,同LSTM一樣neg有效捕捉長序列之間的語義關聯,緩解梯度消失或爆炸現象。同時它的結構和計算要比LSTM更簡單,它的核心結構可以分為兩個部分去解析:
? ? ? ? 更新門
? ? ? ? 用于控制上一時間步的隱藏狀態是否對當前時間步的輸入進行更新。更新門的作用類似于LSTM中的遺忘門和輸入門的組合,它決定了新信息進入當前隱藏狀態的比例,以及保留多少舊信息。
? ? ? ? 重置門
? ? ? ? 用于控制如何使用歷史信息。當重置門接近0時,它幾乎會忽略掉所有的歷史信息,而只關注當前輸入。這有助于模型在處理新的輸入時能夠“忘記”不相關的信息,從而更好地捕捉序列中的長期依賴關系。
? ? ? ? 內部結構圖:
????????????????
? ? ? ? 結構解析圖:
? ? ? ? ? ??
? ? ? ? GRU的更新門和重置門結構圖? ? :
????????????????
? ? ? ? GRU的優點:
?????????GRU和LSTM作用相同, 在捕捉長序列語義關聯時, 能有效抑制梯度消失或爆炸, 效果都優于傳統RNN且計算復雜度相比LSTM要小.
? ? ? ? GRU的缺點:
????????GRU仍然不能完全解決梯度消失問題, 同時其作用RNN的變體, 有著RNN結構本身的一大弊端, 即不可并行計算, 這在數據量和模型體量逐步增大的未來, 是RNN發展的關鍵瓶頸.
5.3 如何開發用于時間序列的GRU和LSTM
? ? ? ? 5.3.1 Keras
? ? ? ? 5.3.2Tensorflow
? ? ? ? 5.3.3 單變量模型
? ? ? ? 5.3.4 多變量模型
5.4 總結
????????????????
????????
GRU參考:【機器學習】探索GRU:深度學習中門控循環單元的魅力-騰訊云開發者社區-騰訊云
LSTM參考:? ?最簡單的LSTM講解,多圖展示,源碼實踐,建議收藏-騰訊云開發者社區-騰訊云長短期記憶神經網絡(LSTM)介紹以及簡單應用分析「建議收藏」-騰訊云開發者社區-騰訊云
????????
????????