더북(TheBook)

2.3.4 보스턴 주택 문제를 정확하게 정의하기

이제 원하는 형태로 데이터를 준비했으므로 작업을 조금 더 정확하게 정의할 차례입니다. 다른 특성을 사용해 MEDV 특성을 예측하려고 하지만, 어떻게 잘하고 있는지 판단할 수 있을까요? 어떻게 좋은 모델과 훨씬 더 좋은 모델을 구별할 수 있을까요?

첫 번째 예제에서 사용한 척도는 모든 오류를 동일하게 취급하는 meanAbsoluteError입니다. 열 개의 샘플이 있을 때 열 개 모두에 대한 예측을 만들어 아홉 개는 맞추고 열 번째는 30만큼 벗어났다면 meanAbsoluteError는 3이 됩니다(30/10은 3이기 때문입니다). 이와 달리 모든 샘플에 대한 예측이 3만큼 벗어났어도 meanAbsoluteError는 여전히 3입니다. 이 ‘오류 평등’ 원칙은 올바른 선택처럼 보일 수 있지만 meanAbsoluteError 대신 다른 손실을 선택해야 할 이유가 있습니다.

또 다른 방식은 작은 에러보다 큰 에러에 가중치를 주는 것입니다. 오차 절댓값의 평균을 구하는 대신 오차 제곱의 평균을 사용할 수 있습니다.

앞에서처럼 열 개의 샘플을 예로 들어 비교해 보죠. 평균 제곱 오차(mean squared error, MSE) 방식은 하나의 샘플이 30만큼 벗어난 것(1 × 302 = 900)보다 모든 샘플이 3만큼 벗어났을 때(10 × 32 = 90) 더 작은 손실을 만듭니다. 큰 오류에 대한 민감성 때문에 제곱 오차는 절댓값 오차보다 이상치에 더 민감할 수 있습니다. MSE를 최소화하기 위해 모델을 훈련하는 옵티마이저는 이따금 매우 큰 실수를 하는 모델보다 체계적으로 작은 실수를 저지르는 모델을 선호할 것입니다. 당연히 두 오류 척도는 실수가 전혀 없는 모델을 선호합니다! 하지만 애플리케이션이 올바르지 않은 이상치에 민감할 수 있다면 MSE가 MAE보다 나은 선택입니다. MSE나 MAE를 선택해야 하는 기술적인 다른 이유가 있지만 지금은 중요하지 않습니다. 이 예에서는 다양한 예시를 위해 MSE를 사용하지만 MAE를 사용해도 충분합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.