수식이 나오지 않는다면 새로고침(F5)을 해주세요
모바일은 수식이 나오지 않습니다.
보통 우리가 알기론 train set, test set로 나누어 모델을 학습, 평가합니다. 그런데 이를 제외하고 validation set
를 추가하는 경우가 있습니다. 왜 일까요?
📌 MSE 그리고 validation set
우선 우리가 모델 학습의 성능을 보기위해 보는 MSE(Mean square error)
에 대해 봅시다. 식과 같은 경우
$$
MES(\hat{f}) = \frac1n\sum^n_{i=1}(y_i - \hat{f}(\textbf{x}_i))^2
$$
이렇게 이루어 집니다. 즉, 예측을 잘 못할수록 값이 커지는 구조이죠.
자 여기서 우리가 training data와 이와 관련 없는 test data가 있다고 해봅시다.
- training data : ${(y_1,\textbf{x}_1),...,(y_n,\textbf{x}_n)}$
- testing data : $(y_0, \textbf{x}_0)$
이 때 각각 training MSE, Test MSE를 아래와 같이 봅시다.
$$
training \ MSE(\hat{f}) = \frac1n\sum^n_{i=1}(y_i - \hat{f}(\textbf{x}_i))^2
\\ test \ MSE(\hat{f}) = Ave(y_0-\hat{f}(\textbf{x}))^2
$$
다르게 썻지만 사실 같은 걸 알수있습니다!. 만약 모델이 상대적으로 유연하다면 당연히 training MSE는 작은 값을 지닐 것 입니다. 예측을 그만큼 잘한다는 뜻이니까요.
하지만 우리는 과적합
에 대해서 볼 필요가 있습니다. training set에서 꾸준히 MSE가 좋게 나올수 밖에 없습니다. 모델을 위해 어떠한 파라미터를 추가로 넣어준다면 당연히 training set에 한해서 분산을 더욱 많이 설명할 것이고, 이는 MSE의 감소로 나타납니다.
하지만 test MSE의 경우 그렇지 못합니다. 일정 수준이 넘어가면 training set에 과적합 되어버려서 test data의 분산은 설명하기 어려워 지는 것이죠. 그러니까 결국 우리는 train MSE가 가장 작은 값을 찾는 모델을 볼 것이 아니라 test MSE를 가장 작게 만드는 모델을 보아야 합니다.
이를 위해서 validation set
를 이용하는 겁니다. train set로 모델을 학습시키고, validation set를 이용하여 성능을 평가하며하이퍼 파라미터를 조정합니다. test set로 최종 모델의 성능을 평가합니다.
그래프를 한번 보겠습니다. 회색선이 training MSE, 빨간선이 validation MSE입니다. Flexibility가 증가함에 따라 training MSE는 계속해서 낮아지지만, validation MSE의 경우 대략 5~에서 다시 올라가는 것을 볼 수 있습니다. 이를 통해 우리는 Flexibility가 대략 5일 때의 모델 하이퍼 파라미터를 사용한다고 결정하는 겁니다.
'📊 Statistics for Basic > 통계 학습(Statistical learning)' 카테고리의 다른 글
손실함수와 회귀식 (0) | 2023.10.12 |
---|---|
편향과 분산 : trade off와 MSE의 관계 (0) | 2023.10.12 |
로지스틱 회귀(Logistic Regression) (0) | 2023.10.12 |
전진 단계적 선택(Forward stepwise), 후진 단계적 선택(Backward stepwise) (0) | 2023.10.12 |
Leave-one-out 교차 검증과 K-fold 교차 검증 (0) | 2023.10.12 |