資源簡介
LSTM(Long Short-Term Memory)是長短期記憶網(wǎng)絡(luò),是一種時間遞歸神經(jīng)網(wǎng)絡(luò),適合于處理和預(yù)測時間序列中間隔和延遲相對較長的重要事件。
LSTM 已經(jīng)在科技領(lǐng)域有了多種應(yīng)用。基于 LSTM 的系統(tǒng)可以學(xué)習(xí)翻譯語言、控制機器人、圖像分析、文檔摘要、語音識別圖像識別、手寫識別、控制聊天機器人、預(yù)測疾病、點擊率和股票、合成音樂等等任務(wù)。本文檔是基于LSTM原理的簡單實現(xiàn),有助于理解其原理。
代碼片段和文件信息
from?random?import?random
from?numpy?import?array
from?numpy?import?cumsum
from?keras.models?import?Sequential
from?keras.layers?import?LSTM
from?keras.layers?import?Dense
from?keras.layers?import?TimeDistributed
from?keras.layers?import?Bidirectional
#?create?a?sequence?classification?instance
def?get_sequence(n_timesteps):
????#?create?a?sequence?of?random?numbers?in?[01]
????X?=?array([random()?for?_?in?range(n_timesteps)])
????#?calculate?cut-off?value?to?change?class?values
????limit?=?n_timesteps/4.0
????#?determine?the?class?outcome?for?each?item?in?cumulative?sequence
????y?=?array([0?if?x?????#?reshape?input?and?output?data?to?be?suitable?for?LSTMs
????X?=?X.reshape(1?n_timesteps?1)
????y?=?y
評論
共有 條評論