본문 바로가기

Deep Learning & AI/AI

(딥러닝-온라인)딥러닝의 3 STEP의 기초 (7~9강)

참고) 해당 포스팅은 패스트 캠퍼스 100% 환급 챌린지 미션 기록용 포스팅이며, 강좌 내용에 맞추어 포스팅함을 언급

 

클립명 : PART4)딥러닝의 3 STEP의 기초

           쉽게 배우는 역전파 학습법 (STEP 2) - 역전파 학습법을 이용한 심층 신경망 학급 - 1

          쉽게 배우는 역전파 학습법 (STEP 2) - 학습법의 수식적 이해 - 1

          쉽게 배우는 역전파 학습법 (STEP 2) - 학습법의 수식적 이해 - 2

이번 시간에서 다룰 주제는 우선 두가지다. 

첫번째: 지난 포스팅에서 예측한 값들을 평가하는 방법(즉, 얼마나 잘 예측했나)들을 소개한다.

          (Mean-Absolute-Error, Mean-Squared-Error, RMSE)

 

두번째: Stationary Process & Non - Stationary Process

 

세가지 주제 다 시계열에서 다루는 가장 기초적인 주제이지만, 앞으로도 계속 활용될 것이며 이것들을 명확히 알아야 앞으로의 모델링에서 어떠한 목표를 가지고 설계하는지 명확히 알 수 있기 때문에 포스팅을 한다.

 

첫번쨰. 예측값을 평가하는 방법

예측값을 평가하는 방법은 크게 3가지 이고, 첫번째는 예측한 모델의 값과 실제 값의 차이의 절대값의 합을 나타낸 MAE(Mean Absolute Error)인다. 우리가 train data를 이용해 모형의 파라미터를 구했고, 구한 파라미터들이 미래에서 적용된다고 가정했을때 X값인 시간만을 바꿔서 모델의 예측값을 구했다. 때문에 이러한 예측값과 실제 해당 X값에서 의 실제 값인 Test Data의 차이를 이용해 얼마나 크게 벗어났는지를 알아볼 수 있고, 이 값이 가장 작을수록 모델의 예측력은 뛰어나다고 볼 수 있겠다.

 

두번쨰 방법은 MSE(Mean Squared Error)로 첫번쨰 방법처럼 모델의 값과 실제값의 차이를 제곱 후의 합을 의미하며, RMSE의 경우 MSE에 루트를 취한 값을 의미한다. MAE와 의미는 비슷하며 RMSE를 사용할 경우는 해석하는 단위를 맞추기 위해서다. 즉 Error(모델값-실제값)의 경우 단위가 '원화'라면 원화^2은 해석할 수 없기 때문에, 이러한 단위를 통일시켜 주기 위해 다시 제곱근을 취해주는 거다.

 

 

파이썬으로 이들을 구하는 것은 매우 간단하며 sklearn.mertics에서 모듈을 불러와 적용할 수 있다.

#%% Evaluation Metrics from sklearn.metrics import mean_squared_error, mean_absolute_error mean_absolute_error(test_data, test_predictions) #여기서 test_predictions의 값은 모델 값 mean_squared_error(test_data, test_predictions) np.sqrt(mean_squared_error(test_data, test_predictions))

 

두번쨰. Stationary Process & Non-Stationary Process

 

 시계열에서 어찌보면 가장 중요한 개념이라고 할 수 있겠다. 시계열 학문(Time Series)에서 시계열을 분석할 떄 시계열은 3가지 성분으로 구성되어 있다고 가정한다. 첫번째가 추세(Trend) 두번째가 계절성(Seasonal) 그리고 마지막으로 추세와 계절성으로 설명할 수 없는 Error들이라고 가정한다.

 

 결국 저 두가지 성분으로 해석하지 못한 값들은 평균으로 회귀하며, 어떠한 모델을 이용해서 평균으로 회귀하는지를 분석하는 것이 결국 시계열의 모델링이라고 할 수 있다.

 

 

 때문에 추세와 계절성을 제거한 데이터가 평균으로 회귀하지 못한다면 우리는 그것을 Non-Stationary Process라고 할 것이며 이러한 데이터는 분석하기가 힘들기에 또 다른 조취를 취하게 된다.

 

 따라서 모델링을 하기 전에 가장 우선이 되는 절차는 직접 데이터를 그려보고 데이터가 어떻게 흘러가는지를 파악하는 것이 우선이겠다.

 

Stationary Process

위의 그림을 잘 살펴보면 평균 55를 기준으로 데이터가 왔다갔다 하며 시간이 지나도 평균으로 회귀하는 모습을 보인다

Non-Stationary Process with Trend

반면, 위의 그림은 평균으로 회귀하기 보다는 시간이 지남에 따라 점차 증가하는 추세를 가지고 있는 모습이다. 이러한 데이터를 분석할 때는 추세를 제거하고 다시 분석하는 것이 우선이며, 추세를 제가하는 방법 중 하나인 '차분(Differencing)'의 대해서는 다음 포스팅에서 다루겠다.

 

(글자수 : 2000자 이상)

강의 소개 링크 : bit.ly/3cx6kMd

 

딥러닝/인공지능 올인원 패키지 Online. | 패스트캠퍼스

Tensorflow2.0부터 Pytorch까지 딥러닝 대표 프레임워크를 정복하기. 생활 깊숙이 침투한 인공지능, 그 중심엔 딥러닝이 있습니다. 가장 강력한 머신러닝의 툴로서 주목받는 딥러닝은 생각보다 어려

fastcampus.co.kr