Is it always a good idea to train with the full dataset after k-fold cross-validation? Or is it better instead to stick with one of the models learned in one of the cross-validation splits for $\alpha_{best}$? Is there any way to tell?
Perhaps most importantly, how can I train with all the samples in my dataset and still fight overfitting?
Some background on the problem:
Say I have a family of models parametrized by $\vec\alpha = \alpha_1, \ldots \alpha_n$. Say also that I have a set of $N$ data points and that I do model selection with k-fold cross-validation to choose the model that best generalizes the data.
For model selection, I can do a grid search on the parameter space of $\vec\alpha$ running k-fold cross-validation for each $\vec\alpha$ candidate. In each of the folds in cross-validation, the set of $N$ data points is split into $N_{train}$ points for training and $N_{validation}$ for validation, and in each of these splits, training with the parameters $\vec\alpha$ along with its corresponding training set $N_{train}$ outputs a learned model $\beta_\alpha$.
The point of cross-validation is that for each of these folds I can check if the learned model overfits on the validation set, and based on this I can choose the model $\beta_\text{best}$ learned for the parameters $\vec\alpha_\text{best}$ that generalized best during cross validation in the grid search.
Now, say that after model selection, I would like to use all the $N$ points in my dataset and hopefully learn a better model. For this I could use the parameters $\vec\alpha_{best}$ corresponding to the model that I chose during model selection, and then after training on the full dataset, I would a get a new learned model $\beta_{full}$.
The problem is that, if I use all points in my dataset for training, I can't check if this new learned model $\beta_{full}$ overfits!