Como o OP colocou uma recompensa nessa questão, deve atrair alguma atenção e, portanto, é o lugar certo para discutir algumas idéias gerais, mesmo que não responda diretamente ao OP.
Primeiro nome:
a) validação cruzada é o nome geral para todas as técnicas de estimativa / medida que usam um conjunto de testes diferente do conjunto de trens. Sinônimo: estimativas fora da amostra ou extra-amostra. Antônimo: estimativa em amostra.
Estimativa dentro da amostra são técnicas que usam algumas informações no conjunto de treinamento para estimar a qualidade do modelo (não necessariamente erro). Isso é muito comum se o modelo tem um viés alto - isto é - faz fortes suposições sobre os dados. Nos modelos lineares (um modelo de alto viés), como no exemplo da pergunta, utiliza-se o desvio ao quadrado R, AIC, BIC, como medida da qualidade do modelo - todos esses são estimadores dentro da amostra. No SVM, por exemplo, os dados da razão no vetor de suporte para o número de dados são uma estimativa de amostra do erro do modelo.
Existem muitas técnicas de validação cruzada:
b) retenção é o método nº 1 acima. Divida o conjunto em um treinamento e um teste. Há uma longa história de discussões e práticas sobre os tamanhos relativos do conjunto de treinamento e teste.
c) k- fold - método # 2 acima. Bastante padrão.
d) Deixar um fora - método # 3 acima.
e) autoinicialização : se o seu aparelho tiver N dados, selecione aleatoriamente N amostras COM SUBSTITUIÇÃO do aparelho e use-as como treinamento. Os dados do conjunto original que não foram amostras em nenhum momento são usados como o conjunto de teste. Existem diferentes maneiras de calcular a estimativa final do erro do modelo que usa o erro para o conjunto de testes (fora da amostra) e o erro para o conjunto de trens (dentro da amostra). Veja, por exemplo, o .632 bootstrap. Eu acho que também existe uma fórmula .632+ - elas são fórmulas que estimam o verdadeiro erro do modelo usando erros fora da amostra e dentro da amostra.
f) Ortogonal à seleção do método acima é a questão da repetição. Exceto por deixar de fora, todos os métodos acima podem ser repetidos várias vezes. De fato, pode-se falar sobre REPEATED hold-out, ou REPEATED k- fold. Para ser justo, quase sempre o método de autoinicialização é usado de forma repetida.
A próxima pergunta é: qual método é "melhor". O problema é o que "melhor" significa.
1) A primeira resposta é se cada um desses métodos é enviesado para a estimativa do erro do modelo (para uma quantidade infinita de dados futuros).
2) A segunda alternativa é quão rápido ou quão bem cada um desses métodos converge para o verdadeiro erro do modelo (se eles não são tendenciosos). Eu acredito que este ainda é um tópico de pesquisa. Deixe-me apontar para esses dois documentos (atrás do pay-wall), mas o resumo nos dá uma compreensão do que eles estão tentando realizar. Observe também que é muito comum chamar k- fold como "validação cruzada" por si só.
Provavelmente existem muitos outros trabalhos sobre esses tópicos. Esses são apenas alguns exemplos.
3) Outro aspecto de "melhor" é: dada uma medida específica do erro do modelo usando uma das técnicas acima, até que ponto você pode ter certeza de que o erro correto do modelo está próximo.
Em geral, nesse caso, você deseja tomar muitas medidas do erro e calcular um intervalo de confiança (ou um intervalo credível se você seguir uma abordagem bayesiana). Nesse caso, o problema é quanto você pode confiar na variação do conjunto de medidas de erro. Observe que, exceto para deixar de fora, todas as técnicas acima fornecerão muitas medidas diferentes ( k medidas para uma dobra k , n medidas para uma retenção n repetida) e, assim, você poderá medir a variação (ou desvio padrão ) deste conjunto e calcule um intervalo de confiança para a medida de erro.
Aqui as coisas ficam um pouco complicadas. Pelo que entendi do artigo Nenhum estimador imparcial da variação da validação cruzada k- fold (não atrás do paywall), não se pode confiar na variação que você obtém de uma k- fold - portanto, não se pode construir um bom intervalo de confiança a partir de k - dobras. Também pelo que entendi do artigo Testes estatísticos aproximados para comparar algoritmos de aprendizado de classificação supervisionada (não atrás do paywall), técnicas que usam medidas repetidas ( k repetidasretenção repetida e repetida - não tenho certeza sobre o bootstrap) subestimará a verdadeira variação da medida de erro (é um pouco fácil ver isso - já que você está amostrando de um conjunto finito se repetir a medida um número muito grande algumas vezes, os mesmos valores continuarão se repetindo, que mantêm a média a mesma, mas reduzem a variação). Assim, as técnicas de medidas repetidas serão otimistas demais no intervalo de confiança.
Este último artigo sugere fazer duas vezes 5 vezes repetidas - que ele chama de CV 5 × 2 - como um bom equilíbrio de muitas medidas (10), mas não de muitas repetições.
EDITAR:
Obviamente, existem ótimas respostas no Cross Validated para algumas dessas perguntas (embora às vezes elas não concordem entre si). Aqui estão alguns:
Validação cruzada ou bootstrapping para avaliar o desempenho da classificação?
Diferenças entre validação cruzada e bootstrapping para estimar o erro de previsão
Validação cruzada ou bootstrapping para avaliar o desempenho da classificação?
Noções básicas sobre autoinicialização para validação e seleção de modelo
Em geral, a validação cruzada de tags é sua amiga aqui.
Então, qual é a melhor solução? Eu não sei. Eu uso CV 5 × 2 quando preciso ser muito rigoroso, quando preciso ter certeza de que uma técnica é melhor que outra, especialmente em publicações. E uso um hold out se não estou planejando fazer alguma medida de variação ou desvio padrão ou se tenho restrições de tempo - há apenas um modelo aprendendo em um hold-out .