머신러닝 모델을 학습하다 보면, 우리가 만든 모델이 진짜 잘 작동하는지, 아니면 우연히 훈련 데이터에 잘 맞는 것인지 궁금할 때가 많다.
이때 사용하는 가장 대표적인 기법이 바로 교차 검증 (Cross Validation)이다.

 

교차 검증이란?

교차 검증이란 전체 데이터를 여러 조각으로 나눈 뒤,
여러 번 모델을 훈련하고 평가하여 평균 성능을 측정하는 방식이다.
가장 널리 쓰이는 방식은 K-겹 교차 검증 (K-Fold Cross Validation)이다.

  1. K-겹 교차 검증은 데이터를 K개의 균등한 덩어리로 나눈다.
  2. K번 반복i 번째 fold를 검증용 데이터 (Validation Set)으로 사용하고,
    나머지 k-1개 fold를 학습용 데이터 (Training Set)으로 사용한다.
  3. 각 반복의 성능을 기록하고, 평균 성능을 계산하여 모델을 평가한다.

예를 들어, 5-fold라고 하면 전체 데이터를 5등분으로 나누고, 5번 반복하여 모델을 평가하는 것이다.

5-Fold Cross Validation

 

교차 검증이 중요한 이유는?

단일 분할 방식의 문제

보통은 데이터를 훈련/검증으로 나누고 성능을 평가하지만 여러 가지 문제가 있다.
운에 따라 성능이 달라질 수 있으며, 데이터가 적을수록 분할에 민감해지며, 과대적합 (Overfitting)을 알아차리기 어렵다.

교차 검증의 장점

  • 모든 데이터를 한 번씩 검증에 사용해볼 수 있으므로 성능 신뢰도가 상승된다.
  • 일반화 성능에 대한 더 정확한 추정이 가능해진다.
  • 과적합 방지에 도움이 된다.

 

 

+ Recent posts