Por que os pesquisadores usam a validação cruzada de 10 vezes em vez de testar em um conjunto de validação?
On Novembro 30, 2020 by adminEu li muitos artigos de pesquisa sobre classificação de sentimento e tópicos relacionados.
A maioria deles usa validação cruzada de 10 vezes para treinar e testar classificadores. Isso significa que nenhum teste / validação separado é feito. Por que é que?
Quais são as vantagens / desvantagens dessa abordagem, especialmente para quem está fazendo pesquisas?
Comentários
- Tem certeza que não testes separados foram feitos?
- +1. Eu notei a mesma coisa. Muitas vezes, a validação cruzada de 10 vezes é o resultado final relatado.
Resposta
Este não é um problema se o CV é aninhado , ou seja, todas as otimizações, seleções de recursos e seleções de modelo, quer eles próprios usem CV ou não, são embrulhado em um grande currículo.
Como isso se compara a ter um conjunto de validação extra? Embora o conjunto de validação seja normalmente apenas uma parte selecionada mais ou menos aleatoriamente de todos os dados, é simplesmente o equivalente a uma iteração de CV. Para este fim, é na verdade um método pior porque pode ser facilmente tendencioso por (espero) felizmente / infelizmente selecionado ou conjunto de validação escolhido a dedo.
A única exceção a isso são as séries temporais e outros dados onde a ordem do objeto é importante; mas eles requerem tratamento especial de qualquer maneira.
Resposta
O principal motivo é que o estimador de validação cruzada k-fold tem um variância menor do que um estimador de conjunto único de validação, o que pode ser muito importante se a quantidade de dados disponível for limitada. Se você tiver um único conjunto de retenção, em que 90% dos dados são usados para treinamento e 10% para teste, o conjunto de testes é muito pequeno, então haverá muita variação na estimativa de desempenho para diferentes amostras de dados, ou para diferentes partições dos dados para formar conjuntos de treinamento e teste. A validação k-fold reduz essa variação calculando a média de k partições diferentes, portanto, a estimativa de desempenho é menos sensível ao particionamento dos dados. Você pode ir ainda mais longe, repetindo a validação cruzada k-fold, em que a validação cruzada é realizada usando diferentes partições dos dados para formar k subconjuntos e, em seguida, calculando a média sobre isso também.
Observe, entretanto, que todas as etapas do procedimento de ajuste do modelo (seleção de modelo, seleção de recursos, etc.) devem ser realizadas independentemente em cada dobra do procedimento de validação cruzada, ou a estimativa de desempenho resultante será otimista enviesada.
Resposta
[EDITADO à luz do comentário]
Acho que há um problema se você usar os resultados do CV para selecionar entre vários modelos.
O CV permite que você use todo o conjunto de dados para treinar e testar um modelo / método, enquanto é capaz de ter uma ideia razoável de quão bem ele irá generalizar. Mas se você está comparando vários modelos, meu instinto é que a comparação do modelo usa o nível extra de isolamento de teste de trem que o CV oferece, então o resultado final não será uma estimativa razoável da precisão do modelo escolhido.
Então eu acho que se você criar vários modelos e escolher um com base em seu currículo, você está sendo excessivamente otimista sobre o que você descobriu. Outro conjunto de validação seria necessário para ver o quão bem o o vencedor generaliza.
Comentários
- Obrigado. Isso mesmo. Mas minha pergunta era especialmente sobre por que os artigos de pesquisa não tinham validação final? razão adequada? Está prestes a ter menos dados ou porque o CV faz um bom trabalho e uma validação separada não é ‘ necessária?
- A abordagem de divisão de dados é altamente ineficiente. Até que os conjuntos de treinamento e teste sejam enormes, o erro quadrático médio para uma estimativa do provável desempenho futuro de um modelo preditivo é menor com bootstrapping ou inteligência h 100 repetições de validação cruzada de 10 vezes, assumindo que os procedimentos de reamostragem tiveram acesso a todas as etapas de modelagem que envolveram $ Y $. Use a divisão de dados quando também precisar validar o processo de medição, o instrumento de pesquisa ou outros procedimentos relacionados ao significado dos dados. Um bom uso da divisão de dados é quando a instrumentação varia de acordo com o país.
Resposta
-
Na minha experiência, o principal motivo é geralmente que você não tem amostras suficientes.
Na minha área (classificação de amostras biológicas / médicas), às vezes um conjunto de teste é mantido separado, mas geralmente compreende apenas alguns casos. que os intervalos de confiança do caso são geralmente muito grandes para ter qualquer utilidade. -
Outra vantagem da validação cruzada repetida / iterada ou validação fora de bootstrap é que você constrói um monte de modelos “substitutos”. Presume-se que sejam iguais. Se não forem, os modos são instáveis.Você pode realmente medir essa instabilidade (com relação à troca de alguns casos de treinamento) comparando os próprios modelos substitutos ou as previsões que diferentes modelos substitutos fazem para o mesmo caso.
-
Este artigo de Esbensen & Geladi oferece uma boa discussão sobre algumas limitações da validação cruzada.
Você pode cuidar da maioria deles, mas um ponto importante que não pode ser resolvido pela validação de reamostragem é o desvio, que está relacionado ao ponto do mbq “:A única exceção a isso são séries temporais e outros dados em que a ordem do objeto é importante
Desvio significa que, por exemplo, a resposta / calibração verdadeira de um instrumento muda lentamente com o tempo. Portanto, o erro de generalização para casos desconhecidos pode não ser o mesmo que para casos futuros desconhecidos. Você chega a instruções como “refazer calibração diária / semanal / …” se encontrar desvio durante a validação, mas isso precisa de conjuntos de testes sistematicamente adquiridos depois dos dados de treinamento.
(Você pode fazer divisões “especiais” que levam em conta tempo de aquisição da conta, se seu experimento for planejado de acordo, mas geralmente não cobrirá tanto tempo quanto você gostaria de testar para detecção de deriva)
Resposta
Por que devemos fazer a validação cruzada em vez de usar um conjunto de validação separado?
Aurélien Géron fala sobre isso em seu livro
Para evitar “desperdiçar” muitos dados de treinamento em conjuntos de validação, uma técnica comum é usar a validação cruzada.
Em vez de outros valores k, por que podemos preferir usar k = 10 na validação cruzada?
Para responder a a princípio, gostaria de agradecer Jason Brownlee, PhD por seu ótimo tutorial na validação cruzada k-fold. Estou citando um de seus livros citados.
Kuhn & Johnson falou sobre a escolha do valor k em seu livro .
A escolha de k geralmente é 5 ou 10, mas não existe uma regra formal. À medida que k fica maior, a diferença de tamanho entre o conjunto de treinamento e os subconjuntos de reamostragem fica menor. Conforme essa diferença diminui, o viés da técnica se torna menor (ou seja, o viés é menor para k = 10 do que k = 5 ). Neste contexto, o viés é a diferença entre os valores estimados e verdadeiros de desempenho
Então, pode-se dizer por que não usamos leave-one -out cross-validation (LOOCV), pois o valor de k é máximo lá e, portanto, o viés estará lá. Nesse livro, eles também falaram por que podemos preferir 10 vezes CV em vez de preferir LOOCV.
Do ponto de vista prático, valores maiores de k são mais computacionalmente pesado. No extremo, LOOCV é mais exigente do ponto de vista computacional porque requer tantos ajustes de modelo quantos pontos de dados e cada ajuste de modelo usa um subconjunto que é quase do mesmo tamanho do conjunto de treinamento. Molinaro (2005) descobriu que a validação cruzada leave-one-out e k = 10 vezes produziu resultados semelhantes, indicando que k = 10 é mais atraente do ponto de vista da eficiência computacional. Além disso, valores pequenos de k, digamos 2 ou 3, têm alta polarização, mas são muito eficientes do ponto de vista computacional.
Eu li muitos artigos de pesquisa sobre classificação de sentimento e tópicos relacionados. A maioria deles usa validação cruzada 10 vezes para treinar e testar classificadores. Isso significa que nenhum teste / validação separado é feito. Por que isso?
Se não usarmos validação cruzada (CV) para selecionar um dos vários modelos (ou não usarmos CV para ajustar os hiperparâmetros) , não precisamos fazer testes separados. O motivo é que o propósito de fazer o teste separado é realizado aqui em CV (por uma das k dobras em cada iteração). Diferentes tópicos de SE falaram muito sobre isso. Você pode verificar.
No final, sinta-se à vontade para me perguntar, se algo que escrevi não estiver claro para você.
Deixe uma resposta