2,910 views

1 Answer

0 0 votes
There are several variations of the cross-validation algorithm. In the k-fold cross-validation, we have k-fold, and we divide the training set to multiple folds and run k-fold cross-validation. In some cases, usually when we are running machine learning diagnosis tests to see if our problem suffers from high variance or high bias, we split the dataset to 3 different splits of train, validation, and test, and measure the trained model on train set on all of these 3 splits by adding more data points each time.

Another usage for having a separate validation set is when we have a complex model which takes a long time to train or when we deal with big data. In any of these two cases such as when we are training deep neural networks, k-fold cross validation is so expensive. In each epoch, we just validate the model trained by the validation set and based on the results on the validation set, we continue to update the hyper-parameters. We also compare the results with the test set that we have never used during the training to make sure our training can generalize.

Related questions

3 3 votes
1 1 answer
810
810 views
Neo asked Oct 14, 2018
810 views
I am wondering what is the difference between normalization and feature scaling and usually when working on a machine learning project what comes normalization or feature...
2 2 votes
1 1 answer
891
891 views
1 1 vote
1 answers 1 answer
3.6k
3.6k views
tofighi asked Oct 30, 2018
3,565 views
Both of the batch size and number of epochs are integer values and seem to do the same thing in Stochastic gradient descent. What are these two hyper-parameters of this l...