본문 바로가기

DeepLearning

딥러닝으로 걷는 시계열 예측 [CH10] RNN 모델 정리

RNN 모델에 split_xy로 자른 데이터셋을 적용하여 모델의 인풋과 아웃풋의 shape별로 정리해보자!

shape만 맞다면 어떤 모델(Dense모델 또는 RNN모델)이든지 바뀌가며 사용할 수 있다는 점!

 

1. MLP DNN 모델 (다:1)

RNN을 DNN으로 변환이 가능하다는 것을 알 수 있다. 

 

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_1.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

2. MLP RNN모델 (다:1)

DNN모델 예제를 이용해 RNN모델 만들기

RNN으로 변경하기 위해서 input_shape부분을 바꾸는 것이 가장 중요!

 

x를 RNN에 맞는 데이터로 변경하려면 2차원에서 3차원으로 바꿔야 한다.

RNN의 shape는, 

(samples, time_step, feature)

(행, 열, 특성)

(행, 열, 몇 개씩 자르는지)

(전체 데이터 수, 컬럼, 특성)

(전테 데이터 수, 컬럼, 몇 개씩 자르는지)

...

 

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_2.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

3. MLP RNN모델 (다:다)

RNN을 다:다 모델을 만들어보자

 

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_3.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

4. MLP RNN 모델 (다입력 다:1)

여러 개의 컬럼이 있는 데이터를 잘라서 우리가 원하는 RNN모델에 입력하는 학습을 해보자.

항상 실제 데이터가 어떻게 들어있는지 확인하는 작업이 필요함!

 

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_4.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

5. MLP DNN 모델 (다입력 다:1)

4번 과정을 DNN 모델을 활용해 확인해보자.

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_5.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

6. MLP DNN 모델 (다입력 다:다)

2개 컬럼에 각 3개씩 데이터를 입력받아서, 2개의 값으로 출력되는 모델을 만들어보자.

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_6.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

7. MLP DNN 모델 (다입력 다:다)

앞에서 만든 RNN모델을 DNN으로 리파인해보자.

-> input의 shape만 주의해서 reshape만 잘 하면 어떤 모델이던 잘 돌아갈 수 있다.

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_7.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

8. RNN 모델 (다입력 다:다) - 버전2

전체 컬럼을 행 별로 잘라서 시계열 데이터를 만든 데이터로 RNN 모델을 구현해보자

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_8.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

9. DNN 모델 (다입력 다:다) - 버전2

(10, 3) 데이터를 이용해 앞 RNN모델을 DNN으로 변경해보자

 

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_9.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

10. RNN모델 (다입력 다:다)- 버전3

RNN 관련 버전3까지만 알아도 데이터 분석이나 인공지능 모델링, 특히 시계열에서는 평균 이상은 할 수 있다

전체 컬럼의 위에서부터 3행을 x로 그 다음 2행을 y로 구성하는 데이터를 이용한다

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_10.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

11. DNN 모델 (다입력 다:다) - 버전3

9번 모델을 DNN모델로 변경해보자

x,y모두 3차원에서 2차원으로 reshape하고 LSTM모델을 Dense모델 레이어로 변경해준다

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH10/10_11.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

 

 

 

 

 

 

 

 

반응형