본문 바로가기
ISLR

Ch05 Resampling Methods - k-fold Cross Validation

by 지식광부키우기 2019. 9. 30.

 

k-fold Cross Validation

 

LOOCV는 계산이 오래 걸립니다. 따라서 k-fold Cross Validation을 대신 사용합니다.

 

k-fold Cross Validation은 데이터 셋을 k개의 다른 파트로 나눕니다 (K = 5 또는 K = 10 같은)

 

제일 처음의 part를 제거하고 남아있는 K-1 개의 파트에 모델을 적합시킵니다. 그러고 나서 남은 파트의 예측이 얼마나 좋은지 평가합니다(맨 처음 part의 MSE를 계산합니다.)

 

위의 과정을 K 번 반복합니다. 다른 part들을 각각 실행해 주면 됩니다.

 

K개의 다른 MSE들의 평균을 구함으로써 추정 validation (test) error rate를 구합니다.

 

$CV_{(k)} = \frac{1}{k}\sum_{i = 1}^{k} MSE_{i}$

 

그림 1

 

Auto Data: LOOCV vs k-fold CV

 

왼쪽은 LOOCV error curve입니다.

 

오른쪽은 10-fold CV를 여러 번 시행했습니다. 결과를 보면 살짝씩 CV error rates가 다릅니다.

 

LOOCV는 k  = n인 k-fold의 특이 케이스입니다. 

 

둘 다 안정적이지만 LOOCV는 더 많은 계산을 필요로 합니다.

 

그림2

 

Auto Data: Validation Set Approach vs k-fold CV

 

왼쪽은 Validation Set Approach입니다.

 

오른쪽은 10-fold Cross Validation Approach입니다.

 

10-fold CV가 더 안정적입니다.

 

그림 3

 

K-fold Cross Validation on Three Simulated Date

 

그림 4

 

Blue: True Test MSE

Black: LOOCV MSE

Orange: 10-fold MSE

 

 

Bias-Variance Trade-off for k-fold CV

 

k-fold CV보다 LOOCV는 계산이 훨씬 많습니다. 그렇다면 LOOCV와 K-fold CV 중에 어떤 것이 더 좋을 까요?

 

LOOCV는 k-fold CV보다 덜 편향적입니다(k < n 일 때)

 

LOOCV는 k-fold CV보다 더 높은 분산을 가집니다. (k < n 일 때)

 

따라서 사용 시 trade-off를 고려해야 합니다.

 

 

k-fold 결론

 

보통 k-fold CV를 사용하는 경향이 있습니다. (K = 5 그리고 K = 10)

 

물론 다른 K들도 얼마든지 설정할 수 있습니다.

 

경험적으로 k-fold CV는 극도로 높은 bias나 매우 높은 variance로 고생하지 않는 test error rate를 추정합니다.

 

 

Cross Validation on Classification Problems

 

지금까지 회귀 문제에서 CV를 다뤄봤습니다.

 

비슷한 방법으로 분류 문제에서도 CV를 사용할 수 있습니다.

 

데이터를 K parts로 나누기

 

한 part를 빼고, 나머지 데이터를 사용하여 적합한 뒤 error rate를 남은 data에 적용시키기

 

K 번 반복하기

 

CV error rate는 위에서 계산한 K errors의 평균입니다.

 

 

CV to Choose Order of Polynomial

 

데이터 셋을 시뮬레이트 합니다.

 

purple dashed line은 Bayes'boundary입니다.

 

그림 5

 

자유도가 1인 선형 로지스틱 회귀는 Bayes'decision boundary에 적합시킬 수 없습니다.

 

Quadratic 로지스틱 회귀는 선형보다 더 낫습니다.

 

그림 6

 

cubic과 quartic predictors를 사용하여 모델 정확도를 증가시킵니다. 

 

그림 7

 

CV to Choose the Order

 

 

그림 8

 

Brown: Test Error

Blue: Training Error

Black: 10-fold CV Error

댓글