LSTM과 CNN을 통해 주가를 예측해보고 최종적으로 비트코인 단타매매에 실전 적용할 수 있는 모델을 개발해보겠다.

 

 

 

 

[ 개념 ]

 

LSTM은 RNN(Recurrent neural network)에서 나온 모델로 장기의존성(장기기억)에 더 특화된 모델이다.

직전데이터 뿐만아니라 과거데이터들을 분석하여 미래데이터를 예측한다.

 

시계열데이터의 예측, 시퀀스(순서)데이터, 자연어처리, 음성인식, 이미지 분류 등에서 많이 사용된다.

 

 

 

 

 

CNN(Convolutional Neural Network)

합성곱 신경망으로, 입력층과 출력층 사이 여러 은닉층이 존재하여 복잡한 패턴의 데이터를 분석/처리해준다.

주로 이미지, 영상처리, 오디오처리에 사용된다.

 

 

컨볼루션(ConV), Relu(비선형함수), Pooling(풀링), 드랍다운(dropdown)층으로 구성되며,

 

컨볼루션 : 데이터(이미지 등등..)의 특징을 추출

렐루 :  선형함수를 비선형함수를 거쳐 더 복잡한 은닉층을 가능케 해줌

풀링층 : 추출한 데이터를 다운샘플링하여 학습할 파라미터의 개수를 줄여줌

dropdown : 특정 뉴런을 비활성화 시킴으로서 오버피팅(과적합)을 방지한다. 

 

 

 

 

 

[ 왜 CNN, LSTM을 사용하는가? ]

 

CNN

CNN은 이미지데이터 외에도 다양한 형태의 데이터를 처리할 수 있다.

예를들어, 주가, 거래량, 뉴스, 지표 등등..

그리고 주가의 변동을 나타내는 시계열 데이터의 공간적 특징을 잘 파악할 수 있다.

이는 과거의 특정한 패턴을 특징으로 추출하여 미래 주가를 예측할 수 있다.

 

LSTM

장기기억 학습에 특화된 이 모델은 시계열 데이터처리에 특히 유용하다.

주가데이터 자체가 시계열이니 매우 적합하다고 볼 수 있다.

LSTM은 거래량이나 지표 등의 변수간의 관계를 이해하는데도 뛰어나서 주가예측에 자주 사용되는 모델이다.

 

 

 

 

 

 

[ 방법 ]

 

1. 오픈소스를 참고하여 주가데이터를 가져와 전처리한다.

2. 같은 방법으로 비트코인의 주가데이터를 가져와 전처리한다.

3. 각각의 모델을 학습시키고 실제주가와 비교해보며 평가해본다.

4. 각각의 결과물의 정확도를 높이기위해 두 모델을 합치는 방안을 모색한다.


 - 하이브리드모델 : 두 모델을 하나의 모델 안에서 연결하여 사용한다. 

 - 앙상블 : 별도 학습 후, 각 결과를 평균내거나 가중치를 부여하여 종합적인 예측결과를 도출한다. 각 모델의 강점들을 결합할 수 있다.

 - 스태킹 : 각각의 출력을 '메타모델'의 학습데이터로 입력시켜 학습한다.

 - 특징결합 : 각각 별도 학습 후, 각 모델의 출력(특징)을 결합 -> 각 모델이 독립적으로 학습한 정보를 통합하여 새로운 정보를 도출한다

 

5. LSTM,CNN모델을 각각 저장하고 앙상블(평균 or 투표방식)기법이나 스태킹방법을 사용한다.

 

 

 

[ 주의 ]

1. 과적합 주의

2. 단일모델이 더 성능이 좋을 수 있으므로, 모델을 결합시킬때 성능이 낮다면 하나의 모델을 더 업그레이드 하는 것에 초점을 두기

3. 너무 복잡한 모델은 오히려 성능이 떨어짐

+ Recent posts