인프런 커뮤니티 질문&답변
RMSE와 MAE 간의 괴리에 대해서 질문이 있습니다
작성
·
686
0
안녕하세요.
잦은 질문 작성으로 강사님을 번거롭게 하는 게 아닌가 싶습니다만 (ㅜㅜ)
강좌 수강 후 rmse 와 mae 와 같은 회귀 평가 지표들을 실습하면서 의문점이 생겨서 질문드립니다.
회귀예측의 데이터가 누군가의 급여, 집값 예측 등과 같은 경우를 예시로 들겠습니다.
이때 타겟값이 우리가 실생활에서 사용하는 값이기 때문에 (가격)
잔차값 또한 1000$나 1300$와 같이 우리가 직관적으로 이해하게 되지 않습니까? ("모델이 1300$나 틀렸군...")
이때 rmse를 평가지표로 활용하게 되면 rmse의 공식상 루트 안에 1/n이 들어가서 단순히 평균을 내는 값과는 조금 차이가 생긴다고 이해하고 있습니다 (반면 mae는 잔차가 1000$면 mae도 1000$로 나오겠지요)
루트 n으로 나누기 때문에 rmse가 필연적으로 mae보다 값이 크고요.
이 상황에서 제가 생각했을 때는 보다 잔차의 파악이 직관적인 mae를 평가지표로 삼는 게 괜찮은 방안 같은데,
rmse가 평가지표로 인기있고 의미있는 이유가 무엇인지 궁금합니다.
늘 감사합니다.
답변 1
0
안녕하십니까,
질문은 언제나 환영입니다. ^^
저도 rmse가 mae보다 더 나은 지표라고는 생각하지 않습니다. rmse가 지표로 사용될 상황 , mae가 지표로 사용될 상황이 조금씩 다릅니다.
계산을 해보셔서 아시겠만 rmse가 mae보다 일반적으로 큽니다. rmse는 큰 오류값 차이에 대해서 크게 penalty를 주는 방식입니다. 즉 작은 오차 9개가 있고, 9개의 작은 오차보다 훨씬 큰 오차가 1개 있으면 일반적으로 mae보다 큰 값이 나옵니다.
rmse 계산식이 오차의 제곱 값에 평균을 취한 뒤에(1/n)에 루트를 씌우기 때문에 이렇게 큰 오차가 있으면 mae 보다 값이 커지게 됩니다. 따라서 큰 오차가 발생하면 여기에 penalty를 더 주어야 하는 업무에 사용되는 것이 맞습니다. 그렇지 않은 업무의 경우 mae가 더 유용할 수 있습니다.
그럼에도 머신러닝에서 rmse가 평가 지표로 인기 있는 이유는 RMSE가 머신러닝에서 오차의 최소값을 찾는 Gradient Descent 기법의 기반이기 때문 아닌가도 싶습니다.
요약하자면 MAE, RMSE를 상황에 맞는 업무의 지표로 적용하는 것이 좋으며, 일반적으로 RMSE는 큰 오차값에 Penalty를 부여하는 성격이 있으므로 RMSE보다 RMSLE와 같이 Log 변환을 적용하는 지표를 사용하는 추세입니다.
감사합니다.





