Quando você está tentando ajustar modelos a um grande conjunto de dados, o conselho comum é particionar os dados em três partes: o conjunto de dados de treinamento, validação e teste.
Isso ocorre porque os modelos geralmente têm três "níveis" de parâmetros: o primeiro "parâmetro" é a classe do modelo (por exemplo, SVM, rede neural, floresta aleatória), o segundo conjunto de parâmetros são os parâmetros de "regularização" ou "hiperparâmetros" ( por exemplo, coeficiente de penalidade de laço, escolha de kernel, estrutura de rede neural) e o terceiro conjunto são geralmente considerados os "parâmetros" (por exemplo, coeficientes para as covariáveis).
Dada uma classe de modelo e uma opção de hiperparâmetros, seleciona-se os parâmetros, escolhendo os parâmetros que minimizam o erro no conjunto de treinamento. Dada uma classe de modelo, é possível ajustar os hiperparâmetros minimizando o erro no conjunto de validação. Um seleciona a classe do modelo pelo desempenho no conjunto de testes.
Mas por que não mais partições? Frequentemente, é possível dividir os hiperparâmetros em dois grupos e usar uma "validação 1" para ajustar o primeiro e "validação 2" para ajustar o segundo. Ou pode-se até tratar o tamanho dos dados de treinamento / dados de validação divididos como um hiperparâmetro a ser ajustado.
Isso já é uma prática comum em alguns aplicativos? Existe algum trabalho teórico sobre o particionamento ideal de dados?
fonte
Esta é uma pergunta interessante, e achei útil com a resposta de @Wayne.
Pelo meu entendimento, dividir o conjunto de dados em diferentes partições depende do objetivo do autor e do requisito do modelo na aplicação no mundo real.
Normalmente, temos dois conjuntos de dados: treinamento e teste. O treinamento é usado para encontrar os parâmetros dos modelos ou para ajustá-los. O teste é usado para avaliar o desempenho do modelo em dados não vistos (ou dados do mundo real).
Se apenas dermos um passo no treinamento, é óbvio que há um processo de treinamento e um teste (ou validação).
No entanto, dessa maneira, pode surgir o problema de excesso de ajuste quando o modelo é treinado com um conjunto de dados, uma vez. Isso pode levar à instabilidade do modelo no problema do mundo real. Uma maneira de resolver esse problema é validar cruzadamente (CV) o modelo no conjunto de dados de treinamento. Isso significa que dividimos o conjunto de dados de treinamento em dobras diferentes, mantendo uma dobra para testar o modelo que é treinado com outras dobras. O vencedor é agora o que apresenta perda mínima (com base em nossa própria função objetiva) em todo o processo do CV. Ao fazer isso, podemos garantir que minimizamos a chance de excesso de ajuste no processo de treinamento e selecionamos o vencedor certo. O conjunto de testes é novamente usado para avaliar o vencedor nos dados invisíveis.
fonte