Loading...
2024. 1. 12. 00:05

딥러닝 시대의 train, validation, test set에 대한 고찰(70:30으로 나눠야하는가? train과 test가 서로 다른 분포? validation vs test는 무슨 차이인가?)

1. train set, validation set, test set 가지고 있는 모든 학습 데이터(training data)에서 전통적으로, 그 일부를 training set으로 사용하고 일부를 hold out cross validation set(development set)으로 쓰고 그 나머지는 test set으로 쓴다. training set에서 어떤 모델의 training algorithm을 수행하고, validation set은 후보로 고른 모델들의 성능을 평가하는데 사용한다. 위 과정을 충분히 반복하고 나서, 최종적으로 고른 모델이 얼마나 잘 편향없이 추론하는지(unbiased estimate) 평가하기 위해 test set을 이용하여 평가를 한다. 2. 70:30으로 데이터를 나누는 것이 ..

2023. 5. 5. 01:35

validation set의 필요성 이해하기 재활

1. validation set은 왜 필요할까 1-1) 필요성 학습 후 test set에 적용하여 모델의 성능을 평가해야하는데 학습 과정에는 평가하기 위한 데이터가 없으니 제대로 학습을 하고는 있는 것인지 정확한 검증이 어려움 학습에 이용되지 않은 데이터로 모델이 학습을 잘 하고 있는지 중간 검증을 하고 있는 것은 분명히 필요함 일반화를 잘 하고 있는지 아닌지 판단이 가능함 test set을 학습 중에 사용할 수는 없으니 train set의 일부로 validation set을 만들어 남은 train set으로 학습을 진행하고 validation set으로 중간 검증을 수행 data가 오히려 줄어드는 것이 아닌가? train set으로부터 validation set을 만들면 데이터가 줄어들어서 오히려 bi..

2022. 1. 3. 20:06

cross validation이란?

k-fold validation이라고도 한다. 보통 모형의 성능을 높이기 위해서 주어진 전체 data를 train data + validation data와 test data로 나눈다. train data는 학습을 위해 사용되는 부분이고 validation data는 학습한 모형의 성능을 평가하면서 hyperparameter를 튜닝하기 위해 사용한다. test data는 오직 최종 모형의 성능을 평가하기 위해서만 사용한다. 그런데 이들을 어떻게 나눠야 할까? train data를 k개의 fold로 나누고 그 중 k-1개를 train, 나머지 1개를 validation data라 하고 학습을 진행한다. 1-1) k-1개를 선택하는 모든 경우에 대해 반복하여 진행하고 그들의 적절한 평균으로 최종 모형 선택 ..

2021. 12. 24. 01:13

모델의 일반화능력(generalization performance)

모델에 학습을 계속 시켜서 train data에 대해 error를 0으로 만드는 것이 최적인가? 많은 경우 우리는 ‘generalization performance’가 좋은, train data가 아닌 다른 test data에 대해 잘 동작하는 모델을 만들고자 함 iteration이 커질 수록 train error는 계속 줄어들지만 test error는 어느 순간 커진다는 것이 알려짐 generalization performance가 좋다는 것은 이 모델의 train data의 성능이 다른 test data에서의 성능과 비슷하게 나온다는 것임 generalization performance가 좋은 모델이 반드시 좋은 모델인가? 사실 그렇지도 않다. generalization performance가 좋다고..