Back to posts

MAE, MSE, RMSE 비교

회귀 문제에서 자주 쓰는 오차 지표 MAE, MSE, RMSE의 의미, 차이, 선택 기준을 예시와 함께 정리했다.

2026년 2월 18일

들어가며

회귀 문제를 다룰 때 모델 성능을 평가하는 대표 지표가 MAE, MSE, RMSE다. 세 지표 모두 “예측값과 실제값이 얼마나 다른가”를 보지만, 큰 오차를 다루는 방식이 다르다. 이 글에서는 각 지표의 의미와 차이를 짧고 명확하게 정리한다.

먼저: 오차(error)란?

하나의 샘플에서 오차는 다음처럼 정의한다.

ei=yi−y^ie_i = y_i - \hat{y}_i
  • e가 0이면 완벽한 예측
  • 절댓값 |e|가 클수록 예측이 많이 빗나감

MAE, MSE, RMSE는 이 오차들을 데이터 전체에서 평균내는 방식이 다르다.

MAE (Mean Absolute Error)

MAE=1n∑i=1n∣yi−y^i∣\mathrm{MAE} = \frac{1}{n}\sum_{i=1}^{n}\left|y_i - \hat{y}_i\right|

해석

  • 오차의 절댓값 평균
  • "평균적으로 얼마나 틀렸는지"를 직관적으로 보여줌

특징

  • 이상치(outlier)에 상대적으로 덜 민감
  • 단위가 원래 타깃과 동일함 (예: 원, kg, °C)

MSE (Mean Squared Error)

MSE=1n∑i=1n(yi−y^i)2\mathrm{MSE} = \frac{1}{n}\sum_{i=1}^{n}\left(y_i - \hat{y}_i\right)^2

해석

  • 오차를 제곱한 뒤 평균
  • 큰 오차에 더 큰 패널티를 줌

특징

  • 이상치에 민감
  • 미분이 매끄러워 최적화(gradient-based optimization)에 자주 사용
  • 단위가 제곱 단위가 되어 직관성이 떨어질 수 있음

RMSE (Root Mean Squared Error)

RMSE=MSE=1n∑i=1n(yi−y^i)2\mathrm{RMSE} = \sqrt{\mathrm{MSE}} = \sqrt{\frac{1}{n}\sum_{i=1}^{n}\left(y_i - \hat{y}_i\right)^2}

해석

  • MSE에 루트를 씌워 다시 원래 단위로 복원한 값
  • 큰 오차에 민감한 성질은 MSE와 거의 동일

특징

  • 단위가 원래 타깃과 같아 해석이 쉬움
  • 실무 리포트에서 MSE보다 RMSE가 더 자주 쓰임

간단 예시

실제값과 예측값이 다음과 같다고 하자.

  • y_true = [3, -0.5, 2, 7]
  • y_pred = [2.5, 0.0, 2, 8]

오차는 [0.5, -0.5, 0, -1]이다.

  • MAE = (0.5 + 0.5 + 0 + 1) / 4 = 0.5
  • MSE = (0.25 + 0.25 + 0 + 1) / 4 = 0.375
  • RMSE = sqrt(0.375) ≈ 0.612

이 예시에서도 RMSE가 MAE보다 큰데, 제곱으로 인해 큰 오차의 영향이 커졌기 때문이다.

언제 무엇을 쓰면 좋을까?

상황추천 지표이유
이상치가 꽤 많고, 평균적인 오차 크기를 보고 싶을 때MAE이상치 영향이 상대적으로 작음
큰 오차를 강하게 억제하고 싶을 때MSE 또는 RMSE제곱 패널티로 큰 오차를 더 크게 반영
결과를 비즈니스 단위로 쉽게 설명해야 할 때MAE 또는 RMSE원래 단위 그대로 해석 가능
모델 학습 loss 함수로 사용할 때MSE미분 특성이 좋아 최적화에 유리

즉, 큰 실수를 강하게 벌주고 싶다면 MSE/RMSE가 더 빠르게 반응한다.

마치며

  • MAE: 평균적으로 얼마나 틀렸는지
  • MSE: 큰 오차를 더 강하게 벌주는 지표
  • RMSE: MSE의 성질을 유지하면서 해석 단위를 복원한 지표

실무에서는 단일 지표만 보지 않고, MAE + RMSE를 함께 확인하면 모델의 오류 분포를 더 입체적으로 이해할 수 있다.