본문 바로가기

R-PAGO 노트

검정오차(test error)가 중요한 이유

Key Questions

예측모델을 빌딩하다 보면 다음의 Key Questions에 직면하게 된다. 1. 참값(f)이 선형적이지 않는데 예측은 선형회귀로 추정한다면 예측에 한계가 있지 않을까? 2. 가지고 있는 데이터를 잘 설명하는 모델을 찾았다고 해서 이 모델이 현재 미확보 데이터나 미래의 데이터도 잘 설명한다 어떻게 말할 수 있을까? 3. 보유한 데이터의 샘플에 따라 추정값의 변동이 크다면 어떤 모델을 사용해야 변동폭과 상관없이 사용할 수 있을까?

이 3 가지 질문은 이전 글 다중선형회귀 모델의 변수 선택을 위한 최종 Guideline에서 설명했고 그 해결책으로 교차검증을 제시했다. 그러나 상기 의문의 답의 이론적 배경을 이해한다면 향후 여러가지 예측 모델을 마스터한 후 모델 선택의 기로에 섰을 때 이것이 의사결정의 주요 고려사항이 될 수 있을 것으로 판단 된다. 따라서 이 글에서는 훈련오차와 검정오차의 차이점과 교차검증의 배경에 대해 자세히 설명하고자 한다.

훈련오차 vs 검정 오차

오차는 당연히 실제값과 추정값의 차이와 관계있다. 회귀 분석에서의 오차는 일반적으로 MSE(mean squared error, 평균제곱오차)를 사용한다. 확보된 전체 데이터 중에 모델식을 찾기 위해 사용되는 데이터를 훈련데이터(training set)라 하고 훈련데이터에 포함 되지 않은 나머지 데이터를 검정데이터(test set)라 한다. 따라서, 훈련오차란 훈련데이터로 구한 모델의 추정값과 실제값의 차이로 구한 MSE임은 명확해 진다. 그러나 검정오차는 훈련오차의 이런 정의와 조금 다르다. 그 이유는 검정오차의 목적이 ’훈련데이터로 구한 모델이 얼마나 일반화하여 사용할 수 있는 추정값인가’이기 때문이다. 따라서 검정오차는 훈련데이터로 구한 모델에 검정데이터를 적용했을 때의 추정값과 실제값의 차이로 구한 MSE를 말하게 된다. 당연히 훈련 MSE는 항상 검정 MSE보다 작을 것임을 알 수 있다.

이 정의에 따르면 과적합(overfitting)이란 훈련MSE와 검정MSE간의 차이가 일반적인 경우보다 심하게 큰 경우를 말한다. 반대로 과소적합(underfitting)은 훈련 MSE가 클 때를 말한다. 과적합은 훈련MSE 값을 줄이기 위한 지나친 노력으로 인해 발생하며 이렇게 얻은 모델은 오히려 검정MSE를 크게 한다. 이 시점에서 훈련오차를 너무 작게 하는 것이 과적합이라면 검정오차를 작게 하는 모델을 찾는 것이 궁극적으로 찾아야할 방법인가?라는 가설이 생긴다. 이 가설을 증명하기 위해서는 알 수 없는 참값(f), 실제값, 훈련오차, 검정오차간의 관계를 살펴봐야 한다.

그림 없음 (ISLR Figure 2.9)


그림 없음 (ISLR Figure 2.10) 

그림 없음 (ISLR Figure 2.11)

참값(f)에 오차(e)를 고려한 것을 실제값(y)이라 하자. 위의 3가지 왼쪽 그래프의 검정색 곡선은 참값(y)이 각각 약한 유연성(Fig. 2.9), 선형(Fig. 2.10), 강한 유연성(Fig.2.11)일 때를 나타낸다. 그리고 파란색, 오렌지색, 녹색 곡선은 만약 참값을 알지 못한채 추정을 각각 약한 평활스플라인(smoothing spline), 선형, 강한 평활스플라인으로 추정했을 때를 나타낸다.

또한 위 오른쪽 그래프 3가지는 훈련MSE(회색)와 검정MSE(빨간색)가 자유도(Flexibility)에 따라 어떻게 차이가 나는지를 보여준다.(자유도는 각각 약한 평활스플라인=5, 선형=2,강한 평활스플라인=22 이다.) 오른쪽 그래프의 점선은 축소불가능(irreducible)한 오차의 분산으로 1을 나타낸다. 이것은 검정MSE가 작을 수 있는 최소값에 해당한다.

위 그래프를 표로 나타내면 다음과 같다.

그림 없음 그림 없음 그림 없음

결론 1

  • 훈련오차는 참값과 관계 없다. - 검정오차를 최소화하는 것이 참값과 관계 있다.
  • 검정오차와 훈련오차의 차이가 이전보다 작아졌다면면 대체로 참값과 가까워진다할 수 있으나 반드시 그런 것은 아니므로 주의해야한다.
  • 선형모델 예측은 참값이 스플라인일 때 과소적합되며 특히 참값의 평활도가 클수록 과소적합이 심해진다.
  • 약한 평활 스플라인으로 예측하면 어떠한 참값의 경우와 상관없이 근사한 값을 얻을 수 있어 보이나 약한 정도가 얼마인지를 알 수 없는 것이 문제다.

교차검증의 신뢰성

그림 없음

‘그림 없음’

따라서 검정오차를 추정하고 최소화하는 것은 최적의 모델을 찾는데 가장 중요한 기준임을 알 수 있다. 교차검증은 LOOCV와 n-folds CV가 주로 사용되며 훈련 데이터를 사용하여 검정MSE를 추정하는 방법이다. 그렇다면 교차검증의 신뢰성은 어느 정도일까? 상기 그래프는 실제 검정MSE대비(파란색)하여 LOOCV와 10-fold CV 추정치의 관계를 보여준다.

결론 2

  • 교차검증에 의한 추정MSE는 참값의 MSE와 밀접한 관계를 가진다. 이것이 교차검증을 하는 이유이다.
  • 10 fold CV는 LOOCV 대신 사용해도 무방하다.
  • 물론, 교차검증의 자유도가 참값(f)의 자유도와 정확하게 일치하지 않는다.
  • 따라서, 교차검증을 통해 구한 최소추정 MSE에 해당하는 자유도와 그것과 큰 차이가 나지 않는 자유도를 가진 모델을 최적 모델의 후보로 선정하자.