• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

RMSLE와 RMSE가 skewed된 오류 때문에 다르게 나오는 경우 ...

20.01.22 16:45 작성 조회수 398

0

안녕하세요. 잘 수강하고 있는 학생입니다.

이번 강좌 10분 47초경부터 설명하는

RMSLE(1.165)와 RMSE(약 140)가 다른 이유에 대해서 

설명을 듣고 한번에 잘 이해되지 않아서 질문드립니다.

강의에서 설명해주신 방식의 녹취는 다음과 같습니다.

----

10 47

RMSE 1.165 RMSE 140, MAE 105…

카운트 숫자를 감안하면 개의 수치들이 굉장히 오류치가 높게 나왔어요

특히 이제 RMSLE, 물론 이게 로그 변환을 해서 작아진 것도 있지만 RMSE에 비해서 평균적으로는, 상대적으로 많이 줄어든 수치인데

왜 그러냐면 RMSLE가 1.165고 RMSE는 140이나  나오는 이유는 

이게 오류가 큰 것들 @@가 큰 값에 대해서 잘못된 오류가 나왔는데 그 오류차가 너무 큰 것이다.

오류도 skewed된 형태로 오류가 나와서 큰 것들의 오류가 @@(?)가 큰 것들에 대한 오류가 크게 나오면 RMSE가 상대적으로 RMSLE보다 더 크게 나온다.

---

질문1. RMSLE에 대한 정의를 단순히 RMSE의 로그를 취한 값이라고 알고 있었는데 이 로그는 상용로그인가요? 정의대로 값이 나오지 않아, 이 상황에서 RMSLE를 도출하는 방식이 이해가 되지 않습니다. 

질문2. 이번 자전거 데이터의 경우 오류가 skewed 형태로 되었다고 했는데 위와 같은 상황(단순 logRMSE와 RMSLE가 값이 다른 경우) 의 또 다른 예시가 있을까요?? ㅜㅜ  

오류가 skewed 된 형태란 대표적으로 어떤 상황인지 알고 싶습니다!

질문3. 위 녹취 중에서 @@ 부분에 해당하는 내용을 제가 무엇인지 캐치하지 못했는데 정정해주실 수 있으신가요?

긴 강의 빠짐없이 잘 듣고 있습니다. 감사합니다.

답변 2

·

답변을 작성해보세요.

4

안녕하십니까, 열심히 강의 들어 주셔서 감사합니다.

1. RMSLE는 단순히 RMSE에 로그를 취한 값은 아닙니다. 실제값과 예측값을 모두 상용로그로 변환 한 뒤에 이를 RMSE로 적용한 것입니다. 아래 식은 RMSE와 RMSLE의 식입니다.

RMSLE에 yi 가 아니라 yi + 1을 취한 이유는 yi가 0일때 log yi가 무한대 오류가 발생하므로 +1을 했을 뿐입니다.

일반적으로 RMSE가 아니라 RMSLE를 적용할 때는 평균보다 매우 높은 상위값들의 예측 오류 영향도가 너무 클 때 이를 상쇄하기 위해 적용합니다. 

질문 2, 3: 예측 오류가 Skew 되었다는 의미는 자전거 데이터의 타겟값 분포가 Skew되었다는 의미를 뜻한것은 아니였습니다(물론 관계가 있을 수 있습니다만). 이보다는 예측 오류가 높은 상위 데이터를 조사해 본 결가 타겟값이 큰 데이터들에 대해서 예측오류가 잘못 나오면서 전체 데이터의 RMSE가 매우 커지게 되었다는 의미 입니다. 

예를 들어 100 문제가 출제 되었는데, 난이도와 아무 상관 없이 이들 중 90개 문제의 점수는 각 10점이고 특별한 10개 문제의 점수는 각 100점으로 계산하는 시험문제가 있다고 하겠습니다.(편의상 총점은 100점이 아니라 900+1000=1900점으로 하겠습니다)

100개 문제 중에 아주 시험을 잘봐서 90개의 문제를 맞추었지만 공개롭게도 이들이 모두 10점 짜리 문제라면,  시험을 못봐서 10개만 맞췄는데, 운좋게도 특별한 10개 문제만  다 맞추었다고 한 경우보다 점수가 덜 나오게 됩니다.

RMSE와 같은 회귀 성능 평가에서는 단순히 타겟값 자체가 매우 높은 데이터에 대해서 예측 오류가 발생할 경우 타겟값이 작은 데이터에 대해서 예측 오류가 발생할 경우보다 임팩트가 더욱 크게 됩니다.  이러한 경우는 많은 회귀 분석 상황에서 발생할 수 있습니다. 가령 주택 가격 예측에서도 마찬가지 입니다. 100억 짜리 주택을 90억으로 90%의 예측 정확도로 예측 했지만 오차값은 10억이 나옵니다. 1억짜리 주택을 5천만원으로 50%의 예측 정확도로 예측 하였지만 오차값은 5천만원에 불과 합니다.

또한 비교적 정확한 예측성능을 가진 모델이라도 높은 타겟값을 가진 데이터를 잘못 예측하게 되면 RMSE값이 높아지게 됩니다. 더욱이 자전거 모델은 높은 타겟값을 가진 일부 데이터에 대해서 예측 정확도가 좋지 않아서 매우 높은 예측 오류값을 가지게 되고 이것이 전체 RMSE 값을 상대적으로 높이게 되었습니다.

따라서 타겟값과 예측값을 먼저 로그 변환 하여 숫자 자체의 스케일링을 변환 한 뒤에 오류값을 반영한다면 이러한 영향력을 크게 감소 시킬 수 있습니다. 이러한 맥락에서 자전거 모델의 경우, RMSLE값을 감안하면 RMSE값이 매우 크다는 의미였고, 결과적으로 몇개의 매우 높은 예측 오류값으로 인해 RMSE가 높아져서 예측 오류가 Skew 되었다는 의미로 말씀드린 것입니다. 자전거 데이터 자체의 Skew와는 거리가 있습니다.

감사합니다.

 

0

질문 2는 오류가 skewed 된 것이 아니라, 단순히 타겟 데이터셋이 skewed 된 상황을 가리키는 말이었을까요? (처음 히스토그램으로 확인할 때 우측 롱테일로 확인되는 그 상황)