iT邦幫忙

0

keras LSTM基礎設置問題

因為最近剛接觸機器學習這部分
剛開始都是使用MLP而已
如果想利用LSTM去進行訓練的話
請問LSTM模型的建置要怎樣設置會比較好?
網路上的文章有爬過了,但還是看不太懂LSTM裡面參數的含意
像是input_dim,如果我LSTM是放在第一層的話
那input_dim的值是否是要設定我輸入的特徵個數呢?

這是我用MLP訓練建置的模型
https://ithelp.ithome.com.tw/upload/images/20201010/20131629NqGBPFW8fI.jpg

如果想改成LSTM的話該如何建置會比較好?
新手發問還請見諒

1 個回答

1
chichi
iT邦新手 5 級 ‧ 2020-10-11 23:00:30

以 Keras 來說有 LSTM 套件,不過輸入部分要看你要使用 one to one 還是 many to one 等,可以參考這個

看更多先前的回應...收起先前的回應...
yixuan173 iT邦新手 5 級 ‧ 2020-10-11 23:16:08 檢舉

您好,謝謝您提供參考文章,讀完之後有比較懂LSTM
但想請教您關於LSTM中input_shape()中的Time_Steps
有在別的文章看到說是代表資料的時間維度
那如果今天我有一個二維陣列的資料(268,48)
如果我要reshape成三維的話
請問是這樣改嗎(268,Time_Steps,48)
如果是的話那Time_Steps這位置要如何判斷要放多少呢?

a26833765 iT邦新手 5 級 ‧ 2020-10-12 08:43:35 檢舉

要自己慢慢調,無解。時間步數越長會對電腦造成更大負擔

yixuan173 iT邦新手 5 級 ‧ 2020-10-12 09:50:43 檢舉

了解。
那還想請問Time_Steps的意思有沒有比較簡易的講解
因為網路上看到的資訊我覺得有點抽象
所以想請教有沒有比較淺顯易懂的說法

老頭 iT邦新手 5 級 ‧ 2020-10-13 10:23:35 檢舉

LSTM 基本上是處理序列資料的 (sequence),例如一個句子「我正在學習人工智慧」可以視為一個「序列樣本」(sequence sample),它有 9 個 time steps。假設你是用聽的,第一個時間點聽到的字是「我」,第二時間則是「正」,以此類推,共有 9 個時點會聽到字,這 9 個時點,就是 time step.

yixuan173 iT邦新手 5 級 ‧ 2020-10-14 21:13:36 檢舉

謝謝講解,真的讓我一聽就懂了,這樣了解之後大概就清楚Time_Steps的意思了。

我要發表回答

立即登入回答