LSTM
LSTM을 활용한 일기예보
윈도잉(windowing)
- 시계열 데이터를 학습해 미래를 예측할 때에는 일반적으로 윈도잉이라는 기법을 사용
- 과거의 12개의 데이터를 학습하여 미래 12개의 데이터를 예측하는 회귀모델을 활용
신경망 구조
층수 | 종류 | 크기 | 활성화 함수 |
---|---|---|---|
1층 | LSTM | 64,return_sequences=True | - |
2층 | FNN | 32 | - |
3층 | FNN | 14 | - |
딥러닝 모델 코딩
"""
Author : Byunghyun Ban
"""
from tensorflow import keras
import data_reader
# 몇 에포크 만큼 학습을 시킬 것인지 결정합니다.
EPOCHS = 50 # 예제 기본값은 50입니다.
# 데이터를 읽어옵니다.
dr = data_reader.DataReader(12)
# 인공신경망을 제작합니다.
model = keras.Sequential([
keras.layers.Bidirectional(keras.layers.LSTM(64, return_sequences=True)),
keras.layers.Dense(32),
keras.layers.Dense(14),
])
# 인공신경망을 컴파일합니다.
model.compile(optimizer="adam", metrics=["mae"], loss="mse")
# 인공신경망을 학습시킵니다.
print("\n\n************ TRAINING START ************ ")
early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(dr.train_X, dr.train_Y, epochs=EPOCHS,
validation_data=(dr.test_X, dr.test_Y),
callbacks=[early_stop])
# 학습 결과를 그래프로 출력합니다.
data_reader.draw_graph(model(dr.test_X[:200]), dr.test_Y[:200], history)
Author And Source
이 문제에 관하여(LSTM), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dragonsky2357/LSTM저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)