1. 기본 미션 : 교차 검증을 그림으로 설명하기
훈련 세트와 별개로 검정용 자료를 만드는 이유
1. 모형 검증 (information leak방지)
구축된 모델의 성능을 객관적으로 평가할때 train데이터를 train data+validation data로 나누지 않는다면 모델을 검증할 때 test data를 사용해야한다. 따라서 test data가 아닌 train data를 사용하여 모델의 성능을 확인하고 최적의 파라미터를 찾아야하는데 이때 train data와 validation data를 완전히 분리시켜 모형 개발에 검정용 자료의 정보가 활용되지 않도록 하면 객관적인 성능 평가가 가능해진다.
2. 모수 튜닝
검정용 자료를 통해 (초)모수 hyperparameter의 최적값을 결정한다. 데이터가 충분히 많으면 별도의 validation set을 만들어 검정용 자료로 활용하면 되지만 그렇지 않을 경우 별도의 validation set을 두지않고 교차타당성(cross validation)이나 붓스트랩(bootstrap sampling) 표집같은 재표본 방법을 사용할 수 있다.
k-fold cv (cross validation) 이란?
훈련 세트를 여러 폴드로 나눈 다음 한 폴드가 검증 세트의 역할을 하고 나머지 폴드에서는 모델 훈련해 최적의 모델을 위한 하이퍼파리미터를 탐색하는 방법을 말한다.
k-fold cv 예시
5-fold cv를 예로들어 설명해보면
먼저 전체 train데이터를 5개의 subset으로 나누고 검정용 자료가 중복되지 않도록 바꾸어가며 5번의 평가를 진행한다.
다음으로 5개의 split에서 나온 accuracy를 평균하여 최종 모델의 성능을 평가하고 최적의 하이퍼파라미터를 찾는다.
혼공단은 책 <혼자공부하는 머신러닝 + 딥러닝>을 학습한후 6주동안 공부한 후 매 주 미션을 인증하는 스터디입니다.
자세한 내용은 페이스북 스터디그룹 혼자 공부하는 프로그래밍 www.facebook.com/groups/hongong 을 참고하시면 됩니다.
'공부기록 > Data Science' 카테고리의 다른 글
단어 표현 - 어떻게 자연어를 컴퓨터에게 인식시킬 수 있을까 ? (0) | 2022.02.02 |
---|---|
사이킷런을 이용한 한국어 특징 추출 및 토크나이징 (+ KoNLPy 형태소 분석기) (0) | 2022.02.02 |
[EduTech] Adaptive Learning 적응형 학습 알고리즘 간단정리 - BKT,PFA,DKT (0) | 2020.07.09 |
[Python] 트위터 API TweepError 401 에러 해결 (0) | 2020.06.14 |
[Python]nltk Lookup error 해결 방법 - nltk downloader (0) | 2020.05.04 |