首頁  >  文章  >  後端開發  >  時間步長和特徵如何影響 Keras 中的 LSTM 資料重塑?

時間步長和特徵如何影響 Keras 中的 LSTM 資料重塑?

Patricia Arquette
Patricia Arquette原創
2024-11-05 17:47:02196瀏覽

How do Time Steps and Features Impact LSTM Data Reshaping in Keras?

重新考慮LSTM 時間步長和資料重塑

在Keras LSTM 實作中,正如Jason Brownlee 所示範的,了解時間步長和特徵的重要性至關重要將資料重塑為[樣本、時間步長、特徵] 格式。

時間步長: 顧名思義,時間步長是指沿時間維度的資料點數量。在順序資料的背景下,例如金融時間序列,序列中的每個資料視窗都被視為一個時間步。

特徵:特徵是指考慮的變數數量每個時間步。例如,如果您同時分析股票的價格和交易量,則每個時間步都會有兩個特徵(價格和交易量)。

重塑涉及將原始資料轉換為三維數組,其中第一個維度表示樣本數量,第二個維度表示每個樣本內的時間步數,第三個維度表示每個時間步的特徵數。

解釋重建數據

考慮可視化N 個油罐5 小時內的壓力和溫度的例子:

Tank A: [[P1, T1], [P2, T2], [P3, T3], [P4, T4], [P5, T5]]
Tank B: [[PB1, TB1], [PB2, TB2], [PB3, TB3], [PB4, TB4], [PB5, TB5]]
…
Tank N: [[PN1, TN1], [PN2, TN2], [PN3, TN3], [PN4, TN4], [PN5, TN5]]

當重新整形為[樣本、時間步長、特徵] 時,此陣列將如下所示:

Sample 1 (Tank A): [[P1, P2, P3, P4, P5], [T1, T2, T3, T4, T5]]
Sample 2 (Tank B): [[PB1, PB2, PB3, PB4, PB5], [TB1, TB2, TB3, TB4, TB5]]
…
Sample N (Tank N): [[PN1, PN2, PN3, PN4, PN5], [TN1, TN2, TN3, TN4, TN5]]

了解有狀態LSTM

有狀態LSTM 在批次之間維護內部記憶體狀態。當使用batch_size=1時,如所提供的程式碼所示,網路利用前一時間步的輸出作為當前時間步的輸入。這使得模型能夠捕捉資料中的順序依賴關係。

當使用 shuffle=False 訓練有狀態 LSTM 時(如程式碼中所指定),模型會依序處理序列,從而能夠從上下文中學習每個序列中先前的時間步。

結論

理解時間步、特徵和有狀態 LSTM 行為的概念對於有效使用 LSTM 網路至關重要。透過適當地重塑資料並使用有狀態 LSTM,您可以利用 LSTM 的強大功能進行時間序列建模。

以上是時間步長和特徵如何影響 Keras 中的 LSTM 資料重塑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn