Loading...
2024. 1. 12. 01:59

딥러닝 모델 training의 기본 법칙

1. 모델이 high bias인가? >> training set에 대한 성능이 좋은가? 안좋은가? training set에 대한 성능이 좋지 않다면, 더 깊은 network를 쓰거나 hidden layer, hidden unit을 많이 쓴다든지, epoch을 늘려 더 오래 training을 하거나 더 개선된 optimization 알고리즘을 사용하거나 더 좋은, 깊은 network를 사용하는 것은 거의 항상 도움이 되는 반면에 더 오래 training하는 것은 도움이 안되는 경우도 많지만, 시도해보는건 나쁠건 없다 ---------------------------------------------------------------------------------- 중요한건 최소한 high bias를 제거하는..

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. 6. 28. 12:32

time series data의 cross validation에 대한 여러가지 고찰

time series data는 일반적인 cross validation으로 검증을 수행해도 무리가 없을까? 일반적인 cross validation을 수행하면 과거 미래 데이터가 무작위로 섞일 것이다. 미래를 예측하기 위해서는 그 이전의 정보를 사용하여 예측하는 것이 기본인데 무작위로 뒤섞인다면 당연히 예측 성능이 떨어질 것이다. 1. ordering by time 기본적인 방법 중 하나는 데이터를 시간 순서대로 정렬하고 validation set을 train set보다 미래에 있는 것으로 선택하고 test set도 validation set, train set보다 미래에 있는 데이터를 선택하는 것이다. 이게 가장 흔하고 자주 사용하는 방법같다 그러나 이 방법이 안좋은 점은 test set은 무작위로 선택..

2022. 1. 17. 21:42

여러가지 cross validation 방법들

1. cross validation의 목적 과적합을 피하고 parameter를 튜닝하면서 일반적인 더욱 신뢰성있는 모델을 만들기 위해서이다. 2. holdout validation - validation set이 왜 필요할까?- validation set은 왜 필요한가? 일반적으로 train set과 test set을 7:3의 비율로 나누는데 그런 경우 train한 모델이 train set에만 과적합될 가능성이 매우 높다. 그래서 train set을 train과 validation set으로 나누는데 이 경우 validation set으로 train model을 평가하면서 hyperparameter를 튜닝할 수 있게 된다. 이렇게 데이터셋을 나누는 것을 holdout validation이라 한다. 그런데..

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개를 선택하는 모든 경우에 대해 반복하여 진행하고 그들의 적절한 평균으로 최종 모형 선택 ..