nan + nan = 2nan

[통계] MSE / MAE / RMSE 본문

Statistics

[통계] MSE / MAE / RMSE

2nan 2022. 5. 27. 13:28
728x90

 

M/L 모델들을 다루고 평가하면서, 평가 지표로서 이용되는 MAE, MSE 등을 보았다.

부동산 가격 예측 프로젝트 당시에도 어떤 지표들을 사용해야 하는지 잘 몰라서 강사님께 여쭤봤을 때는, 보통 가격 예측 모델에서는 MAE를 쓴다라고만 들었다.

찾아보니 지표들은 크게 다르지 않지만, 이상치에 민감하거나 도메인 특성에 따라 다르게 적용을 하기 때문에 정확한 정답은 모르겠지만, 자주 사용하는 지표들에 대해서 알면 좋을 것 같다는 생각이 들었다.

이번에는 회귀 모델에 주로 쓰이는 손실함수 3가지에 대해 알아보려고 한다.

 


 

1. MSE (평균제곱오차)

MSE(Mean Squared Error)

 

MSE추정된 값과 실제 값 간의 평균 제곱 차이를 의미한다.

주로 회귀에서 사용되는 손실 함수이며, 정확도 개념은 회귀에 적용되지 않는다고 한다.

일반적인 회귀 지표는 MAE이며, MSE는 손실 함수로 쓰이고 MAE는 회귀지표로써 사용된다.

손실함수예측 값과 실제 값의 차이를 확인하는 함수로 이해하면 될 것 같다.

즉, 모델이 데이터를 얼마나 잘 표현하지 못 하는가를 나타내는 지표라고도 본다.

 

장단점은?

장점 :

  • 실제 정답에 대한 정답률의 오차뿐만 아니라 다른 오답에 대한 정답률의 오차도 포함하여 계산해준다.
  • MAE와 달리 최적값에 가까워질수록 이동값이 다르게 변화하기 때문에 최적값에 수렴하기 용이하다.
  • 모든 함수 값에서 미분이 가능하다.
    • - 모든 값에서 미분이 가능하다는 것은 어떤 장단점이 있을까? 

 

단점 :

  • 값을 제곱하기 때문에 절댓값이 1미만인 값은 더 작아지고, 1보다 큰 값은 더 커지는 왜곡이 발생할 수 있다.
  • 제곱하기 때문에 이상치의 영향을 많이 받는다.

 


 

2. MAE (평균 절대 오차)

MAE (Mean Absolute Error)

 

MSE는 제곱의 합을 평균냈다라고 하면, MAE는 오차의 절대값의 합을 평균낸 지표이다.

제곱을 한 MSE와는 달리 절대값을 평균낸 값이기 때문에 아무래도 전체 흐름을 쉽게 파악할 수 있다. 또한, 제곱을 한 값과는 달리 절대값을 취했기 때문에 이상치에 민감하지 않다는 특징이 있다.

 

장단점은?

장점:

  • 전체 데이터의 학습된 정도를 쉽게 파악할 수 있다.
  • 이상치에 민감하지 않다.

단점:

  • 어떤 식으로 오차가 발생했거나 음수인지 양수인지 알 수 없다.
  • 최적값에 가까워졌다고 하더라도 이동거리가 일정하기 때문에 최적값에 수렴하기 어렵다.
  • 함수 값에 미분 불가능한 지점이 있다.
    • MSE와 마찬가지로, 미분 불가능한 지점이 있다는 것이 어떠한 영향을 미치는가?

 


 

3. RMSE(평균 제곱근 편차)

RMSE (Root Mean Square Deviation)

 

간단히 MSE 값에 루트를 씌웠다라고 생각하면 쉽진 않지만 쉽다.

해당 지표는 정밀도를 표현하는데 적합하다는데, 왜 그럴까에 대해서는 공부를 해나가면서 파악해보도록 해야겠다.

 

장단점은?

장점:

  • MSE에서 루트를 취하기 때문에, MSE의 단점이 어느 정도 해소되는 부분이 있다.
  • MSE보다 이상치에 덜 민감하다. 이상치에 대한 민감도가 MSE보단 적고 MAE보단 크기 때문에 이상치를 적절히 잘 다룬다고 간주되는 경향이 있다고 한다.

단점:

  • MSE는 부드러운 곡선형으로 오차함수가 그려지는 반면, MSE에 루트를 취한 값이기 때문에 미분 불가능한 지점을 갖는다.
    • 간혹, 미분이 가능하다라는 내용도 있는데 미분 다시 공부하고 왜 그런지 파악해보자

 


Summary)

 

- MSE는 이상치에 대해 너무 민감하여 모델의 학습을 불안정하게 만들 가능성이 크다. 이러한 불안정함은 모델의 fitting을 방해해 목적에 맞는 좋은 성능의 모델을 얻는데 영향을 끼칠 가능성이 크다.

 

- RMSEMAE에는 어떤 차이가 있는가?

 

  가장 큰 것은 오차에 대한 가중치가 다르다. RMSE각 오차가 다른 가중치를 갖는 것에 비해, MAE각 오차에 동일한 가중치를 부여한다. 그렇기 때문에 이상치가 있는 경우, MAE는 이상치 또한 동일하게 가중치를 두어 비교적 loss 값이 낮게 나오지만, RMSE비교적 크게 나타난다. MSE는 말할 것도 없을 것이다.

 

- 언제 어떤 지표를 사용해야 하는가?

 

  • MAE 

약간의 이상치가 있는 경우, 이상치에 대한 영향을 줄이면서 모델을 만들고 싶다면 MAE를 사용하면 된다. 이상치를 포함한 훈련 데이터로 fitting을 하게 되기 때문에 overfitting을 방지하는데 도움이 될 수 있다고 한다.

  • MSE

이상치에 민감하게 반응하여 학습하기 때문에, 손실 함수가 이상치에 의해 발생한 오차로부터 영향을 많이 받게 된다. 이 과정에서 이상치까지 고려하여 모델 일반화가 이루어질 수 있다. 다만, 경우에 따라 이상치를 포함하여 일반화를 해야 할 때가 있고 무시하고 일반화해야 할 때도 있는데 경우에 따라 다르게 평가될 것 같다.

  • RMSE

MSE보다 이상치에 대해 상대적으로 둔감하지만 MAE보다는 크기 때문에 어느 정도는 민감하다고 간주될 수 있다. 그렇기 때문에 이상치에 가중치를 부여하고 싶다면 MSE보다는 RMSE를 사용하는 것이 적절할 수 있다.

 


※ 해당 글은 아래 링크의 글을 참고해 작성했습니다.

자세한 부분은 아래 블로그를 참조하시길 바랍니다.

 

1. 언제 MSE, MAE, RMSE를 사용하는가?

https://jysden.medium.com/%EC%96%B8%EC%A0%9C-mse-mae-rmse%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-c473bd831c62

 

언제 MSE, MAE, RMSE를 사용하는가?

제목에 열거한 RMSE, MSE, MAE는 딥러닝 모델을 최적화 하는 데 가장 인기있게 사용되는 오차 함수들이다. 이번 포스팅에서는 (1) 이들의 특징을 알아보고, (2) 이 3 가지 손실 함수를 비교 분석해본다

jysden.medium.com

 

2. 평균제곱오차(MSE), 평균절대오차(MAE)

https://velog.io/@yuns_u/%ED%8F%89%EA%B7%A0%EC%A0%9C%EA%B3%B1%EC%98%A4%EC%B0%A8MSE-%ED%8F%89%EA%B7%A0%EC%A0%88%EB%8C%80%EC%98%A4%EC%B0%A8MAE

 

평균제곱오차(MSE), 평균절대오차(MAE)

MSE, MAE, 손실함수와 머신러닝.

velog.io

 

Comments