Como a validação cruzada supera o problema de super adaptação?

Respostas:

23

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).

Dikran Marsupial
fonte
11
Um pensamento que tive foi que a validação cruzada está apenas aplicando um modelo (implícito) diferente para os dados. Você pode certamente mostrar isso com o "primo" do CV, o autoinicializador não paramétrico (que é baseado em um modelo de Processo Dirichlet com o parâmetro de concentração 0).
probabilityislogic
Idéia interessante. Minha opinião é de que (para os modelos que estou interessado) a separação entre parâmetros e hiperparâmetros é computacional e não lógica; os hiperparâmetros ainda são parâmetros que precisam ser ajustados aos dados, e fazer isso indiretamente usando a validação cruzada não muda isso. Em maio do ano passado, eu investiguei o ajuste de quais são normalmente hiperparâmetros de um modelo de kernel usando o critério de treinamento e adicionando um termo de regularização adicional para evitar o excesso de ajuste no critério de seleção de modelo (LOOCV) e funcionou muito bem.
Dikran Marsupial
11
Por que o CV k-fold é mais caro do que deixar para fora? Minha experiência (e minha intuição) diz o contrário. Como no CV k-fold estamos realizando testes k, em qualquer lugar do L1O, realizamos testes N (>> k), e geralmente a parte do treinamento leva mais tempo devido a alguma inversão da matriz, então o L1O não é a opção mais cara?
jeff
11
Deixar um de fora pode ser realizado (ou aproximado) como um subproduto da adaptação do modelo ao conjunto de dados inteiro, a um custo adicional muito pequeno, para uma ampla variedade de modelos (por exemplo, regressão linear). Vou editar a resposta para deixar isso mais claro.
Dikran Marsupial
Meu entendimento de deixar de fora é que é o CV com dobra em k - a melhor, mas mais cara forma computacional do CV da dobra em k, onde k = tamanho do conjunto de dados.
precisa
10

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.

Wayne
fonte
3

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 AMUMAMBDEu

P(MUMA|D,Eu)P(MB|D,Eu)=P(MUMA|Eu)P(MB|Eu)×P(D|MUMA,Eu)P(D|MB,Eu)

P(D|MUMA,Eu)

P(D|MUMA,Eu)=P(D,θUMA|MUMA,Eu)dθUMA=P(θUMA|MUMA,Eu)P(D|MUMA,θUMA,Eu)dθUMA

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.

probabilityislogic
fonte
2
O problema de especificação incorreta do modelo é a chave. Os métodos bayesianos (especialmente os maximizadores de evidências "bayes-mans") podem ter um desempenho muito baixo na especificação incorreta do modelo, enquanto a validação cruzada parece funcionar muito bem quase o tempo todo. O ganho quando as suposições (anteriores) são "certas" geralmente é muito menor do que a penalidade quando elas são "erradas"; portanto, a validação cruzada vence em média (já que quase não faz suposições). Não é tão satisfatório intelectualmente! ; o)
Dikran Marsupial
11
@dikran - interessante. Não tenho tanta certeza se concordo com o que você diz. Então você diz que se o modelo está mal especificado, a validação cruzada com o mesmo modelo é melhor do que usar o teorema de Bayes? Eu gostaria de ver um exemplo disso.
probabilityislogic
@probabiltyislogic Eu não acho que seja uma observação particularmente nova, Rasmussen e Williams mencionam na página 118 de seu excelente livro Processo Gaussiano (embora seja essencialmente uma referência a um comentário semelhante na monografia de Grace Wahba sobre splines). Essencialmente, a probabilidade marginal é a probabilidade dos dados, considerando as premissas do modelo, enquanto a probabilidade XVAL é uma estimativa da probabilidade dos dados, independentemente das premissas do modelo, portanto, mais confiável quando as premissas não são válidas. Um estudo empírico adequado seria útil.
Dikran Marsupial
@probabilityislogic Devo acrescentar que gosto da abordagem bayesiana da seleção de modelos, mas quase sempre usei a validação cruzada na prática simplesmente porque geralmente fornece resultados (estatisticamente) tão bons quanto ou melhores do que as abordagens bayesianas.
Dikran Marsupial
XEuyEuXEup(yEu|XEu,θy)p(XEu|θX). O segundo termo tem uma contribuição muito maior para a probabilidade; portanto, se um modelo se sair bem lá e mordê-lo na previsão, a probabilidade marginal não se importará.
JMS