/*******************************************************************************************************************
-- Title : [ML] 모델링 방법론 - Resampling과 Training/Validation/Test Set
-- Reference : acorn, googling, rfriend.tistory.com/188
-- Key word : ml machine learning modeling resampling cross validation cross-validation f-추정 f-검정
prediction inference 예측 추론 feature features samples feature vector feature extraction
overfitting underfitting 오버피팅 언더피팅 오버 피팅 언더 피팅 stepping back jackknife
bootstrap 부트스트랩 잭나이프 permutation 순열 loocv k-fold f 검정 f 추정 training set
validation set test set 샘플링 sample sampling
*******************************************************************************************************************/
■ 모델링의 개념
* f 추정?
- Prediction(예측)
.. 정답과 측정값의 거리 계산
.. 정확도만 높이면 됨
.. Reducible .. 에러 줄이기
.. Irreducible .. 에러 노이즈 남기기
.. ex. SVM
- Inference(추론)
.. (blackbox가 아니라) 각종 질문에 대한 해답을 구함
.. ex. 회귀분석
* 용어
- Features
.. 양적 방식으로 각 항목을 설명하는데 사용할 수 있는 독특한 특성(특질)
- Samples
.. 프로세스를 위한 아이템
.. ex. 문서, 그림, 사운드, 비디오, DB의 ROW 등
- Feature vector
.. 개체의 수치적 특질을 나타내는 n-차원의 벡터
- Feature Extraction
.. Feature vector의 준비
.. 고차원 공간의 데이터를 더 세세한 작은 차원의 공간으로 변환
- Trainin/Evolution set
.. 내포된 예측 관계를 발견하기 위한 데이터셋
* Trade-Off
- Predictioin Accurary vs. Model Interpretability
■ Overfitting(오버피팅)과 Underfitting(언더피팅)
* Overfitting the Training Data
- 학습 데이터가 너무 정확히 맞아 들어가서 다른 데이터 적용시 정확도가 떨이지는 문제 발생
- 해결) 충분히 많은 학습 데이터 추가하거나, feature의 수를 줄임.
또는 Regularization(classifier의 overfitting을 피하기 위해 penalty를 줌)
.. training data를 많이 사용하자. 데이터가 많을 수록 overfit 될 확률이 줄어듭니다.
.. feature 개수를 줄이자. feature의 갯수가 많을 수록 overfit 될 확률이 높아 진다고 하네요.
.. Regularization (일반화). 아래에서 설명하겠습니다.
* Underfitting the Trainging Data
- 학습 데이터가 부족하여 제대로 학습되지 않은 결과가 도출되는 문제 발생
* Stepping Back
- Data를 추가하고 삭제하면서 최적화하는 단계
■ Resampling과 Cross-Validation
* Cross-Validation
- 통계 분석 결과가 독립적인 데이터셋으로 일반화되는 방법을 평가하는 기술 = 모델 검증 기술
- Validation dataset의 Hold back(전체 데이터에서 train/test data 추출)
- 그래프상에서 관절이 꺽이는 지점(elbow point)으로 선정
* Bootstrap(부트스트랩)
- 전체 모집단에서 일부 표본을 취한 후 그 표본이 전체를 대표한다는 가정
- 복원추출을 바탕으로 랜덤샘플링 해서 모델을 평가한느 방법
* Jackknife(잭나이프)
- 분산 및 편향 추정에 유용한 기술
- 샘플 추정치의 편차를 줄이려는 의도
* Permutation(순열)
- (Like bootstrapping) 관찰된 데이터를 리샘플링하여 샘플링 분포를 가정
- (Unlike bootstrapping) We do this without replacement
* LOOCV
- 개념
.. 훈련데이터 중 단일 데이터만 검증데이터로 활용하는 검증 기법
.. 검증세트 접근법과 유사하나 검증 세트법의 단점을 보완
.. Leave-One_Out CV(Cross-Validation)
- 방법론
.. N개의 데이터를 아래와 같이 분할
> 학습데이터 크기 : n-1
> 검증데이터 크기 : 1
.. 학습데이터로 모델 fitting
.. 검증데이터로 검증 - MSE 계산
.. 이 과정을 n번 수행
* k-fold CV(Cross-Validation)
- LOOCV는 k-fold의 k=n인 특별한 경우
- LOOCV vs. k-fold CV
* Classification Setting
- 일반적으로 error율을 최소화
- The Bayes Classifier
- K-Nearest Neighbors
- Bias-Variance Trade-Off
■ 모델링 시 유의점
* Insufficient Quantity of Training Data
- 데이터의 불합리적인 효과 발생
* Nonrepresentative Training Data
- Sampling bias 문제
* Irrelevant Features
- Feature engineering involves:
.. feature selection : selecting the most useful features to train on among existing features.
.. feature extraction : combining existing features to produce a more useful one.
.. creating new features by gathering new data.
■ Training set vs. Validation set vs. Test set
■ Overview of Re-Sampling Methods