191208 TIL

less than 1 minute read

LSTM(Long Short-Term Memory) Algorithm

  • 우리 말로 장단기 메모리 알고리즘.
  • 기존의 SimpleRNN에 여러 타임스텝에 걸쳐 나르는 방법이 추가된 것
  • long-term dependency를 필요로 하는 데이터를 학습할 때 효과적이다.

즉, RNN(Recurrent Neural Network) 알고리즘의 한 종류이다. 정보를 저장해두었다가 처리 과정에서 오래된 시그널이 점차 소실되는 것을 막아준다.

데이터 스케일링(Data Scaling)

여러가지 스케일링 방법이 있지만 MinMaxScaler()를 이용하는 방법을 고려중이다. 데이터의 폭이 굉장히 넓기 때문에 최솟값을 0, 최댓값을 1 기준으로 만드는 이 함수를 사용하였다. 신경망이 빠르고 수월하게 학습하게 도와준다. 이렇게 하면 weight의 scale도 일관성있게 출력된다. 배추의 가격을 예측하는 프로젝트를 진행했을 때도 MinMaxScaler()를 사용해 스케일링을 진행했어서 사용해보았다.

  • data: 원본 배열
  • lookback: 입력으로 사용하기 위해 거슬러 올라갈 타임스텝
  • delay: 타깃으로 사용할 미래의 타임스텝
  • min_index와 max_index: 추출할 타임스텝의 범위를 지정하기 위한 data 배열의 인덱스, 검증 데이터와 테스트 데잍터를 분리하는데 사용함
  • shuffle: 섞을지, 시간대로 추출할지
  • batch_sample: 배치 샘플 수
  • step: 데이터를 샘플링할 타임스텝 간격

약간의 핑계와 사담

현재, AI 강의 팀 프로젝트로 주식 가격 예측을 진행하고 있는데 LSTM 모델을 사용할 예정이라 공부하고 있습니다. :) 잠깐 짧게 TIL 을 올리지 않았던 이유에 대해 설명하자면, 몸이 많이 아팠기도 했고, 그 이후로는 개강하여 생활하느라 잊고 있었습니다. 제가 시작했다가 접은 것을 다시 시작하는 데에는 용기가 필요하더라고요. 시험기간이라 매일 올릴 수 있을지 장담은 못하겠지만 꾸준하게 공부해야 겠습니다.

Categories:

Updated: