Eu sei que, para acessar o desempenho do classificador, tenho que dividir os dados em conjunto de treinamento / teste. Mas lendo isso :
Ao avaliar configurações diferentes ("hiperparâmetros") para estimadores, como a configuração C que deve ser definida manualmente para um SVM, ainda existe o risco de sobreajuste no conjunto de testes, pois os parâmetros podem ser ajustados até que o estimador funcione de maneira otimizada. Dessa forma, o conhecimento sobre o conjunto de testes pode "vazar" no modelo e as métricas de avaliação não relatam mais o desempenho da generalização. Para resolver esse problema, ainda outra parte do conjunto de dados pode ser mantida como o chamado "conjunto de validação": o treinamento prossegue no conjunto de treinamento, após o qual a avaliação é feita no conjunto de validação e quando o experimento parece ser bem-sucedido , a avaliação final pode ser feita no conjunto de testes.
Vejo que outro (terceiro) conjunto de validação é introduzido, o que é justificado pela super adaptação do conjunto de testes durante o ajuste dos hiperparâmetros.
O problema é que não consigo entender como essa adaptação pode aparecer e, portanto, não consigo entender a justificativa do terceiro conjunto.
fonte
Respostas:
Mesmo que você esteja treinando modelos exclusivamente nos dados de treinamento, está otimizando os hiperparâmetros (por exemplo, para um SVM) com base no conjunto de testes. Dessa forma, sua estimativa de desempenho pode ser otimista, porque você está basicamente reportando os melhores resultados. Como alguns deste site já mencionaram, a otimização é a raiz de todo mal nas estatísticas .C
As estimativas de desempenho devem sempre ser feitas com dados completamente independentes. Se você estiver otimizando algum aspecto com base nos dados de teste, seus dados de teste não serão mais independentes e você precisará de um conjunto de validação.
Outra maneira de lidar com isso é através da validação cruzada aninhada , que consiste em dois procedimentos de validação cruzada envolvidos um ao outro. A validação cruzada interna é usada no ajuste (para estimar o desempenho de um determinado conjunto de hiperparâmetros, que é otimizado) e a validação cruzada externa estima o desempenho de generalização de todo o pipeline de aprendizado de máquina (ou seja, otimizando hiperparâmetros + treinando o modelo final )
fonte
Eu acho que é mais fácil pensar nas coisas dessa maneira. Há duas coisas pelas quais a validação cruzada é usada: ajustar os hiper parâmetros de um modelo / algoritmo e avaliar o desempenho de um modelo / algoritmo.
Considere o primeiro uso como parte do treinamento real do algoritmo. Por exemplo, a validação cruzada para determinar a força de regularização de um GLM faz parte do estabelecimento do resultado final do GLM. Esse uso geralmente é chamado de validação cruzada interna . Como os (hiper) parâmetros ainda estão sendo definidos, a perda do conjunto de ajustes não é uma grande medida do desempenho real dos algoritmos.
O segundo uso da validação cruzada é usar dados mantidos fora de todo o processo que produziu o modelo, para testar seu poder preditivo. Esse processo é chamado de validação cruzada externa .
Observe que a validação interna pode ter sido parte do processo que produziu o modelo; portanto, em muitos casos, a validação cruzada interna e externa é necessária.
fonte
Durante a construção do modelo, você treina seus modelos em uma amostra de treinamento . Observe que você pode treinar modelos diferentes (ou seja, técnicas diferentes, como SVM, LDA, Floresta Aleatória, ... ou a mesma técnica com valores diferentes dos parâmetros de ajuste ou uma mistura).
Entre todos os diferentes modelos que você treinou, você deve escolher um e, portanto, usar a amostra de validação para encontrar aquele com o menor erro na amostra de teste.
Para este modelo 'final', ainda temos que estimar o erro e, portanto, usamos a amostra de teste .
fonte
A validação cruzada não supera completamente o problema de excesso de ajuste na seleção de modelos, apenas o reduz. O erro de validação cruzada depende do conjunto de dados que você usa. Quanto menor o conjunto de dados, maior será o erro de validação cruzada.
Além disso, se você tiver altos graus de liberdade na seleção de modelos, existe o risco de o modelo ter um desempenho ruim, pois o critério de validação cruzada é super ajustado.
Portanto, quando os dados são divididos em 2 conjuntos, também conhecidos como conjuntos de treinamento e teste, a divisão é feita estaticamente. Portanto, há uma chance de sobreajustar o conjunto de treinamento. No entanto, os conjuntos de validação cruzada são criados por métodos diferentes , como a validação cruzada k-fold, a validação cruzada de deixar de fora uma (LOOCV), etc., o que ajuda a garantir que a recompensa exata do ajuste da divisão de 2 conjuntos seja eliminada e assim a chance de excesso de ajuste é reduzida.
Esses são alguns recursos que ajudarão você a entender melhor.
Portanto, a validação cruzada ajudaria quando você tiver um conjunto de dados maior, em vez de um menor.
fonte