[빅데이터분석기사 필기] Ⅳ.빅데이터 결과 해석 - 01. 분석 모형 평가 및 개선 (2)
키워드🔑
교차검증, 홀드 아웃 교차 검증, 랜덤 서브샘플링, K-Fold Cross Validation, LOOCV, LpOCV, RLT, 부트스트랩
01. 분석 모형 평가 및 개선
1. 분석 모형 평가
3) 교차 검증
(1) 교차 검증(Cross Validation)
📌 홀드 아웃 교차 검증 / 랜덤 서브샘플링 / K-Fold Cross Validation / LOOCV / 부트스트랩
- 교차 검증(Cross Validation)
- 모델의 일반화 오차에 대해 신뢰할만한 추정치를 구하기 위하여 훈련&평가 데이터를 기반한 검증 기법
홀드 아웃 교차 검증 |
랜덤 서브 샘플링 |
K-Fold | LOOCV | LpOCV | RLT | 부트스트랩 |
---|---|---|---|---|---|---|
Holdout Cross Validation |
Random Sub-Sampling |
K-Fold Cross Validation |
Leave-One- Out Cross Valid |
Leave-p-Out Cross Valid. |
Repeated Learning- Testing |
Bootstrap |
비복원추출 랜덤으로 나눔 -데이터손실O -계산/비용적음 |
무작위랜덤추출 홀드아웃반복 비용 가장적음 |
무작위추출 동등분할 부분집합 K개 평가집합 1개 |
전체데이터N개 평가데이터1개 작은데이터적합 비용 가장비쌈 |
전체데이터N개 평가데이터p개 계산시간부담↑ nCp번 반복 |
비복원추출 랜덤추출 평균오류율계산 |
단순랜덤 복원추출(중목O) 동일크기표본율 여러개생성함 |
검증방법비교
(2) 홀드 아웃 교차 검증(Holdout Cross Validation)
📌 비복원추출로 랜덤하게 학습/평가 데이터를 나누어 검증
- 데이터를 나누는 방법에 따라 결과가 많이 달라짐(5:5, 3:7, 2:1)
- 학습 데이터(Training set): 분류기 만들 때 사용
- 검증 데이터(Validation set): 분류기들의 매개변수 최적화를 위해 사용
- 평가 데이터(Test set): 최적화된 분류기 성능 평가를 위해 사용
- 데이터 손실 O: 평가 데이터는 학습에 사용할 수 없음
- 계산량 ↓ 평가 쉬움 ↑
(3) 랜덤 서브샘플링(Random Sub-Sampling)
📌 모집단에서 표본을 무작위 추출
- 홀드아웃 반복 → 데이터 손실 X
- 측정/평가 비용 가장 적음
- 각 샘플들을 학습/평가에 얼마나 사용할지 횟수 제한 X → 특정 데이터만 학습할 수 있음
(4) K-Fold Cross Validation
📌 무작위, 동일크기, K개 부분집합으로 나눔 → 실험결과 K개를 종합
- 데이터 분할
- 전체 집합 = K개
- 학습 집합 = K-1개
- 평가 집합 = 1개
- 모든 데이터를 학습/평가에 사용 가능
- K값에 따라 달라짐
- K값 증가할수록, 계산량도 증가함
- K=10이면, 데이터 10% 낭비됨
- LOOCV 보다 측정/평가 비용 적음
- 절차: 동등분할 → 학습/평가데이터 구성 → 분류기 학습 → 분류기 성능확인
- 학습/평가데이터 구성: (K-1)개 부분집합은 학습, 1개 부분집합은 평가에 쓰는 K개의 실험데이터 구성
- 분류기 성능확인: 실험 결과 K개를 종합하여 분류기의 최종 성능을 확인
(5) LOOCV(Leave-One-Out Cross Validation)
📌 전체 데이터 N개 중 샘플 1개만 평가 / (N-1)개는 학습 → N번 반복
- 데이터 분할
- 전체 데이터 = N 개
- 학습 데이터 = N-1 개
- 평가 데이터 = 1 개
- 데이터 손실 X
- 계산량 많음 → 측정/평가 비용 가장 비쌈
- 작은 크기 데이터에 좋음
- 방법은 K-Fold랑 같음 → K-Fold는 부분집합 개수 K / LOOCV는 데이터 개수 N
(6) LpOCV(Leave-p-Out Cross Validation)
📌 전체 데이터 N개 중 샘플 p개만 평가 / (N-p)개는 학습 → nCp번 반복
- 데이터 분할
- 전체 데이터 = N 개
- 학습 데이터 = N-p 개
- 평가 데이터 = p 개
- 계산량/시간 부담 크다
(7) RLT(Repeated Learning-Testing)
📌 랜덤 비복원추출
- 절차: 데이터 분리 → 훈련 → 에러 계산 → 반복 → 평균오류율 계산
- 데이터 분리: 랜덤하게 학습/검증 데이터분리
- 데이터 훈련: 학습 데이터로만 훈련
- 에러 계싼: 검증 데이터로 Error 계산
- 반복: 데이터 훈련과 에러 계산을 2회 더 반복
- 평균 오류율 E = ∑E / N
(8) 부트스트랩(Bootstrap)
📌 단순랜덤 복원추출 → 동일크기 표본 여러개 샘플링
- 랜덤 복원추출 → 중복 허용 → 특정 샘플이 학습 데이터에 포함될 확률 = 약 63.2%
- 학습 데이터에 한번도 포함되지 않는 데이터 발생 → 평가에 사용함 = 약 36.8%
댓글남기기