MLOps 프로젝트/도서 '케라스 창시자에게 배우는 딥러닝'

1부 4.2 머신 러닝 모델 평가

youjin86 2021. 8. 30. 18:00

1부 딥러닝의 기초

4장 머신 러닝의 기본 요소


4.2 머신 러닝 모델 평가

훈련, 검증, 테스트 세트

모델 평가의 핵심은 가용한 데이터를 항상 훈련, 검증, 테스트 3개의 세트로 나누는 것

훈련 세트 - 모델 훈련 / 검증 세트 - 모델 평가 / 테스트 세트 - 출시 준비가 완료된 모델을 최종적으로 딱 한 번 테스트

 

3개로 나누는 이유는 모델을 개발할 때 항상 모델의 설정을 튜닝하기 때문

 

정보 누설

검증 세트의 모델 성능에 기반하여 모델의 하이퍼파라미터를 조정할 때마다 검증 데이터에 관한 정보가 모델로 새는 것

이를 막기 위해 검증 세트와 테스트 세트를 구분

 

단순 홀드아웃 검증

데이터의 일정량을 테스트 세트로 떼어놓음.

남은 데이터에서 훈련하고 테스트 세트로 평가함.

정보 누설을 막기 위해 테스트 세트로 모델을 튜닝하면 안됨.

출처 : https://jackyoon5737.tistory.com/80

 

단점 : 데이터가 적을 때 검증 세트와 테스트 세트의 샘플이 너무 적어 주어진 전체 데이터를 통계적으로 대표하지 못할 수 있음.

이러한 단점을 해결하기 위해 K-겹 교차 검증과 반복 K-겹 교차 검증이 나옴.

 

K-겹 교차 검증

데이터를 동일한 크기를 가진 K개로 분할

각 분할 i에 대해 남은 K-1개의 분할로 모델을 훈련하고 분할 i에서 모델을 평가

최종 점수는 이렇게 얻은 K개의 점수를 평균

이 방법은 모델의 성능이 데이터 분할에 따라 편차가 클 때 도움이 됨.

 

3-겹 교차 검증

출처 : https://thebook.io/006975/part01/ch03/06/04/

 

 

반복 K-겹 교차 검증

셔플링을 사용하며 비교적 가용 데이터가 적고 가능한 정확하게 모델을 평가하고자 할 때 사용

K-겹 교차 검증을 여러 번 적용하되 K개의 분할로 나누기 전에 매번 데이터를 무작위로 섞음.

최종 점수는 모든 K-겹 교차 검증을 실행해서 얻은 점수의 평균이 됨.

많이 하면 비용이 매우 많이 듦.

 

평가 방식을 선택할 때 유의해야 하는 사항

  • 대표성 있는 데이터
    훈련 세트와 테스트 세트가 주어진 데이터에 대한 대표성이 있어야 함.
    훈련 세트와 테스트 세트로 나누기 전에 데이터를 무작위로 섞는 것이 일반적
  • 시간의 방향
    과거로부터 미래를 예측하고자 할 때 데이터를 분할하기 전에 무작위로 섞으면 안됨.
    훈련 세트에 있는 데이터보다 테스트 세트에 있는 모든 데이터가 미래의 것이어야 함.
  • 데이터 중복
    한 데이터셋에 어떤 데이터 포인트가 두 번 등장하면, 데이터를 섞고 훈련 세트와 검증 세트로 나누었을 때 훈련 세트와 검증 세트에 데이터 포인트가 중복될 수 있음.
    따라서 훈련 세트와 검증 세트가 중복되지 않는지를 꼭 확인해야 함.