基于TCN-SENet +BiGRU-GlobalAttention并行預測模型
環境:python 3.9 pytorch 1.8 及其以上都可以
模型創新點還未發表,有畢業設計或者發小論文需求的同學必看,模塊豐富,創新度高,性能優越!
創新點:
1.利用時間卷積網絡(TCN)的一系列時間卷積層,這些卷積層可以有效地捕獲不同時間尺度上的序列模式,在TCN的輸出上應用SENet模塊,用于學習和增強重要特征的表示,提高模型對關鍵信息的感知能力;
2.通過雙向門控循環單元(BiGRU)同時從前向和后向對序列進行建模,以更好地捕獲序列中的依賴關系,同時應用全局注意力機制GlobalAttention,對BiGRU的輸出進行加權處理,使模型能夠聚焦于序列中最重要的部分,提高預測性能;
3. 該創新模型具有不同時間尺度上捕獲序列信息以及對序列中不同部分進行重要性加權的能力,在多個數據集上表現出高精度的預測性能!
注意:此次產品,我們還有配套的模型講解(方便學習網絡結構)和參數調節講解!有畢業設計或者發小論文需求的同學必看,模塊豐富,創新度高,性能優越?。?/strong>
同時,代碼配套精美的繪圖與深度學習預測模型特征重要性可視化實現!?
模型訓練可視化圖:?
多特征貢獻度可視化分析圖:?
此分析代碼是我們團隊原創,如何利用 深度學習 訓練好的模型 在對多特征預測任務 中進行特征重要性(貢獻度)可視化?。ㄒ部梢杂糜谄渌疃葘W習模型做特征重要性可視化,代碼適用性高)
前言
本文基于前期介紹的電力變壓器(文末附數據集),介紹一種基于TCN-SENet +BiGRU-GlobalAttention并行預測模型,以提高時間序列數據的預測性能。電力變壓器數據集的詳細介紹可以參考下文:
1 模型整體結構
模型整體結構如下所示:
分支一:通過基于通道注意力機制(SENet)的TCN模型網絡,來自適應地調整通道特征的權重,使模型能夠自動學習到不同通道的重要性,提取了多特征序列中與預測目標相關的重要空間特征;
分支二:多特征序列數據同時通過基于GlobalAttention優化的BiGRU網絡,GlobalAttention是一種用于加強模型對輸入序列不同部分的關注程度的機制。在 BiGRU 模型中,全局注意力機制可以幫助模型更好地聚焦于輸入序列中最相關的部分,從而提高模型的性能和泛化能力。在每個時間步,全局注意力機制計算一個權重向量,表示模型對輸入序列各個部分的關注程度,然后將這些權重應用于 BiGRU 輸出的特征表示,通過對所有位置的特征進行加權,使模型能夠更有針對性地關注重要的時域特征, 提高了模型對多特征序列時域特征的感知能力;
特征融合:然后兩個分支提取的空間特征和全局時域特征通過堆疊融合,使模型能夠更好地融合不同層次的特征表示,提高模型性能和泛化能力。
通道注意力機制
Squeeze-and-Excitation Networks
全局注意力機制:
Global Attention Mechanism
2 多特征變量數據集制作與預處理
2.1 導入數據
2.2 制作數據集
制作數據集與分類標簽
3 基于TCN-SENet +BiGRU-GlobalAttention并行的高精度預測模型
3.1 定義網絡模型
注意:輸入數據形狀為 [64, 7, 7], batch_size=32,7代表序列長度(滑動窗口取值), 維度7維代表7個變量的維度。
3.2 設置參數,訓練模型
50個epoch,訓練誤差極小,多變量特征序列TCN-SENet +BiGRU-GlobalAttention并行融合網絡模型預測效果顯著,模型能夠充分提取時間序列的空間特征和時序特征,收斂速度快,性能優越,預測精度高,能夠從序列時空特征中提取出對模型預測重要的特征,效果明顯!
注意調整參數:
可以適當增加TCN層數和隱藏層的維度,微調學習率;
調整BiGRU層數和每層神經元個數,增加更多的 epoch (注意防止過擬合)
可以改變滑動窗口長度(設置合適的窗口長度)
4 模型評估與可視化
4.1 結果可視化
4.2 模型評估
4.3 特征可視化
點擊下載:原文完整數據、Python代碼。???https://mbd.pub/o/bread/ZZ6UlJxv??
本文轉載自??建模先鋒??,作者: 小蝸愛建模
