머신러닝과 딥러닝/머신러닝

평가 지표 #1-Regression metric

Stat_in_KNU 2021. 2. 22. 17:44

도입

 

평가지표에 대해서 2개의 포스팅을 할 생각입니다! 학습은 학습대로 중요하지만 학습이 얼마나 잘 되었는지 테스트 데이터에 대해서 평가를 함으로써 모델의 실효성을 판단할 수 있습니다.

첫번째 포스팅에서는 Regression metric을, 두번째 포스팅에서는 Classification metric을 다루어보겠습니다!

 


MSE (Mean Squared Error)

일반적으로 가장 많이 쓰이는 회귀에서 평가지표입니다. 실제값과 예측값의 차이 제곱의 평균입니다. 

 

MAE (Mean Absolute Error)

 

실제값과 예측값의 차이를 절댓값으로 변환해서 평균한것입니다.

 

MSEMAE는 어떤 부분이 다를까요?

쉬운 예로,

0과 1사이의 값을 제곱한다고 해봅시다. 0.1을 제곱하면 0.01이 됩니다. 값이 점점 더 작아집니다. 

반대로 큰 값을 제곱하면 굉장히 큰 값이 나오게 됩니다. 결론적으로 MSE는 outlier에 굉장히 민감하고 MAE는 강건한 성질을 가지고 있습니다. 또한, MAE는 직관적인 해석이 가능한 반면 MSE는 직관적인 해석이 힘들어집니다.

MAE도 단점이 있으니 MSE를 사용하겠죠?

MAE는 절대값을 취하기 때문에 모델이 underperformance인지, overperformance인지 알 수 없습니다. 이 말을 다시 해석하면 0이외의 값에서 미분이 가능하긴 하지만, gradient(기울기)가 모두 같기 때문에 

 

RMSE (Root Mean Sqaured Error)

 

MSE의 단점을 보완한 RMSE입니다. MSE에 루트를 씌운 형태입니다. MSE는 오류의 제곱을 구하므로 실제 오류보다 과하게 커지는(또는 과하게 작아지는) 특성이 있어 MSE에 루트를 씌운 RMSE를 사용합니다. RMSE를 사용하면 오류 지표를 실제 값과 유사한 단위로 다시 변환되어 해석을 쉽게하는 효과가 있습니다.

 

MAPE (Mean Absolute Percentage Error)

MAPE는 MAE를 퍼센트로 변환한 것입니다.

MAE와 마찬가지로 특이치에 강건하다는 장점이 있지만, MAE와 같은 단점 또한 가지고 있습니다.

 

RMSLE (Root Mean Square Logarithmic Error)

 

RMSE에 로그를 취해준 형태입니다. log0은 무한대로 수렴하므로 +1을 해주었습니다.

아웃라이어에 robust한 MSE형태라고 생각하면 됩니다.

RMSE와 달리 상대적 Error를 측정해줍니다.

Unser Estimation에 큰 패널티를 부여합니다. 즉, 예측값이 실제값 보다 작을때 패널티를 부여합니다.

 

R2 Score(Coefficient of Determination, 결정계수)

통계학에서 쉽게 접할 수 있는 R2입니다. 회귀선에 의해 설명되는 변동을 전체 변동으로 나누어준 형태입니다.

상대적으로 성능이 얼마나 나오는지를 측정한 지표입니다.  종속변수에 대한 설명변수의 설명력을 알고자 할때 이용합니다.

 

adjusted R2 Score (adjusted Coefficient of Determination, 수정된 결정계수)

결정계수는 종속변수가 많아지면 자연스럽게 커집니다. 이러한 특성을 보완해서 표본의 크기와 독립변수의 수를 고려하여 adjusted R2 Score를 이용합니다.

'머신러닝과 딥러닝 > 머신러닝' 카테고리의 다른 글

평가 지표 #2 - Classification metric  (0) 2021.02.22
XGBoost, LightGBM, CatBoost 정리 및 비교  (0) 2021.02.18
부스팅(Boosting)  (0) 2021.02.15
RandomForest-랜덤포레스트  (0) 2021.02.15
Decision Tree와 CART  (0) 2021.02.15