{{위키데이터 속성 추적}}
{{기계 학습}}

[[기계 학습]](머신러닝)에서 일반적인 작업은 [[자료|데이터]]로부터 학습하고 데이터를 예측할 수 있는 [[알고리즘|알고리즘을]] 연구하고 구축하는 것이다.<ref>{{저널 인용|제목=Glossary of terms|저널=[[Machine Learning (journal)|Machine Learning]]|성=Ron Kohavi|성2=Foster Provost|url=https://ai.stanford.edu/~ronnyk/glossary.html|연도=1998|권=30|쪽=271–274|doi=10.1023/A:1007411609915}}</ref> 이러한 알고리즘은 입력 데이터로부터 [[수학적 모델|수학적 모델을]] 구축하여<ref name="bishop">{{서적 인용|제목=Pattern Recognition and Machine Learning|url=https://archive.org/details/patternrecogniti0000bish|성=Bishop|이름=Christopher M.|저자링크=Christopher Bishop|연도=2006|출판사=Springer|위치=New York|쪽=vii|isbn=0-387-31073-8|인용문=Pattern recognition has its origins in engineering, whereas machine learning grew out of computer science. However, these activities can be viewed as two facets of the same field, and together they have undergone substantial development over the past ten years.}}</ref> 데이터 기반 예측 또는 결정을 내리는 방식으로 작동한다. 모델을 구축하는 데 사용되는 이러한 입력 데이터는 일반적으로 여러 [[자료 집합|데이터 세트]] 로 나뉜다. 특히 모델 생성의 여러 단계에서 훈련, 검증, 테스트 세트라는 세 가지 데이터 세트가 일반적으로 사용된다.

모델은 초기에 모델의 매개변수(예: [[인공 신경망]]의 뉴런 간 연결 가중치)를 맞추는 데 사용되는 예제 세트인 '''훈련 데이터 세트'''<ref name="James 2013 176">{{서적 인용|url=http://www-bcf.usc.edu/~gareth/ISL/|제목=An Introduction to Statistical Learning: with Applications in R|성=James|이름=Gareth|날짜=2013|출판사=Springer|쪽=176|isbn=978-1461471370|access-date=2023-12-02|archive-date=2019-06-23|archive-url=https://web.archive.org/web/20190623150237/http://www-bcf.usc.edu/~gareth/ISL/|url-status=}}</ref>에 맞춰진다.<ref name="Ripley 1996 354">{{서적 인용|url=https://archive.org/details/patternrecogniti00ripl|제목=Pattern Recognition and Neural Networks|성=Ripley|이름=Brian|날짜=1996|출판사=Cambridge University Press|쪽=[https://archive.org/details/patternrecogniti00ripl/page/n365 354]|isbn=978-0521717700}}</ref> 모델(예: [[나이브 베이즈 분류|Naive Bayes 분류기]] )은 [[지도 학습]] 방법(예: [[경사 하강법]] 또는 [[확률적 경사 하강법 ]]과 같은 최적화 방법 사용)을 사용하여 훈련 데이터 세트에 대해 훈련된다. 실제로 훈련 데이터 세트는 입력 [[배열|벡터]] (또는 스칼라)와 해당 출력 벡터(또는 스칼라)의 쌍으로 구성되는 경우가 많으며, 여기서 답은 일반적으로 ''목표'' (또는 ''라벨'' )로 표시된다. 현재 모델은 훈련 데이터 세트를 사용하여 실행되고 결과를 생성한 다음 훈련 데이터 세트의 각 입력 벡터에 대해 ''목표'' 와 비교된다. 비교 결과와 사용된 특정 학습 알고리즘을 기반으로 모델의 매개변수가 조정된다. 모델 피팅에는 [[변수 선택 ]] 과 매개변수 [[추정 이론|추정(추정이론 참고)]]이 모두 포함될 수 있다.

이어서, 적합 모델은 '''검증 데이터 세트''' 라는 두 번째 데이터 세트의 관측값에 대한 반응을 예측하는 데 사용된다.<ref name="James 2013 1762">{{서적 인용|url=http://www-bcf.usc.edu/~gareth/ISL/|제목=An Introduction to Statistical Learning: with Applications in R|성=James|이름=Gareth|날짜=2013|출판사=Springer|쪽=176|isbn=978-1461471370|access-date=2023-12-02|archive-date=2019-06-23|archive-url=https://web.archive.org/web/20190623150237/http://www-bcf.usc.edu/~gareth/ISL/|url-status=}}</ref> 검증 데이터 세트는 모델의 [[하이퍼파라미터 ]]<ref name="Brownlee">{{웹 인용|url=https://machinelearningmastery.com/difference-test-validation-datasets/|제목=What is the Difference Between Test and Validation Datasets?|성=Brownlee|이름=Jason|날짜=2017-07-13|확인날짜=12 October 2017}}</ref> (예: 신경망의 숨겨진 단위 수(레이어 및 레이어 너비)<ref name="Ripley 1996 3542">{{서적 인용|url=https://archive.org/details/patternrecogniti00ripl|제목=Pattern Recognition and Neural Networks|성=Ripley|이름=Brian|날짜=1996|출판사=Cambridge University Press|쪽=[https://archive.org/details/patternrecogniti00ripl/page/n365 354]|isbn=978-0521717700}}</ref> )를 조정하는 동시에 훈련 데이터 세트에 맞는 모델에 대한 편견 없는 평가를 제공한다. 검증 데이터 세트는 [[조기 중단 ]] (검증 데이터 세트의 오류가 증가하면 훈련 데이터 세트에 대한 [[과적합]]의 신호이므로 훈련 중단)를 통해 [[정칙화|정규화]]에 사용될 수 있다.<ref name="prechelt_early_2012">{{서적 인용|url=https://archive.org/details/neuralnetworkstr00mlle|제목=Neural Networks: Tricks of the Trade|성=Prechelt|이름=Lutz|성2=Geneviève B. Orr|날짜=2012-01-01|편집자-성=Grégoire Montavon|편집자2-성=Klaus-Robert Müller|편집자2-링크=Klaus-Robert Müller|총서=Lecture Notes in Computer Science|출판사=Springer Berlin Heidelberg|쪽=[https://archive.org/details/neuralnetworkstr00mlle/page/n60 53]–67|장=Early Stopping — But When?|doi=10.1007/978-3-642-35289-8_5|isbn=978-3-642-35289-8}}</ref> 이 간단한 절차는 훈련 중에 검증 데이터 세트의 오류가 변동하여 여러 로컬 최소값을 생성할 수 있다는 사실로 인해 실제로 복잡하다. 이러한 복잡성으로 인해 과적합이 실제로 시작된 시기를 결정하기 위한 많은 임시 규칙이 생성되었다.<ref name="prechelt_early_2012" />

마지막으로, '''테스트 데이터 세트'''는 훈련 데이터 세트에 맞는 ''최종'' 모델에 대한 편견 없는 평가를 제공하는 데 사용되는 데이터 세트이다.<ref name="Brownlee2">{{웹 인용|url=https://machinelearningmastery.com/difference-test-validation-datasets/|제목=What is the Difference Between Test and Validation Datasets?|성=Brownlee|이름=Jason|날짜=2017-07-13|확인날짜=12 October 2017}}</ref> 테스트 데이터 세트의 데이터가 훈련(예: [[교차타당도|교차 검증]] )에 사용된 적이 없는 경우 테스트 데이터 세트를 '''홀드아웃 데이터 세트''' 라고도 한다. 일부 문헌에서는 "검증 세트"라는 용어가 "테스트 세트" 대신 사용되는 경우가 있다(예: 원본 데이터 세트가 두 개의 하위 세트로만 분할된 경우 테스트 세트를 검증 세트라고 부를 수 있다.)<ref name="Brownlee2" />

학습, 테스트 및 검증 세트에서 데이터 세트 분할의 크기와 전략을 결정하는 것은 사용 가능한 문제와 데이터에 따라 크게 달라진다.<ref>{{웹 인용|url=https://stackoverflow.com/questions/13610074/is-there-a-rule-of-thumb-for-how-to-divide-a-dataset-into-training-and-validatio|제목=Machine learning - Is there a rule-of-thumb for how to divide a dataset into training and validation sets?|웹사이트=Stack Overflow|확인날짜=2021-08-12}}</ref>

== 학습용 데이터셋(Training data set) ==

학습 데이터 세트는 학습 과정에서 사용되는 예제의 [[자료 집합|데이터 세트]]이며 [[통계적 분류|분류기 등]]의 매개변수(예: 가중치)를 맞추는 데 사용된다.<ref name="Ripley, B.D. 1996 p. 354">Ripley, B.D. (1996) ''Pattern Recognition and Neural Networks'', Cambridge: Cambridge University Press, p. 354</ref><ref name="cann-faq">"[ftp://ftp.sas.com/pub/neural/FAQ.html#A_data Subject: What are the population, sample, training set, design set, validation set, and test set?]", [ftp://ftp.sas.com/pub/neural/FAQ.html Neural Network FAQ, part 1 of 7: Introduction] ([ftp://ftp.sas.com/pub/neural/FAQ1.txt txt]), comp.ai.neural-nets, Sarle, W.S., ed. (1997, last modified 2002-05-17)</ref>

분류 작업의 경우 지도 학습 알고리즘은 훈련 데이터 세트를 살펴보고 좋은 [[예측 모델링]]을 생성할 변수의 최적 조합을 결정하거나 학습한다.<ref name="Larose2014">{{서적 인용|제목=Discovering knowledge in data : an introduction to data mining|url=https://archive.org/details/discoveringknowl0000laro_d4x2|성=Larose|이름=D. T.|성2=Larose|이름2=C. D.|연도=2014|출판사=Wiley|출판장소=Hoboken|doi=10.1002/9781118874059|isbn=978-0-470-90874-7|oclc=869460667}}</ref> 목표는 알려지지 않은 새로운 데이터에 잘 일반화되는 훈련된(적합된) 모델을 생성하는 것이다.<ref name="Xu Goodacre 2018">{{저널 인용|제목=On Splitting Training and Validation Set: A Comparative Study of Cross-Validation, Bootstrap and Systematic Sampling for Estimating the Generalization Performance of Supervised Learning|저널=Journal of Analysis and Testing|성=Xu|이름=Yun|성2=Goodacre|이름2=Royston|연도=2018|권=2|호=3|출판사=Springer Science and Business Media LLC|쪽=249–262|doi=10.1007/s41664-018-0068-2|issn=2096-241X|pmc=6373628|pmid=30842888}}</ref> 적합 모델은 보유 데이터 세트(검증 및 테스트 데이터 세트)의 "새로운" 예시를 사용하여 평가되어 새 데이터를 분류할 때 모델의 정확도를 추정한다.<ref name="Brownlee3">{{웹 인용|url=https://machinelearningmastery.com/difference-test-validation-datasets/|제목=What is the Difference Between Test and Validation Datasets?|성=Brownlee|이름=Jason|날짜=2017-07-13|확인날짜=12 October 2017}}</ref> 과적합과 같은 문제의 위험을 줄이려면 검증 및 테스트 데이터 세트의 예를 사용하여 모델을 훈련해서는 안 된다.<ref name="Brownlee3" />

경험적 관계에 대해 교육 데이터를 검색하는 대부분의 접근 방식은 데이터에 [[과적합|과적합되는]] 경향이 있다. 즉, 일반적으로 유지되지 않는 교육 데이터에서 명백한 관계를 식별하고 활용할 수 있다.

== 검증용 데이터셋(Validation data set) ==
검증 데이터 세트는 분류기의 [[하이퍼파라미터 ]] (예: 아키텍처)를 조정하는 데 사용되는 예제 [[자료 집합|데이터 세트]]이다. 개발 세트 또는 "개발 세트"라고도 한다.<ref>{{웹 인용|url=https://www.coursera.org/specializations/deep-learning|제목=Deep Learning|웹사이트=Coursera|언어=en|확인날짜=2021-05-18}}</ref> [[인공 신경망]]의 하이퍼파라미터의 예로는 각 레이어의 숨겨진 유닛 수가 있다.<ref name="Ripley, B.D. 1996 p. 3542">Ripley, B.D. (1996) ''Pattern Recognition and Neural Networks'', Cambridge: Cambridge University Press, p. 354</ref><ref name="cann-faq2">"[ftp://ftp.sas.com/pub/neural/FAQ.html#A_data Subject: What are the population, sample, training set, design set, validation set, and test set?]", [ftp://ftp.sas.com/pub/neural/FAQ.html Neural Network FAQ, part 1 of 7: Introduction] ([ftp://ftp.sas.com/pub/neural/FAQ1.txt txt]), comp.ai.neural-nets, Sarle, W.S., ed. (1997, last modified 2002-05-17)</ref> 아래 언급된 테스트 세트와 마찬가지로 훈련 데이터 세트와 동일한 확률 분포를 따라야 한다.

과적합을 방지하기 위해 [[통계적 분류|분류]] 매개변수를 조정해야 하는 경우 훈련 및 테스트 데이터 세트 외에 검증 데이터 세트가 필요하다. 예를 들어 문제에 가장 적합한 분류기를 찾는 경우 훈련 데이터 세트를 사용하여 다양한 후보 분류기를 훈련하고 검증 데이터 세트를 사용하여 성능을 비교하고 어떤 분류기를 선택할지 결정한 다음 마지막으로 테스트 데이터를 결정한다. 세트는 [[정확도와 정밀도|정확도]], [[민감도와 특이도|민감도]], [[민감도와 특이도|특이성]], [[정밀도와 재현율|F-측정값]] 등과 같은 성능 특성을 얻는 데 사용된다. 검증 데이터 세트는 하이브리드로 작동한다. 즉, 테스트에 사용되는 훈련 데이터이지만 하위 수준 훈련의 일부나 최종 테스트의 일부로는 사용되지 않는다.

[[모형 선택|모델 선택]]을 위해 검증 데이터 세트를 사용하는 기본 프로세스(훈련 데이터 세트, 검증 데이터 세트 및 테스트 데이터 세트의 일부)는 다음과 같다.<ref name="cann-faq3">"[ftp://ftp.sas.com/pub/neural/FAQ.html#A_data Subject: What are the population, sample, training set, design set, validation set, and test set?]", [ftp://ftp.sas.com/pub/neural/FAQ.html Neural Network FAQ, part 1 of 7: Introduction] ([ftp://ftp.sas.com/pub/neural/FAQ1.txt txt]), comp.ai.neural-nets, Sarle, W.S., ed. (1997, last modified 2002-05-17)</ref><ref>Bishop, C.M. (1995), ''[https://books.google.com/books?id=T0S0BgAAQBAJ Neural Networks for Pattern Recognition]'', Oxford: Oxford University Press, p. 372</ref> {{인용문|우리의 목표는 새로운 데이터에서 가장 우수한 성능을 보이는 네트워크를 찾는 것이므로, 다양한 네트워크를 비교하는 가장 간단한 접근 방식은 훈련에 사용된 데이터와 독립적인 데이터를 사용하여 오차 함수를 평가하는 것이다. 훈련 데이터 세트에 대해 정의된 적절한 오차 함수를 최소화하여 다양한 네트워크를 훈련한다. 그런 다음 독립적인 검증 집합을 사용하여 오차 함수를 평가하여 네트워크의 성능을 비교하고, 검증 집합에 대해 오차가 가장 작은 네트워크를 선택한다. 이 접근 방식을 '홀드 아웃' 방법이라고 한다. 이 절차는 그 자체로 검증 집합에 대한 과적합을 초래할 수 있으므로, 선택된 네트워크의 성능은 테스트 집합이라고 하는 세 번째 독립적인 데이터 집합에서 성능을 측정하여 확인해야 한다.}}


1. 여러 모델을 각각 훈련 데이터셋으로 학습시킨다.

2. 각 모델의 성능을 검증 데이터셋으로 평가한다.

3. 가장 좋은 결과를 보인 모델을 선택한다.

4. 선택된 모델의 최종 성능을 테스트 데이터셋으로 평가한다.

이 프로세스의 적용은 후보 모델이 동일한 네트워크의 연속 반복이고 검증 세트의 오류가 커지면 훈련을 중지하고 이전 모델(오류가 최소인 모델)을 선택하는 [[조기 중단 ]] 과정에 있다.

이 과정의 한 가지 응용은 조기 종료(early stopping)에서 볼 수 있다. 이때 후보 모델들은 동일한 네트워크의 연속적인 반복이며, 검증 세트에서의 오류가 증가할 때 학습을 중단하고, 이전 모델(오류가 최소인 모델)을 선택한다.

== 테스트용 데이터셋(Test data set) ==
테스트 데이터 세트는 훈련 데이터 세트와 확률론적 의미에서의 [[독립 (확률론)|독립]]이지만 훈련 데이터 세트와 동일한 [[확률 분포]]를 따르는 [[자료 집합|데이터 세트]]이다. 훈련 데이터 세트에 맞는 모델이 테스트 데이터 세트에도 잘 맞는 경우 [[과적합]]이 최소화된 것이다(아래 그림 참조). 테스트 데이터 세트와 달리 훈련 데이터 세트를 더 잘 맞추는 것은 일반적으로 과적합을 가리킨다.

따라서 테스트 세트는 완전히 지정된 분류기의 성능(즉, 일반화)을 평가하는 데에만 사용되는 예제 세트이다.<ref name="Ripley, B.D. 1996 p. 3543">Ripley, B.D. (1996) ''Pattern Recognition and Neural Networks'', Cambridge: Cambridge University Press, p. 354</ref><ref name="cann-faq4">"[ftp://ftp.sas.com/pub/neural/FAQ.html#A_data Subject: What are the population, sample, training set, design set, validation set, and test set?]", [ftp://ftp.sas.com/pub/neural/FAQ.html Neural Network FAQ, part 1 of 7: Introduction] ([ftp://ftp.sas.com/pub/neural/FAQ1.txt txt]), comp.ai.neural-nets, Sarle, W.S., ed. (1997, last modified 2002-05-17)</ref> 이를 위해 최종 모델은 테스트 세트의 예제 분류를 예측하는 데 사용된다. 이러한 예측은 모델의 정확도를 평가하기 위해 예제의 실제 분류와 비교된다.<ref name="Larose20142">{{서적 인용|제목=Discovering knowledge in data : an introduction to data mining|url=https://archive.org/details/discoveringknowl0000laro_d4x2|성=Larose|이름=D. T.|성2=Larose|이름2=C. D.|연도=2014|출판사=Wiley|출판장소=Hoboken|doi=10.1002/9781118874059|isbn=978-0-470-90874-7|oclc=869460667}}</ref><ref name="Xu Goodacre 20182">{{저널 인용|제목=On Splitting Training and Validation Set: A Comparative Study of Cross-Validation, Bootstrap and Systematic Sampling for Estimating the Generalization Performance of Supervised Learning|저널=Journal of Analysis and Testing|성=Xu|이름=Yun|성2=Goodacre|이름2=Royston|연도=2018|권=2|호=3|출판사=Springer Science and Business Media LLC|쪽=249–262|doi=10.1007/s41664-018-0068-2|issn=2096-241X|pmc=6373628|pmid=30842888}}</ref>

검증 데이터 세트와 테스트 데이터 세트가 모두 사용되는 시나리오에서 테스트 데이터 세트는 일반적으로 검증 프로세스 중에 선택된 최종 모델을 평가하는 데 사용된다. 원본 데이터 세트가 두 개의 하위 세트(훈련 및 테스트 데이터 세트)로 분할된 경우 테스트 데이터 세트는 모델을 한 번만 평가할 수 있다(예: [[교차타당도|홀드아웃 방법]] 에서).<ref name="Kohavi2001">{{저널 인용|제목=A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection|성=Kohavi|이름=Ron|url=https://www.researchgate.net/publication/2352264|날짜=2001-03-03|권=14}}</ref> 일부 출처에서는 이러한 방법을 권장하지 않는다.<ref name="Xu Goodacre 20182" /> 그러나 [[교차타당도|교차 검증]] 과 같은 방법을 사용하는 경우 편향과 가변성을 줄이는 데 도움이 되도록 모델 학습 및 테스트를 반복한 후 결과를 평균화하므로 두 개의 파티션으로 충분하고 효과적일 수 있다.<ref name="Brownlee4">{{웹 인용|url=https://machinelearningmastery.com/difference-test-validation-datasets/|제목=What is the Difference Between Test and Validation Datasets?|성=Brownlee|이름=Jason|날짜=2017-07-13|확인날짜=12 October 2017}}</ref>
[[파일:Traintest.svg|가운데|섬네일|700x700픽셀|동일한 통계 모집단의 훈련 집합(왼쪽)과 테스트 집합(오른쪽)이 파란색 점으로 표시되어 있다. 두 개의 예측 모델이 학습 데이터에 적합하다. 두 적합 모델은 모두 훈련 세트와 테스트 세트와 함께 플롯된다. 훈련 집합에서 주황색으로 표시된 적합도의 MSE는 4이고 녹색으로 표시된 적합도의 MSE는 9이다. 테스트 집합에서 주황색으로 표시된 적합도의 MSE는 15이고 녹색으로 표시된 적합도의 MSE는 13이다. 주황색 곡선은 테스트 집합과 학습 집합을 비교할 때 MSE가 거의 4배 증가하므로 학습 데이터에 심각하게 과적합한다. 녹색 곡선은 MSE가 2배 미만으로 증가하므로 훈련 데이터에 훨씬 덜 과적합된다.]]

== 용어의 혼용 ==
테스트는 그것에 대해 알아내기 위해 무엇인가를 시도하는 것이며(Collaborative International Dictionary of English에 따르면 "증명하기 위해, 실험을 통해 진실성, 진실성 또는 품질을 증명하기 위해") 검증하는 것은 무언가가 타당하다는 것을 증명하는 것이다( "확인하다; 유효하게 하다" 공동 국제 영어 사전). 이러한 관점에서 '''테스트 세트''' 및 '''검증 세트'''라는 용어의 가장 일반적인 사용은 여기에 설명된 것이다. 그러나 산업계와 학계에서는 내부 프로세스에서 개선을 위해 서로 다른 모델을 테스트하고(개발 세트로서의 테스트 세트) 최종 모델이 실제 사용 전에 검증이 필요한 모델이라는 점을 고려하여 때때로 혼용되어 사용되기도 한다. 보이지 않는 데이터(검증 세트). "기계 학습에 관한 문헌은 '검증'과 '테스트' 세트의 의미를 바꾸는 경우가 많다. 이는 인공 지능 연구에 만연한 용어 혼란의 가장 노골적인 예이다."<ref>{{서적 인용|제목=Pattern recognition and neural networks|성=Ripley, Brian D.|날짜=2009|출판사=Cambridge Univ. Press|쪽=Glossary|isbn=9780521717700|oclc=601063414}}</ref> 그럼에도 불구하고 반드시 지켜야 할 중요한 개념은 테스트든 검증이든 최종 세트는 최종 실험에만 사용해야 한다는 것이다.

== 교차 검증(Cross-validation) ==
보다 안정적인 결과를 얻고 모든 귀중한 데이터를 훈련에 사용하기 위해 데이터 세트를 여러 훈련 및 검증 데이터세트로 반복적으로 분할할 수 있다. 이를 [[교차타당도|교차 검증]] 이라고 한다. 모델의 성능을 확인하기 위해 일반적으로 교차 검증에서 제외된 추가 테스트 데이터 세트가 사용된다.

== 같이 보기 ==
* [[통계적 분류]]
* {{임시링크|머신 러닝 연구용 데이터 세트 목록|en|List of datasets for machine-learning research}}
* {{임시링크|계층적 분류|en|Hierarchical classification}}

== 각주 ==
{{각주}}

[[분류:기계 학습 데이터셋]]