본문 바로가기
Machine Learning

Chapter 5. Resampling Methods(재표본추출 방법)

by Mi.Ro 2023. 8. 28.

Textbook : An Introduction to Statistical Learning

 

Cross-Validation(교차검증)

Validation Set Approach

  • 관측치들을 임의로 두 부분, training set과 test set으로 나눔

 

LOOCV(Leave-One-Out C-V)

  • 하나의 관측치 \((x_1, y_1)\)가 검증셋으로 사용되고 나머지 관측치는 훈련셋을 구성
  • 위를 n번 반복해서 n개의 MSE를 얻어서 평균치를 사용

$$CV_{(n)}=\frac{1}{n}\sum_{i=1}^{n}MSE_i$$

  • 검증셋 기법과 비교해 편향이 훨씬 작고 여러 번 수행해도 항상 동일한 결과가 얻어지는 장점이 있음.
  • 모델을 n번 fitting해야 하므로 계산시간이 오래 걸린다.

 

K-fold C-V

  • 관측치를 임의로 크기가 거의 같은 k개의 그룹(fold)으로 분할해서 첫번째 fold를 검증셋으로 사용한다.
  • 위를 각 fold에 대해 k번 반복해서 k개 MSE의 평균치를 사용

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

  • LOOCV는 k=n인 k-fold CV의 특별한 경우
  • 보통 k=5 또는 10을 사용. 
  • LOOCV에 비해 계산적인 장점이 있고 검정오차율을 보통 더 정확하게 추정 - LOOCV는 편향이 거의 없지만 n개 모델의 결과를 평균할때 각 모델은 거의 동일한 관측치의 훈련셋으로 구성되므로 상대적으로 상관성이 낮은 값의 평균인 k-fold의 검정오차 추정치보다 분산이 더 큰 경향이 있다.

Bootstrap

  • 모집단에서 독립적인 데이터셋을 반복하여 얻는 대신 원래의 데이터셋으로부터 중복을 허용하여 관측치를 반복적으로 추출

 

연습문제 풀이

1. 분산의 기본적 통계적 성질을 이용하여 (5.6)을 유도하여라.

(5.6)

$$\alpha=\frac{\sigma_Y^2-\sigma_{XY}}{\sigma_X^2+\sigma_Y^2-2\sigma_{XY}}$$

$$Var(\alpha X+(1-\alpha)Y)=\alpha^2Var(X)+(1-\alpha)^2Var(Y)+2\alpha(1-\alpha)Cov(X,Y)$$

$$=\alpha^2\hat{\sigma_X}+(1-\alpha)^2\hat{\sigma_Y}+2\alpha(1-\alpha)\hat{\sigma_{XY}}$$

$$min(Var(\alpha X+(1-\alpha)Y))\Rightarrow \frac{\partial Var(\alpha X+(1-\alpha)Y) }{\partial \alpha}=0$$

 

$$\hat{\alpha}=\frac{\sigma_Y^2-\sigma_{XY}}{\sigma_X^2+\sigma_Y^2-2\sigma_{XY}}$$

 

2. n개의 관측치의 셋으로부터 bootstrap 표본을 얻기

(a) 첫번째 bootstrap 관측치가 원래 표본의 j번째 관측치가 아닐 확률?

→ 1-1/n

(b) 두번째 bootstrap 관측치가 원래 표본의 j번째 관측치가 아닐 확률?

 

→ 1-1/n

(c) j번째 관측치가 bootstrap 표본에 있지 않을 확률이 \((1-1/n)^n\)임을 보여라

→ j번째 관측치가 bootstrap 1번째 없을 확률은 1-1/n, 중복추출이므로 각 시행은 독립. n번 추출시 없을 확률은  \((1-1/n)^n\)

(d) n=5일때 j번째 관측치가 bootstrap표본에 있을 확률은?

\(1-((1-1/5)^5)\)

(e) n=100일때 j번째 관측치가 bootstrap표본에 있을 확률은?

\(1-((1-1/100)^100)\)

(f) n=10000일때 j번째 관측치가 bootstrap표본에 있을 확률은?

\(1-((1-1/10000)^10000)\)

 

3. k-fold 교차검증에 대해 살펴본다.

(a) k-fold 교차검증을 어떻게 구현하는지 설명하라.

→ 관측 data를 k개의 fold로 나눠서 첫번째 fold를 test set으로 사용하고 나머지를 학습한다. 이것을 각 fold에 대해 k번 반복한다.

(b) 검증셋 기법과 LOOCV에 대한 k-fold 교차검증의 장단점은 무엇인가?

→ 검증셋 기법 : 검증셋 기법은 test-train set에 따라 test error 차이가 크게 날수 있으나 k-fold는 항상 같다. k가 커지면 계산 시간이 오래 걸린다.

→ LOOCV : LOOCV에 비해 분산이 작고 계산시간이 적게 걸린다. LOOCV에 비해 편향이 크다.

 

4. 어떤 통계학습방법을 사용하여 설명변수 X의 특정 값에 대해 반응변수 Y를 예측한다고 했을때 예측값의 표준편차를 어떻게 추정할 수 있을지 설명하여라.

→ bootstrap 기법을 이용해서 추정할 수 있다. 원래 데이터에서 복원 추출을 하여 관측값을 반복 추출하여 모델을 적합시키는 것을 반복하여 각 모델에 대한 예측값들의 표준편차를 추정할 수 있다.