Resampling Methods
training set에서 반복해서 sample을 뽑고, 그 sample에 반복해서 model을 refit하는 것
방법
- Cross-Validation
- Bootstrap
Cross-Validation
목적
- test error 예상: model assessment (모델 평가)
- model selection (모델 선택)
Validation Set Approach
무작위로 train set의 일부를 절반 잘라서 validation set (hold-out set)으로 사용
- Validation set에 대한 error rate를 통해 test error rate를 추정함
문제
- Validation set에 따라 결과가 다를 수 있음
- Validation set의 크기가 클수록 training set의 크기가 줄어듦 = 학습할 데이터의 수가 줄어듦
Leave-One-Out Cross-Validation
Validation: 1개 / Training: n-1개
장단점
장점) 총 n개의 error rate를 생성 > bias가 매우 적고 validation의 경우에 따라 결과가 달라지지 않음 (모든 경우에 대해 평가했기 때문)
단점) n번 모두 시행하려면 힘듦 - 귀찮음
k-Fold Cross-Validation
데이터를 k등분 후 하나를 validation으로 사용
- 데이터의 수가 적을수록 큰 k가 유리함
- Class의 비율이 동등하지 않을 경우 Stratified K-Fold Cross Validation이 유리함
Bias-Variance Tradeoff
- Bias : 정확도
- Variance : 민감도 (Variance가 클수록 noise 등의 요소도 학습됐을 가능성이 있다 > overfitting)
Bias | Variance | |
---|---|---|
LOOCV | unbiased | overfitting |
k-Fold | biased | underfitting |
Bootstrap
중복을 허용해서 n개만큼 뽑는 방법
parameter 추정의 정확도를 측정하는 척도를 제공
- 부트스트랩으로 얻은 데이터셋의 훈련 결과 파라미터가 비슷하게 나와야 결과를 신뢰할 수 있음.
Ensembling Learning
Bagging (Bootstrap aggregation)
Tree: variance가 큰 모델 (데이터의 영향을 많이 받기 때문) > 이를 해결하는 방법 'Bagging'
Bootstrap을 통해 여러개의 모델을 사용한 후 평균을 내는 방법
(variance를 줄이는데 도움이 되기 때문에 사용)
$$
\hat{f}_{bag}(x) = {1 \over {B}}\sum_{b=1}^B \hat{f}^{*b}(x)
$$
- Regression: 결과값의 평균
- Classification: 결과값의 다수결
문제: 비슷한 모델이 많으면 그 모델을 따라가게 된다.
(모델 간의 correlation을 줄여야 함 (decorrelation))
Out-of-Bag Error Estimation
Bootstrap을 통해 subset을 만들게 되면 각 모델에 쓰는 데이터셋은 2/3이 되어 1/3을 validation으로 사용하는 방법
Random Forests
Bagging의 일종
parameter를 무엇으로 쓸지 random으로 선택
몇 개의 parameter를 사용할 것인가를 판단하기 위해 cross-validation 사용
'Computer Science > 머신러닝' 카테고리의 다른 글
머신러닝:: Multi-Layer Perceptron(MLP) (1) | 2023.06.12 |
---|---|
머신러닝:: Dimensionality Reduction (0) | 2023.06.11 |
머신러닝:: Regularization (0) | 2023.06.08 |
머신러닝:: Clustering (0) | 2023.06.06 |