Como os diferentes métodos de validação cruzada se comparam em termos de variação e tendência do modelo?
Minha pergunta é parcialmente motivada por este tópico: Número ideal de dobras na validação cruzada fold : o CV de deixar um fora é sempre a melhor escolha? . A resposta sugere que os modelos aprendidos com a validação cruzada de exclusão única têm maior variação do que os aprendidos com a validação cruzada regular com fold, tornando o CV de exclusão única uma opção pior.
No entanto, minha intuição me diz que no CV individual, deve-se observar uma variação relativamente menor entre os modelos do que no CV fold, já que estamos apenas trocando um ponto de dados entre as dobras e, portanto, os conjuntos de treinamento entre as dobras se sobrepõem substancialmente.
Ou indo na outra direção, se é baixo no CV K- fold, os conjuntos de treinamento seriam bastante diferentes entre as dobras, e os modelos resultantes têm maior probabilidade de serem diferentes (portanto, maior variação).
Se o argumento acima estiver correto, por que os modelos aprendidos com o currículo individualizado apresentam maior variação?
fonte
Respostas:
[TL: DR] Um resumo das postagens e debates recentes (julho de 2018)
Este tópico foi amplamente discutido neste site e na literatura científica, com visões, intuições e conclusões conflitantes. De volta a 2013, quando essa pergunta foi feita em primeiro lugar, a visão dominante era que LOOCV leva a maior variância do erro de generalização espera de um algoritmo de treinamento produzindo modelos fora de amostras de tamanho .n(K−1)/K
Essa visão, no entanto, parece ser uma generalização incorreta de um caso especial e eu argumentaria que a resposta correta é: "depende ..."
Parafraseando Yves Grandvalet, autor de um artigo de 2004 sobre o tópico, resumiria o argumento intuitivo da seguinte maneira:
Simulações experimentais de mim mesmo e de outras pessoas neste site, bem como as de pesquisadores nos artigos abaixo, mostrarão que não há verdade universal sobre o assunto. A maioria das experiências têm monotonicamente decrescente ou variância constante com , mas alguns casos especiais mostram aumento desacordo com K .K K
O restante desta resposta propõe uma simulação em um exemplo de brinquedo e uma revisão informal da literatura.
[Atualização] Você pode encontrar aqui uma simulação alternativa para um modelo instável na presença de outliers.
Simulações de um exemplo de brinquedo mostrando variação decrescente / constante
Considere o exemplo de brinquedo a seguir, onde estamos ajustando um polinômio de grau 4 a uma curva senoidal barulhenta. Esperamos que este modelo tenha um desempenho ruim para pequenos conjuntos de dados devido ao ajuste excessivo, como mostra a curva de aprendizado.
Observe que plotamos 1 - MSE aqui para reproduzir a ilustração da página 243 da ESLII
Metodologia
Você pode encontrar o código para esta simulação aqui . A abordagem foi a seguinte:
Lado Esquerdo : Kfolds para 200 pontos de dados, Lado Direito : Kfolds para 40 pontos de dados
Desvio padrão de MSE (entre os conjuntos de dados i) vs Kfolds
A partir desta simulação, parece que:
Uma revisão informal da literatura
Os três artigos a seguir investigam o viés e a variação da validação cruzada
Kohavi 1995
Este artigo é frequentemente referido como a fonte do argumento de que o LOOC tem maior variação. Na seção 1:
Essa afirmação é fonte de muita confusão, porque parece ser de Efron em 1983, não de Kohavi. As argumentações teóricas de Kohavi e os resultados experimentais vão contra essa afirmação:
Corolário 2 (variação no CV)
Experiência Em seu experimento, Kohavi compara dois algoritmos: uma árvore de decisão C4.5 e um classificador Naive Bayes em vários conjuntos de dados do repositório UC Irvine. Seus resultados estão abaixo: LHS é precisão versus dobras (isto é, viés) e RHS é desvio padrão versus dobras
De fato, apenas a árvore de decisão em três conjuntos de dados tem claramente maior variação para aumentar K. Outros resultados mostram variação decrescente ou constante.
Finalmente, embora a conclusão possa ser formulada com mais força, não há argumento de que a LOO tenha uma variação maior, pelo contrário. Da seção 6. Resumo
Zhang e Yang
Os autores têm uma forte visão sobre esse tópico e afirmam claramente na Seção 7.1
Resultados experimentais Da mesma forma, os experimentos de Zhang apontam na direção da variação decrescente de K, como mostrado abaixo para o modelo True e o modelo errado para a Figura 3 e Figura 5.
fonte
No entanto, observe que, embora a validação cruzada dupla não tenha o problema de sobreposição de conjuntos de treinamento, muitas vezes também apresenta grande variação, pois os conjuntos de treinamento têm apenas metade do tamanho da amostra original. Um bom compromisso é a validação cruzada dez vezes.
Alguns artigos interessantes que abordam esse assunto (dentre muitos outros):
fonte
Eu acho que sua intuição é sensata se você estiver pensando nas previsões feitas pelos modelos em cada dobra deixada de fora. Eles são baseados em dados correlacionados / muito semelhantes (o conjunto de dados completo menos um ponto de dados) e, portanto, farão previsões semelhantes - ou seja, baixa variabilidade.
A fonte de confusão, porém, é que, quando as pessoas falam sobre LOOCV levando a alta variabilidade, elas não estão falando sobre as previsões feitas por muitos modelos criados durante esse ciclo de validação cruzada nos conjuntos de validação. Em vez disso, eles estão falando sobre quanta variabilidade seu modelo final escolhido (aquele escolhido via LOOCV) teria se você treinar esse modelo / parâmetros exatos em novos conjuntos de treinamento - conjuntos de treinamento que seu modelo não tinha visto antes. Nesse caso, a variabilidade seria alta.
Por que a variabilidade seria alta? Vamos simplificar um pouco isso. Imagine que, em vez de usar o LOOCV para escolher um modelo, você tenha apenas um conjunto de treinamento e depois teste um modelo construído usando esses dados de treinamento, digamos, 100 vezes em 100 pontos de dados de teste únicos (os pontos de dados não fazem parte do conjunto de treinamento) . Se você escolher o modelo e o conjunto de parâmetros que se saem melhor nesses 100 testes, selecionará um que permita que esse conjunto de treinamento específico seja realmente bom em prever os dados do teste. Você pode escolher um modelo que captura 100% das associações entre esse conjunto de dados de treinamento específico e os dados de validação. Infelizmente, algumas partes dessas associações entre os conjuntos de dados de treinamento e teste serão associações de ruídos ou falsas porque, embora o conjunto de testes seja alterado e você possa identificar ruídos neste lado, o conjunto de dados de treinamento não funciona e você não pode determinar qual variação explicada se deve ao ruído. Em outras palavras, o que isso significa é que superestimaram suas previsões para esse conjunto de dados de treinamento específico.
Agora, se você treinasse novamente este modelo com os mesmos parâmetros várias vezes em novos conjuntos de treinamento, o que aconteceria? Bem, um modelo que se adapte a um conjunto específico de dados de treinamento levará a variabilidade em sua previsão quando o conjunto de treinamento mudar (ou seja, altere o conjunto de treinamento levemente e o modelo alterará substancialmente suas previsões).
Como todas as dobras no LOOCV são altamente correlacionadas, é semelhante ao caso acima (mesmo conjunto de treinamento; diferentes pontos de teste). Em outras palavras, se esse conjunto de treinamento específico tiver alguma correlação espúria com esses pontos de teste, seu modelo terá dificuldades para determinar quais correlações são reais e quais são espúrias, porque, embora o conjunto de testes seja alterado, o conjunto de treinamento não.
Por outro lado, dobras de treinamento menos correlacionadas significam que o modelo será adequado para vários conjuntos de dados exclusivos. Portanto, nessa situação, se você treinar novamente o modelo em outro novo conjunto de dados, isso levará a uma previsão semelhante (ou seja, pequena variabilidade).
fonte
Embora essa pergunta seja bastante antiga, gostaria de adicionar uma resposta adicional, pois acho que vale a pena esclarecer isso um pouco mais.
Essa resposta não sugere isso, e não deveria. Vamos revisar a resposta fornecida lá:
Está falando sobre desempenho . Aqui, o desempenho deve ser entendido como o desempenho do estimador de erros do modelo . O que você está estimando com k-fold ou LOOCV é o desempenho do modelo, ao usar essas técnicas para escolher o modelo e fornecer uma estimativa de erro em si. Esta NÃO é a variação do modelo, é a variação do estimador do erro (do modelo). Veja o exemplo (*) abaixo.
É precisamente essa menor variação e maior correlação entre os modelos que faz com que o estimador de que falo acima tenha mais variação, porque esse estimador é a média dessas quantidades correlacionadas e a variação da média dos dados correlacionados é maior que a dos dados não correlacionados . Aqui é mostrado o porquê: variação da média dos dados correlacionados e não correlacionados .
De fato.
O argumento acima está correto. Agora, a pergunta está errada. A variação do modelo é um tópico totalmente diferente. Há uma variação em que existe uma variável aleatória. No aprendizado de máquina, você lida com muitas variáveis aleatórias, em particular e não restritas a: cada observação é uma variável aleatória; a amostra é uma variável aleatória; o modelo, uma vez que é treinado a partir de uma variável aleatória, é uma variável aleatória; o estimador do erro que seu modelo produzirá quando confrontado com a população é uma variável aleatória; e por último mas não menos importante, o erro do modelo é uma variável aleatória, pois é provável que haja ruído na população (isso é chamado de erro irredutível). Também pode haver mais aleatoriedade se houver estocástico envolvido no processo de aprendizado do modelo. É de suma importância distinguir entre todas essas variáveis.
O último, embora tenha mais viés, deve ser preferido, pois possui muito menos variação e um viés aceitável , ou seja, um compromisso ( trade-off de viés-variância ). Observe que você não deseja uma variação muito baixa se isso implica em um viés alto!
Nota adicional : Nesta resposta, tento esclarecer (o que considero) os conceitos errôneos que cercam esse tópico e, em particular, tenta responder ponto por ponto e precisamente as dúvidas que o solicitante tem. Em particular, tento esclarecer qual variação estamos falando , e é sobre isso que é essencialmente solicitado aqui. Ou seja, explico a resposta que está vinculada pelo OP.
Dito isto, embora eu forneça o raciocínio teórico por trás da alegação, ainda não encontramos evidências empíricas conclusivas que a sustentem. Então, por favor, tenha muito cuidado.
Idealmente, você deve ler este post primeiro e depois consultar a resposta de Xavier Bourret Sicotte, que fornece uma discussão perspicaz sobre os aspectos empíricos.
fonte
As questões são realmente sutis. Mas definitivamente não é verdade que o LOOCV tenha uma variação maior em geral. Um artigo recente discute alguns aspectos-chave e aborda vários equívocos aparentemente generalizados sobre validação cruzada.
Yongli Zhang e Yuhong Yang (2015). Validação cruzada para selecionar um procedimento de seleção de modelo. Journal of Econometrics, vol. 187, 95-112.
Em mais detalhes:
fonte
Antes de discutir sobre o viés e a variação, a primeira pergunta é:
fonte
Eu acho que há uma resposta mais direta. Se você aumentar k, os conjuntos de testes ficarão cada vez menores. Como as dobras são amostradas aleatoriamente, pode acontecer com pequenos conjuntos de testes, mas não tão provavelmente com os maiores, que eles não são representativos de um aleatório aleatório. Um conjunto de testes pode conter registros difíceis de prever e outro fácil. Portanto, a variação é alta quando você prevê conjuntos de testes muito pequenos por dobra.
fonte