교차검증(Cross Validation)이란?
ML에서 데이터를 이용해 학습시키고 이에 대한 예측 성능을 평가를 위한 테스트 데이터 셋을 필요로 한다. 하지만 이 과정중에 과적합(Overfitting)에 약점을 가지게 되는데, 편향된 모델을 해결하기 위해서 교차검증의 방법을 이용하여 다양한 학습과 평가를 수행하는 방법이다. 별도의 여러 세트로 구성된 학습 데이터 세트와 검증 데이터 세트를 학습과 평가를 수행하는 방법을 사용하는데, 교차 검증 과정에서 각 세트별 수행한 평가 결과에 따른 하이퍼 파라미터 튜닝등을 통해서 모델의 최적화를 쉽게 진행 할 수 있다.
K 폴드 교차 검증(K-Fold Cross Validation)
가장 보편적으로 사용되는 교차 검증 기법으로, 데이터 셋을 K 개의 데이터 폴드 세트를 만들어서 K번 만큼 각 폴드 세트에 대한 검증과 평가를 반복적으로 수행하는 방법이다. K값을 선택할때 각각의 요소들을 고려해야한다.
- K값이 작은 경우(k = 3, 5) :
- 학습에 사용되는 데이터의 양이 많아 모델이 정확하게 학습될수 있지만, 검증 세트 크기가 커져서 검증의 신뢰성이 낮아질수 있다.
- 학습이 비교적 빠르게 진행됨.
- K값이 큰 경우(k = 10, 20) :
- 검증 세트가 작아져서 모델이 과적합 되는 것을 방지 할 수 있다.
- fold의 수가 늘어나 검증 과정이 세밀해 지지만, 계산을 하는데 걸리는 시간이 늘어나기 때문에 학습시간이 늘어 날 수 있다.
데이터의 형태에 따라서 적절한 k값을 지정하여 훈련을 하는것이 중요하다고 볼 수 있다.
'Codeit Sprint > Weekly_Paper' 카테고리의 다른 글
위클리 페이퍼#15 - 데이터베이스 정규화 (0) | 2024.11.24 |
---|---|
위클리 페이퍼 #14 - GROUP BY와 HAVING 절 (1) | 2024.11.17 |
위클리페이퍼 #12 - 모델학습에서의 편향과 분산 (0) | 2024.10.27 |
위클리 페이퍼 #11 - 손실함수(Loss function) (0) | 2024.10.18 |
위클리 페이퍼 #11 - 지도학습과 비지도 학습 (0) | 2024.10.18 |