[인공지능] 모델의 성능 평가 기법, 교차 검증(Cross Validation)

Jaehwan Lee·2021년 1월 23일
1

인공지능

목록 보기
1/2
post-thumbnail

인공지능 모델의 성능을 평가하기 위한 기법으로 교차 검증(Cross Validation)이라는 것이 있다. 교차 검증이 무엇인지, 그리고 어떠한 교차 검증 기법들이 존재하는지 정리해 보려한다.


✔ 교차 검증이란?

데이터에 적합한 알고리즘을 선택하고 그것으로 모델을 학습시킨 이후 모델의 성능 평가는 필수적이다. 모델의 성능을 평가하기 위한 한 가지 방법으로 전체 데이터를 학습 데이터와 테스트 데이터로 분리하는 방법이 있다. 학습 데이터로 모델을 학습시킨 이후, 테스트 데이터로 모델의 정확도를 평가하는 것이다. 하지만 여기에는 한 가지 약점이 존재한다. 하나의 고정된 테스트 데이터셋을 가지고 모델의 성능을 확인하고 수정하고, 이러한 과정을 반복하다보면 결국 모델은 하나의 고정된 테스트 데이터셋에만 잘 작동하는 모델이 된다. 이 경우 특정한 데이터셋에만 과적합(Overfitting)하게 되어 다른 데이터셋으로 예측을 수행하면 좋지 못한 결과를 보인다. 이를 해결하기 위한 방법이 바로 교차 검증(Cross Validation)이다.

특정한 테스트 데이터셋에 과적합되는 것의 문제는 테스트 데이터가 고정되어 있기 때문에 발생한다. 이를 해결하고자 하는 교차 검증 기법은 말 그대로 데이터 중 고정된 일부분을 테스트 데이터로 두지 않고 데이터의 모든 부분을 사용하여, 즉 교차 검증하여 모델의 성능을 검증한다.

✔ 교차 검증 기법의 종류

교차 검증의 종류에는 다음과 같이 여러 방법들이 존재한다.

  1. K-겹 교차 검증(K-fold cross validation)
    전체 데이터 셋을 K등분의 부분집합으로 분할하고, K-1개의 부분집합은 학습 데이터셋으로, 나머지 1개의 부분집합은 테스트 데이터셋을 할당한다. 교차 검증을 총 K번만큼 반복한다.

  2. Holdout 교차 검증
    전체 데이터셋을 학습 데이터셋과 테스트 데이터셋으로 나누고, 분리된 학습 데이터셋에서 다시 검증 데이터셋을 따로 떼어내어 교차 검증하는 방법이다. 교차 검증을 한 번만 진행하기에 계산 시간이 적은 것이 장점이다.

  3. Leave-one-out 교차 검증
    전체 N개의 샘플 데이터셋을 N-1개의 학습 데이터셋과 1개의 테스트 데이터셋으로 나누어, 총 N번만큼 교차 검증을 반복한다. 계산량이 많다는 단점이 존재한다.

  4. Leave-p-out 교차 검증
    전체 N개의 샘플 데이터셋을 N-p개의 학습 데이터셋과 p개의 테스트 데이터셋으로 나누어, 총 nCp번만큼 교차 검증을 반복한다. Leave-one-out 교차 검증 기법보다 더 계산량이 많기 때문에 교차 검증 반복 횟수를 늘리고자 할 때 사용한다.


참고 자료 : https://en.wikipedia.org/wiki/Cross-validation_(statistics)

profile
느리더라도 꾸준히 멈춤 없이

0개의 댓글