首頁 > 後端開發 > Python教學 > 時間步長和特徵如何影響 LSTM 模型效能和狀態訓練?

時間步長和特徵如何影響 LSTM 模型效能和狀態訓練?

DDD
發布: 2024-11-25 18:13:27
原創
843 人瀏覽過

How Do Time Steps and Features Affect LSTM Model Performance and Stateful Training?

理解 LSTM 時間步長和特徵

在 LSTM 模型中,時間步長和特徵指的是輸入資料的維度。時間步代表序列中資料點的數量,而特徵代表每個資料點內的不同變數或維度。

在您的範例中,輸入資料被重新整形為具有以下維度的3D 陣列:

  • 樣本(批次大小)
  • 時間步長(序列的長度,在本例中3)
  • 特徵(輸入變數的數量,本例為1)

因此,每個樣本都是 3 個資料點的序列,每個資料點由單一輸入組成變數。

有狀態 LSTM

有狀態LSTM 維持每個時間步更新的隱藏狀態。這使得模型能夠從過去的輸入中學習並根據上下文做出預測。當 stateful=True 時,LSTM 將記住批次之間的隱藏狀態,這對於順序資料非常有用。

在您的程式碼中,您使用批次大小為 1 並訓練模型 100 個時期。但是,您也可以使用 model.reset_states() 在每個紀元之後重置狀態。這意味著模型實際上並沒有從批次之間的過去輸入中學習,它本質上是將每個批次視為新序列。

要正確訓練有狀態 LSTM,您應該避免在訓練期間重置狀態。相反,您應該僅在想要開始新序列或對新資料點進行預測時重置狀態。

展開的圖表

您提供的圖表說明 LSTM 網路的展開架構。在這兩種情況下,紅色框代表輸入步驟,綠色框代表隱藏狀態。

編輯1:

下圖對應於第一個展開的圖您提供的:

[每個時間步一個輸入步驟的展開圖的圖像]

您提供的圖表對應於第二個展開圖:

[同時包含所有輸入步驟的展開圖影像]

編輯2:

理解時間步長和特徵參數對於 LSTM 模型至關重要。請參閱原始帖子和評論中提供的資源以獲取進一步的說明。

附加說明:

  • LSTM 層可以處理各種形式的數據,包括一種-對多、多對一、多對多配置。
  • 您可以透過調整來實現不同的配置return_sequences 參數。
  • 原始文章還包含有關使用有狀態 LSTM 進行未來步驟預測任務的寶貴資訊。

以上是時間步長和特徵如何影響 LSTM 模型效能和狀態訓練?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板