훈련 데이터 세트
기계 학습에서 흔히 수행되는 과제는 데이터로부터 학습하고 예측할 수 있는 알고리즘을 연구하고 구축하는 것이다.[^9] 이러한 알고리즘은 입력 데이터로부터 수학적 모델을 구축하여 데이터 기반의 예측이나 결정을 내리는 방식으로 작동한다.[^1] 모델을 구축하는 데 사용되는 이러한 입력 데이터는 보통 여러 데이터 세트로 나뉜다. 특히, 모델 생성의 각 단계에서 흔히 세 가지 데이터 세트가 사용된다: 훈련, 검증, 테스트 세트가 그것이다.
모델은 먼저 훈련 데이터 세트에 적합(fit)된다. 훈련 데이터 세트는 모델의 매개변수(예: 인공 신경망에서 뉴런 간 연결의 가중치)를 적합시키는 데 사용되는 예제 집합이다. 모델(예: 나이브 베이즈 분류기)은 경사 하강법이나 확률적 경사 하강법 같은 최적화 기법을 활용한 지도 학습 방법을 통해 훈련 데이터 세트에서 훈련된다. 실제로 훈련 데이터 세트는 입력 벡터(또는 스칼라)와 이에 대응하는 출력 벡터(또는 스칼라)의 쌍으로 구성되는 경우가 많으며, 정답 키는 흔히 목표값(또는 레이블)이라 불린다. 현재 모델을 훈련 데이터 세트에 대해 실행하여 결과를 산출한 뒤, 훈련 데이터 세트의 각 입력 벡터에 대해 해당 결과를 목표값과 비교한다. 비교 결과와 사용 중인 특정 학습 알고리즘에 따라 모델의 매개변수가 조정된다. 모델 적합에는 변수 선택과 매개변수 추정이 모두 포함될 수 있다.
이어서, 적합된 모델은 검증 데이터 세트라 불리는 두 번째 데이터 세트의 관측값에 대한 응답을 예측하는 데 사용된다. 검증 데이터 세트는 모델의 하이퍼파라미터[^2](예: 신경망의 은닉 유닛 수—층의 수와 층의 너비—)를 조정하면서 훈련 데이터 세트에 적합된 모델에 대한 편향 없는 평가를 제공한다. 검증 데이터 세트는 조기 종료를 통한 정규화에 사용될 수 있다(검증 데이터 세트에서의 오차가 증가하면 훈련을 중단하는데, 이는 훈련 데이터 세트에 대한 과적합의 징후이기 때문이다).[^3] 이 단순한 절차는 실제로는 훈련 중 검증 데이터 세트의 오차가 변동하여 여러 개의 극소값을 발생시킬 수 있다는 사실로 인해 복잡해진다. 이러한 복잡성 때문에 과적합이 실제로 시작되었는지를 판단하기 위한 많은 임시 규칙이 만들어지게 되었다.[^3]
마지막으로, 테스트 데이터 세트는 훈련 데이터 세트에 적합된 모델에 대한 편향 없는 평가를 제공하는 데 사용되는 데이터 세트이다.[^2] 테스트 데이터 세트의 데이터가 한 번도 사용된 적이 없는 경우(예: 교차 검증에서), 테스트 데이터 세트는 홀드아웃 데이터 세트라고 불린다. 일부 문헌에서는 "테스트 세트" 대신 "검증 세트"라는 용어가 사용되기도 한다(예: 원래 데이터 세트가 두 개의 하위 집합으로만 분할된 경우, 테스트 세트가 검증 세트로 지칭될 수 있다).[^2]
훈련, 테스트, 검증 세트로의 데이터 세트 분할에서 크기와 전략을 결정하는 것은 문제와 가용 데이터에 크게 좌우된다.[^10]
훈련 데이터셋
훈련 데이터셋은 학습 과정에서 사용되는 예제들의 데이터셋으로, 예를 들어 분류기의 매개변수(예: 가중치)를 적합시키는 데 사용된다.[^4]
분류 작업에서 지도 학습 알고리즘은 훈련 데이터셋을 살펴보고 좋은 예측 모델을 생성할 변수들의 최적 조합을 결정하거나 학습한다.[^5] 목표는 새롭고 알려지지 않은 데이터에 대해 잘 일반화되는 훈련된(적합된) 모델을 만드는 것이다. 적합된 모델은 보류된 데이터셋(검증 및 테스트 데이터셋)의 "새로운" 예제를 사용하여 평가되며, 새로운 데이터를 분류하는 모델의 정확도를 추정한다.[^2] 과적합과 같은 문제의 위험을 줄이기 위해 검증 및 테스트 데이터셋의 예제는 모델 훈련에 사용되어서는 안 된다.[^2]
훈련 데이터에서 경험적 관계를 탐색하는 대부분의 접근 방식은 데이터를 과적합하는 경향이 있는데, 이는 훈련 데이터에서 일반적으로는 성립하지 않는 겉보기 관계를 식별하고 활용할 수 있음을 의미한다.
훈련 세트가 새로운 데이터로 지속적으로 확장되는 경우, 이를 점진적 학습이라 한다.
검증 데이터셋
검증 데이터셋은 모델의 하이퍼파라미터(즉, 아키텍처)를 조정하는 데 사용되는 예제들의 데이터셋이다. 이를 개발 세트 또는 "dev 세트"라고도 부르기도 한다.^12 인공 신경망에서 하이퍼파라미터의 예로는 각 층의 은닉 유닛 수가 있다.[^4] 검증 데이터셋은 아래에서 언급되는 테스트 세트와 마찬가지로 훈련 데이터셋과 동일한 확률 분포를 따라야 한다.
과적합을 방지하기 위해, 분류 매개변수를 조정해야 할 때는 훈련 및 테스트 데이터셋 외에 검증 데이터셋이 필요하다. 예를 들어, 문제에 가장 적합한 분류기를 찾고자 할 때, 훈련 데이터셋은 다양한 후보 분류기를 훈련하는 데 사용되고, 검증 데이터셋은 이들의 성능을 비교하여 어느 것을 선택할지 결정하는 데 사용되며, 마지막으로 테스트 데이터셋은 정확도, 민감도, 특이도, F-측정치 등의 성능 특성을 얻는 데 사용된다. 검증 데이터셋은 혼합적인 기능을 한다: 테스트에 사용되는 훈련 데이터이지만, 저수준 훈련의 일부도 아니고 최종 테스트의 일부도 아니다.
모델 선택을 위해 검증 데이터셋을 사용하는 기본 과정(훈련 데이터셋, 검증 데이터셋, 테스트 데이터셋의 일부로서)은 다음과 같다:[^4][^13]
이 과정의 적용 사례로 조기 종료가 있는데, 여기서 후보 모델들은 동일한 네트워크의 연속적인 반복이며, 검증 세트의 오차가 증가할 때 훈련을 중단하고 이전 모델(최소 오차를 가진 모델)을 선택한다.
테스트 데이터 세트
테스트 데이터 세트는 훈련 데이터 세트와 독립적이지만, 훈련 데이터 세트와 동일한 확률 분포를 따르는 데이터 세트이다. 따라서 테스트 세트는 지정된 분류기의 미지의 데이터에 대한 성능(즉, 일반화 능력)을 평가하는 데만 사용되는 예제의 집합이다.[^4] 이를 위해 모델을 사용하여 테스트 세트의 예제에 대한 분류를 예측한다. 이러한 예측을 예제의 실제 분류와 비교하여 모델의 정확도를 평가한다.[^5] 훈련 및 검증 데이터 세트에 적합된 모델이 테스트 데이터 세트에도 잘 적합되면, 과적합이 최소한으로 발생한 것이다(아래 그림 참조). 테스트 데이터 세트에 비해 훈련 또는 검증 데이터 세트에 더 잘 적합되는 경우는 일반적으로 과적합을 나타낸다.
데이터 세트의 표본 수가 적은 시나리오에서는 일반적으로 훈련 세트와 검증 데이터 세트로 분할하여, 훈련 세트에서 모델을 훈련하고 검증 세트를 사용하여 정확도를 개선하도록 조정하지만, 이 접근 방식은 과적합으로 이어질 수 있다. 홀드아웃 방법[^6]도 사용할 수 있는데, 이 방법에서는 훈련 세트에서 훈련한 후 마지막에 테스트 세트를 사용한다. 소규모 데이터 세트에는 교차 검증 및 부트스트래핑과 같은 다른 기법이 사용된다. 부트스트래핑 방법은 원본 데이터에서 복원 추출로 무작위 표본을 추출하여 동일한 크기의 수많은 시뮬레이션 데이터 세트를 생성하며, 무작위로 추출된 데이터 포인트가 모델 성능을 평가하기 위한 테스트 세트로 사용된다. 교차 검증은 데이터 세트를 여러 폴드로 분할하고, 하나의 하위 폴드를 테스트 데이터로 사용하며, 나머지 폴드에서 모델을 훈련하고 모든 폴드를 교차 검증(결과를 평균하고 모델을 통합)하여 최종 모델 성능을 추정한다. 일부 출처에서는 단일 분할이 과적합과 편향된 모델 성능 추정으로 이어질 수 있으므로 이를 사용하지 말 것을 권고한다는 점에 유의해야 한다.
이러한 이유로 데이터 세트는 훈련, 검증, 테스트 데이터 세트의 세 부분으로 분할된다. 표준 기계 학습 관행은 훈련 세트에서 훈련하고 검증 세트를 사용하여 하이퍼파라미터를 조정하는 것으로, 검증 과정에서 검증 손실이 가장 낮은 모델을 선택한 후, 최종 모델을 평가하기 위해 테스트 데이터 세트(일반적으로 별도로 보관)에서 테스트한다. 테스트 세트에 대한 홀드아웃 방법은 매 에포크 후 테스트 세트를 사용하지 않음으로써 계산량을 줄인다. 테스트 데이터 세트는 미지의 데이터에 대한 모델의 최종 성능을 정확하고 공정하게 평가하는 역할을 하므로 훈련 모델 검증이나 하이퍼파라미터 미세 조정에 절대 사용해서는 안 되지만, 업데이트된 모델의 성능을 확인하고 과적합 또는 추가 훈련이나 조기 종료의 필요성을 감지하기 위해 여러 번 사용할 수 있다.[^7] 교차 검증과 같은 방법이 사용되는데, 테스트 세트를 분리하고 훈련 데이터 세트를 다시 폴드로 분할하여 하위 폴드를 검증 세트로 사용하여 모델을 훈련하며, 이는 모델의 편향과 변동성을 줄이는 데 효과적이다.[^2] 중첩 교차 검증 등 다양한 교차 검증 방법이 있다.
주황색으로 표시된 적합의 MSE는 4인 반면, 초록색으로 표시된 적합의 MSE는 9이다. 테스트 세트에서 주황색으로 표시된 적합의 MSE는 15이고, 초록색으로 표시된 적합의 MSE는 13이다. 주황색 곡선은 훈련 데이터를 심하게 과적합하는데, 테스트 세트와 훈련 세트를 비교할 때 MSE가 거의 4배 증가하기 때문이다. 초록색 곡선은 훈련 데이터의 과적합이 훨씬 적은데, MSE 증가가 2배 미만이기 때문이다.]]
용어의 혼란
테스트(testing)란 무언가를 알아내기 위해 시도하는 것("실험을 통해 진실성, 진위 또는 품질을 증명하는 것" - Collaborative International Dictionary of English)이며, 검증(validate)이란 무언가가 유효함을 증명하는 것("확인하는 것; 유효하게 만드는 것" - Collaborative International Dictionary of English)이다. 이러한 관점에서 테스트 세트와 검증 세트라는 용어의 가장 일반적인 사용법은 여기서 설명하는 것과 같다. 그러나 산업계와 학계 모두에서, 내부 과정은 개선을 위해 서로 다른 모델을 테스트하는 것(테스트 세트를 개발 세트로 사용)이고 최종 모델은 보지 못한 데이터로 실제 사용하기 전에 검증이 필요한 것(검증 세트)이라는 관점에서 두 용어가 서로 바뀌어 사용되기도 한다. "머신러닝 문헌에서는 '검증'과 '테스트' 세트의 의미가 종종 뒤바뀌어 사용된다. 이는 인공지능 연구에 만연한 용어 혼란의 가장 명백한 사례이다."[^14] 그럼에도 불구하고, 반드시 지켜야 할 중요한 개념은 테스트 세트든 검증 세트든 최종 세트는 최종 실험에서만 사용되어야 한다는 것이다.
오류의 원인
![[만화 가상의 잘못된 컴퓨터 출력(이전에 정의된 "매우 뜨거운"이라는 기준에 따라 커피를 500만 도로 만드는 것)을 보여주는 예시이다. 이는 논리적 실패이자 다양한 관련 환경 조건을 포함하지 못한 실패로 분류될 수 있다.^8 이러한 누락의 유형에는 다음이 포함된다:^8
비교적 관련 없는 입력의 사용에는 알고리즘이 관심 대상이 아닌 배경을 객체 감지에 사용하는 상황이 포함될 수 있다. 예를 들어, 초원 위의 양 사진으로 학습된 경우, 초원에 위치한 다른 물체가 양으로 해석될 위험이 있다.
같이 보기
- 통계적 분류
- 머신러닝 연구를 위한 데이터셋 목록
- 계층적 분류
참고 문헌
[^1]: Bishop, Christopher M.. 패턴 인식과 기계 학습. Springer
[^2]: Brownlee, Jason. 테스트 데이터셋과 검증 데이터셋의 차이점은 무엇인가?. (2017-07-13)
[^3]: Cite book publisher = Springer Berlin Heidelberg isbn = 978-3-642-35289-8 pages = [https://archive.org/details/neuralnetworkstr00mlle/page/n60 53]–67 editor = Grégoire Montavon editor2 = Kla
[^4]: "[https://web.archive.org/web/20170705053705/ftp://ftp.sas.com/pub/neural/FAQ.html 주제: 모집단, 표본, 훈련 세트, 설계 세트, 검증 세트, 테스트 세트란 무엇인가?]", [https://web.arc
[^5]: cite book last1=Larose first1=D. T. last2=Larose first2=C. D. title=데이터에서 지식 발견하기 : 데이터 마이닝 입문 publisher=Wiley publication-place=Hoboken year=2014
[^6]: Cite journal url=https://www.researchgate.net/publication/2352264 title=정확도 추정 및 모델 선택을 위한 교차 검증과 부트스트랩 연구 volume=14 date=2001-03-03 last1=Koh
[^7]: Bergmann, Dave=. 과적합이란 무엇인가?
알고리즘 훈련에서의 누락은 잘못된 출력의 주요 원인이다. cite journal author=Chanda SS, Banerjee DN title=알고리즘 훈련에서의 누락 및 오류
[^9]: 용어 사전
[^10]: 기계 학습 - 데이터셋을 훈련 세트와 검증 세트로 나누는 경험 법칙이 있는가?
[^11]: 아기를 위한 신경망. Sourcebooks
[^13]: Bishop, C.M. (1995), ''[https://books.google.com/books?id=T0S0BgAAQBAJ 패턴 인식을 위한 신경망]'', Oxford: Oxford University Press, p. 372
[^14]: Ripley, Brian D.. 패턴 인식과 신경망. Cambridge University Press. (2008년 1월 10일)
관련 인사이트

공장의 뇌는 어떻게 생겼는가 — 제조운영 AI 아키텍처 해부
지식관리, 업무자동화, 의사결정지원 — 따로 보면 다 있던 것들입니다. 제조 AI의 진짜 차이는 이 셋이 순환하면서 '우리 공장만의 지능'을 만든다는 데 있습니다.

그 30분을 18년 동안 매일 반복했습니다 — 품질팀장이 본 AI Agent
18년차 품질팀장이 매일 아침 30분씩 반복하던 데이터 분석을 AI Agent가 3분 만에 해냈습니다. 챗봇과는 완전히 다른 물건 — 직접 시스템에 접근해서 데이터를 꺼내고 분석하는 AI의 현장 도입기.

ERP 20년, 나는 왜 AI를 얹기로 했나
ERP 20년차 제조IT본부장의 고백: 3,200만 행의 데이터가 잠들어 있었다. ERP를 바꾸지 않고 AI를 얹자, 일주일 걸리던 불량 분석이 수 초로 줄었다.