평균 제곱근 오차 (RMSE, Root Mean Square Error)

핸즈온 머신러닝 2

회귀 문제의 전형적인 성능 지표로서 오차가 커질수록 값이 커짐으로서 얼마나 많은 오류가 있는지 가늠하게 해준다.

wikipedia

추정 값 또는 모델이 예측한 값과 실제 환경에서 관찰되는 값의 차이를 다룰 때 흔히 사용되는 측도이다.

RMSE 식

\[RMSE(\hat{\theta}) = \sqrt{MSE(\hat{\theta})} = \sqrt{E((\hat{\theta}-\theta)^2)}\; \;, \; \; \; \; \theta_{1} = \begin{bmatrix} x_{1, 1} \\ x_{1, 2} \\ \vdots \\ x_{1, n}\end{bmatrix} \; \; \; \; and \; \; \; \; \theta_{2} = \begin{bmatrix} x_{2, 1} \\ x_{2, 2} \\ \vdots \\ x_{2, n}\end{bmatrix}\] \[RMSE(\theta_{1}, \theta_{2}) = \sqrt{MSE(\theta_{1}, \theta_{2})} = \sqrt{E((\theta_{1} - \theta_{2})^2)} = \sqrt{\frac{\sum_{i=1}^{n}(x_{1, i} - x_{2, i})^2}{n}}.\]

해석

위 식은 처음 보면 어려울 수 있어 핸즈온 머신러닝 2에 써져있는 수식을 가져와서 쓰겠다.

\[RMSE(X, h) = \sqrt{\frac{1}{m}\sum_{i=1}^{m}(h(x^i)-y^i)^2}\]
  • X = 데이터셋에 있는 모든 샘플의 모든 특성값을 포함하는 행렬
  • m = 데이터셋 샘플 수
  • $ x^{i} $ 는 데이터셋에 있는 i번째 샘플의 전체 특성값의 벡터이다.
  • $ y^{i} $ 는 해당 레이블(해당 샘플의 기대 출력값)이다.
  • h = 시스템의 예측 함수이며 가설이라고도 한다.
    • $ h(x^{i}) $ 은 $ x^{i} $ 벡터를 예측 함수에 넣었을 때 출력하는 예측값이다.
\[h(x^{(i)}) = \hat{y}^{(i)} \;\; , \;\;\;\; \sqrt{\frac{1}{m}\sum_{i=1}^{m}(\hat{y}^{(i)}-y^{(i)})^{2}}\]

$ \hat{y}^{(i)} $ 는 에측 값이며 $ y^{(i)} $ 는 기대 출력값이다.
두 값을 빼면 예측 오차를 얻을 수 있다.

따라서 예측 오차가 커질수록 1부터 m 까지(모든 샘플 수) 예측 오차의 합의 제곱은 더욱 커진다.


참고문헌

1) wikipedia, 평균 제곱근 편차, https://ko.wikipedia.org/wiki/평균_제곱근_편차