ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Ai] Training (훈련) vs. Validation (검증) vs. Test (시험) 데이터 세트 비교
    AI 2023. 10. 5. 15:34
    반응형

     

    이 글은 머신 러닝 모델을 학습하는 동안 다양한 데이터 세트 분할의 차이점을 알아야 하는 모든 분들을 위한 짧은 입문서입니다.

    이 글에서는 같은 주제에 대한 Jason Brownlee의 훌륭한 글에서 기본 정의를 인용할 것이며, 매우 포괄적이므로 자세한 내용은 해당 글을 확인해 보세요.

     

    훈련 데이터 세트

    훈련 데이터 세트: 모델을 맞추는 데 사용되는 데이터 샘플입니다.

    모델을 학습시키는 데 사용하는 실제 데이터 세트(신경망의 경우 가중치 및 편향)입니다. 모델은 이 데이터를 보고 학습합니다.

     

    검증 데이터 세트

    검증 데이터 세트: 모델 하이퍼파라미터를 조정하는 동안 학습 데이터세트에 대한 모델 적합성을 편향 없이 평가하는 데 사용되는 데이터 샘플입니다. 유효성 검사 데이터 세트에 대한 기술이 모델 구성에 통합됨에 따라 평가는 더욱 편향되게 됩니다.

    검증 데이터 세트는 주어진 모델을 평가하는 데 사용되지만, 이는 빈번한 평가를 위한 것입니다. 머신러닝 엔지니어는 이 데이터를 사용하여 모델 하이퍼파라미터를 미세 조정합니다. 따라서 모델은 이 데이터를 가끔 보지만 이를 통해 '학습'하지는 않습니다. 우리는 유효성 검사 세트 결과를 사용하여 상위 수준의 하이퍼파라미터를 업데이트합니다. 따라서 유효성 검사 집합은 모델에 영향을 주지만 간접적으로만 영향을 줍니다. 유효성 검사 집합은 개발 집합 또는 개발 집합이라고도 합니다. 이는 이 데이터 세트가 모델의 '개발' 단계에서 도움이 되기 때문에 의미가 있습니다.

     

     

     

    테스트 데이터 세트

    테스트 데이터 세트: 학습 데이터 세트에 적합한 최종 모델을 편견 없이 평가하는 데 사용되는 데이터 샘플입니다.

    테스트 데이터 세트는 모델을 평가하는 데 사용되는 골드 스탠다드를 제공합니다. 모델이 완전히 학습된 후에만 사용됩니다(학습 및 검증 세트 사용). 테스트 세트는 일반적으로 경쟁 모델을 평가하는 데 사용됩니다(예를 들어, 많은 Kaggle 대회에서 검증 세트는 훈련 세트와 함께 처음에 공개되고 실제 테스트 세트는 대회가 마감될 때만 공개되며, 우승자를 결정하는 것은 테스트 세트에 있는 모델의 결과입니다). 많은 경우 검증 세트가 테스트 세트로 사용되지만 이는 좋은 방법이 아닙니다. 테스트 세트는 일반적으로 잘 큐레이션되어 있습니다. 테스트 세트에는 모델이 실제 세계에서 사용될 때 직면하게 될 다양한 클래스를 포괄하는 신중하게 샘플링된 데이터가 포함되어 있습니다.

     

     

    구분 시각화

     

    데이터 세트 분할

    이제 이러한 데이터 세트의 기능을 알았으니 데이터 세트를 훈련, 검증 및 테스트 세트로 분할하는 방법에 대한 권장 사항을 찾고 있을 것입니다... 이는 주로 두 가지 요소에 따라 달라집니다. 

     

    첫째, 데이터의 총 샘플 수와 둘째, 학습하려는 실제 모델에 따라 달라집니다.  

     

    일부 모델은 훈련에 상당한 양의 데이터가 필요하므로 이 경우 더 큰 훈련 세트에 맞게 최적화할 수 있습니다. 하이퍼파라미터가 매우 적은 모델은 검증 및 조정이 쉬우므로 검증 집합의 크기를 줄일 수 있지만, 모델에 하이퍼파라미터가 많은 경우에는 큰 검증 집합을 사용하는 것이 좋습니다(교차 검증도 고려해야 하지만). 또한 하이퍼파라미터가 없거나 쉽게 조정할 수 없는 모델이라면 유효성 검사 세트가 필요하지 않을 수도 있습니다!  대체로 머신 러닝의 다른 많은 것들과 마찬가지로 훈련-테스트-검증 분할 비율도 사용 사례에 따라 매우 구체적이며, 점점 더 많은 모델을 훈련하고 구축할수록 더 쉽게 판단할 수 있습니다.

     

    교차 검증에 대한 참고 사항: 많은 경우, 사람들은 먼저 데이터 세트를 훈련과 테스트의 두 가지로 나눕니다. 그런 다음 테스트 세트는 따로 두고, 훈련 데이터 세트의 X%를 실제 훈련 세트로, 나머지 (100-X)%를 검증 세트로 무작위로 선택하는데, 여기서 X는 고정된 숫자(예: 80%)이며, 모델은 이 서로 다른 세트에서 반복적으로 훈련되고 검증됩니다. 이를 수행하는 방법에는 여러 가지가 있으며 일반적으로 교차 검증이라고 합니다. 기본적으로 훈련 세트를 사용하여 훈련 세트와 유효성 검사 세트를 여러 개 분할하여 생성합니다. 교차 검증은 과도한 피팅을 방지하고 점점 더 인기를 얻고 있으며, K-배 교차 검증이 가장 널리 사용되는 교차 검증 방법입니다. 자세한 내용은 여기를 확인하세요.

    이에 대해 더 자세히 논의하고 싶으시면 댓글로 알려주세요. 저도 많은 분들처럼 배우는 입장이지만, 제가 할 수 있는 작은 방법이라도 도움이 될 수 있도록 노력하겠습니다.

     

     

    ref: https://towardsdatascience.com/train-validation-and-test-sets-72cb40cba9e7

    반응형

    댓글

Designed by Tistory.