Por que um procedimento de validação cruzada supera o problema de sobreajustar um modelo?
Por que um procedimento de validação cruzada supera o problema de sobreajustar um modelo?
Respostas:
Não consigo pensar em uma explicação suficientemente clara no momento, então deixarei isso para outra pessoa; no entanto, 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 não tem uma variação insignificante, especialmente se o tamanho do conjunto de dados for pequeno; em outras palavras, você obtém um valor ligeiramente diferente, dependendo da amostra específica de dados que você usa. Isso significa que, se você tiver muitos graus de liberdade na seleção de modelos (por exemplo, muitos recursos para selecionar um pequeno subconjunto, muitos hiperparâmetros para ajustar, muitos modelos para escolher), poderá ajustar demais o critério de validação cruzada como o modelo é ajustado de maneiras que exploram essa variação aleatória, e não de maneiras que realmente melhoram o desempenho, e você pode acabar com um modelo com desempenho ruim. Para uma discussão sobre isso, consulteCawley e Talbot "Sobre adaptação excessiva na seleção de modelos e viés de seleção subsequente na avaliação de desempenho", JMLR, vol. 11, pp. 2079-2107, 2010
Infelizmente, a validação cruzada provavelmente o decepcionará quando você tiver um pequeno conjunto de dados, exatamente quando você mais precisará da validação cruzada. Observe que a validação cruzada k-fold é geralmente mais confiável do que a validação cruzada de exclusão única, pois apresenta uma variação menor, mas pode ser mais caro para calcular para alguns modelos (é por isso que o LOOCV às vezes é usado para a seleção de modelos, mesmo que tenha uma alta variação).
Minha resposta é mais intuitiva do que rigorosa, mas talvez ajude ...
Pelo que entendi, o ajuste excessivo é o resultado da seleção de modelos com base no treinamento e teste usando os mesmos dados, em que você tem um mecanismo de ajuste flexível: você ajusta sua amostra de dados tão intimamente que está ajustando o ruído, os valores extremos e todos a outra variância.
A divisão dos dados em um conjunto de treinamento e teste impede que você faça isso. Mas uma divisão estática não está usando seus dados de maneira eficiente e a divisão em si pode ser um problema. A validação cruzada mantém a vantagem de não recompensar um ajuste exato aos dados de treinamento da divisão de testes de treinamento, além de usar os dados que você possui da maneira mais eficiente possível (ou seja, todos os seus dados são usados como dados de treinamento e teste, mas não na mesma execução).
Se você possui um mecanismo de ajuste flexível, precisa restringir a seleção do modelo para que não favoreça "perfeito", mas que se encaixe de alguma forma complexa. Você pode fazê-lo com AIC, BIC ou algum outro método de penalização que penalize a complexidade de ajuste diretamente, ou com CV. (Ou você pode fazer isso usando um método de ajuste que não seja muito flexível, que é uma das razões pelas quais os modelos lineares são bons.)
Outra maneira de olhar para isso é que o aprendizado é sobre generalização, e um ajuste muito rígido não é, de certo modo, generalizador. Ao variar o que aprende e o que é testado, você generaliza melhor do que se aprendesse apenas as respostas para um conjunto específico de perguntas.
De uma perspectiva bayesiana, não tenho tanta certeza de que a validação cruzada faça algo que uma análise bayesiana "adequada" não faça para comparar modelos. Mas não tenho 100% de certeza disso.
Isso ocorre porque, se você está comparando modelos de maneira bayesiana, já está essencialmente fazendo validação cruzada. Isso ocorre porque as chances posteriores do modelo A
O que é chamado de distribuição preditiva anterior . Diz basicamente o quão bem o modelo previu os dados realmente observados, exatamente o que a validação cruzada faz, com o "anterior" sendo substituído pelo modelo de "treinamento" ajustado e os "dados" sendo substituídos pelo "teste" dados. Portanto, se o modelo B previu os dados melhor que o modelo A, sua probabilidade posterior aumenta em relação ao modelo A. Parece a partir disso que o teorema de Bayes realmente fará a validação cruzada usando todos os dados, em vez de um subconjunto. No entanto, não estou totalmente convencido disso - parece que conseguimos algo por nada.
Outra característica interessante desse método é que ele possui uma "navalha de occam" embutida, dada pela razão de constantes de normalização das distribuições anteriores para cada modelo.
No entanto, a validação cruzada parece valiosa para a temida "outra coisa" ou o que às vezes é chamado de "especificação incorreta do modelo". Fico constantemente impressionado com a questão de saber se essa "outra coisa" importa ou não, pois parece que deveria importar - mas deixa você paralisado, sem solução alguma, quando aparentemente parece importante. Apenas algo para causar dor de cabeça, mas nada que você possa fazer sobre isso - exceto pensar no que essa "outra coisa" pode ser e experimentá-la em seu modelo (para que não faça mais parte de "outra coisa") .
Além disso, a validação cruzada é uma maneira de realmente fazer uma análise bayesiana quando as integrais acima são ridiculamente difíceis. E a validação cruzada "faz sentido" para praticamente qualquer pessoa - é "mecânica" e não "matemática". Portanto, é fácil entender o que está acontecendo. E isso também parece focar na parte importante dos modelos - fazendo boas previsões.