[머신러닝]모델 평가 방법(Holdout, k-fold validation, bootstrap)

건너별·2022년 2월 7일
0

ML

목록 보기
14/21
post-custom-banner

머신러닝에서 평가는...

  • trainset / testset 은 각각 model training과 evaluation에 활용됩니다.

😎다양한 평가 방법을 알아봅시다!

Holdout (validation)


[https://subscription.packtpub.com/book/data/9781838556334/7/ch07lvl1sec85/holdout-approach-validation]

  • 가장 기본적인 모델 성능 검증 방법
  • 7:3, 8:2가 일반적인 비율이 됨

장점

  • 간단하다.

단점

  • testset의 결과가 초기 split 에 영향을 크게 받음

K-fold validation


[https://www.researchgate.net/figure/Diagram-of-k-fold-cross-validation-with-k-10-Image-from-Karl-Rosaen-Log_fig1_332370436]

  • 모든 샘플을 k개의 크기가 같은 하위 샘플로 나눔(일반적으로 10개)
  • 각 iteration마다 하나를 testset, 나머지를 trainset으로 하여 훈련 및 검증
  • 평가 결과 EkE_k 를 평균낸 값을 최종 평가 지표로 사용
  • 적은 데이터셋에 유효하며 머신러닝에서 적절한 방법은 아님

LOO(Leave One Out) Cross validation


[https://towardsdatascience.com/what-is-cross-validation-622d5a962231]

  • 매번 하나의 샘플을 남겨 검정 세트로 사용하고, 나머지 샘플들은 모델 훈련에
    사용

  • k개의 sample로 나누는 k - fold 와 달리 한개만 남겨놓고 일일이 검증

  • 따라서 sample 총 개수가 n인경우, n번의 검증이 일어나 매우 오래걸림

  • 실무에서 선호되진 않음

Bootstraping

  • 훈련 세트 규모를 유지하면서 검증할 수 있는 다른 방법은 없을까?


[https://www.analyticsvidhya.com/blog/2020/02/what-is-bootstrap-sampling-in-statistics-and-machine-learning/]

  • N개의 sample 집합에서 n번의 복원 추출법을 사용하여 n개의 훈련 세트를 얻음
  • 복원추출 과정에서 여러번 추출된 것이 있고, 추출이 안된 것일 있을것임
  • 일반적으로 앙상블 기법, 특히 이를 활용한 bagging을 통해 Random forest 에서 많이 이용됨

Bagging


[https://www.instagram.com/p/CMPa4vznkCs/]

  • Bootstrap + aggregating 의 약자(직관적으로 해석시 복원추출과 결과 결합)
  • 복원추출된 각각의 sample에 알고리즘이 각각 적용된 후 결합됨(ensemble)

[https://www.analyticsvidhya.com/blog/2020/02/what-is-bootstrap-sampling-in-statistics-and-machine-learning/]

Bootstrap 실습

OOB

profile
romantic ai developer
post-custom-banner

0개의 댓글