본문 바로가기
AI프로그래밍 리뷰/인공지능

머신러닝의 데이터셋 종류와 모델 평가

by 펄서까투리 2020. 7. 24.

# 세줄요약 #

  1. 머신러닝(딥러닝)에 사용되는 데이터들은 훈련(Train), 검증(Validation), 테스트(Test)의 3가지 데이터셋으로 나뉘어 인공지능 학습 및 평가에 사용한다.
  2. Train dataset은 인공지능 모델을 학습하는 데 사용되며, Validation dataset은 학습된 모델의 성능을 검증하여 하이퍼 파라미터(Hyper parameter)를 조정하는 지표로 활용되며, Test dataset은 파라미터 조정까지 진행하여 최종적으로 학습이 완료된 모델의 성능을 평가하는데 사용된다.
  3. 인공지능을 학습하는 동안 Train dataset으로 학습시키고 Validation dataset으로 학습성능을 검증하는데, 이 두 데이터셋을 어떻게 나누는지에 따른 모델 평가 방법으로 Hold out validation, K-fold cross validation, Shuffle K-fold cross validation 등이 존재한다.

# 상세리뷰 #

1. 훈련(Train), 검증(Validation), 테스트(Test) 세트

  •  Train dataset(훈련 세트): 학습에 사용하는 데이터
  •  Validation dataset(검증 세트): 훈련 세트에서 학습된 모델을 평가
    • 검증 세트로 모델의 성능을 평가한 뒤, 하이퍼 파라미터(Hyper parameter)를 수정하여 모델의 설정을 튜닝 -> 이러한 튜닝도 일종의 학습
    • 정보 누설(Information leak): 검증 세트의 모델 성능에 기반하여 하이퍼 파라미터를 조정할 때 마다 검증 세트에 대한 정보가 모델에 간접적으로 학습 
  • Test dataset(테스트 세트): 모델 성능 목표치 달성 이후 최종 평가에 사용
    • 최종적으로 모델을 평가하기 위해, 학습 과정에서 전혀 사용되지 않은 완전히 다른 데이터셋
    • 하이퍼 파라미터 튜닝으로 검증 세트에 대해서도 모델 성능 목표치 달성 이후 최종 평가에 사용

2. 모델 평가 방법

  • 단순 홀드아웃 검증(Hold-out Validation): 테스트 세트를 분리한 뒤에 남은 데이터셋의 일부는 검증세트로 사용
  • K-겹 교차 검증(K-fold Cross Validation): 테스트 세트를 제외한 데이터셋을 K개 분할로 나눈 뒤에 각 분할 i에 대해 남은 K-1개의 분할로 모델을 훈련하고 분할 i에서 모델 검증
  • 셔플링을 사용한 반복 K-겹 교차검증: 분할하기 전에 매번 데이터를 무작위로 섞는다(Shuffling)

그림 1. 단순 홀드 아웃 검증과 K-겹 교차 검증 방식의 차이. 그림 윗부분의 일반적인 단순 홀드 아웃 검증의 경우 훈련 세트와 검증세트를 일정 비율로 단순히 분배한다(일반적으로 8:2 또는 9:1). 그러나 K-겹 교차 검증의 경우에는 그림 아랫부분에서 볼 수 있듯이 3개 또는 그 이상으로 데이터셋을 분할 한 후에 각 분할을 순서대로 검증 세트로 사용하며 나눈 분할 갯수만큼 학습을 진행한다.

 

* 참고문헌:

1. 케라스 창시자에게 배우는 딥러닝 / 프랑소와 숄레 / 길벗

728x90
728x90

댓글