Validação cruzada em inglês simples?

Respostas:

54

Considere a seguinte situação:

Eu quero pegar o metrô para ir ao meu escritório. Meu plano é pegar meu carro, estacionar no metrô e depois pegar o trem para ir ao meu escritório. Meu objetivo é pegar o trem às 8h15 todos os dias para que eu possa chegar ao meu escritório a tempo. Preciso decidir o seguinte: (a) a hora em que preciso sair da minha casa e (b) a rota que vou seguir para dirigir até a estação.

No exemplo acima, tenho dois parâmetros (ou seja, hora de sair de casa e rota para chegar à estação) e preciso escolher esses parâmetros para chegar à estação às 8h15.

Para resolver o problema acima, posso experimentar diferentes conjuntos de 'parâmetros' (ou seja, combinações diferentes de horários de partida e rota) às segundas, quartas e sextas-feiras, para ver qual combinação é a melhor. A idéia é que, depois de identificar a melhor combinação, possa usá-la todos os dias para alcançar meu objetivo.

Problema de sobreajuste

O problema com a abordagem acima é que eu posso superestimar, o que significa essencialmente que a melhor combinação que identifico pode, em certo sentido, ser exclusiva para seg, qua e sextas-feiras e essa combinação pode não funcionar para ter e qui. O sobreajuste pode ocorrer se, na minha busca pela melhor combinação de horários e rotas, explorar algum aspecto da situação do tráfego em segunda / quarta / sexta, que não ocorre nas terças e quintas.

Uma solução para sobreajuste: validação cruzada

A validação cruzada é uma solução para sobreajuste. A idéia é que, depois de identificarmos nossa melhor combinação de parâmetros (no nosso caso, tempo e rota), testamos o desempenho desse conjunto de parâmetros em um contexto diferente. Portanto, podemos querer testar também às terças e quintas, para garantir que nossas escolhas funcionem também para esses dias.

Estendendo a analogia às estatísticas

Nas estatísticas, temos um problema semelhante. Geralmente usamos um conjunto limitado de dados para estimar os parâmetros desconhecidos que não conhecemos. Se superestimarmos, nossas estimativas de parâmetros funcionarão muito bem para os dados existentes, mas não para quando os usarmos em outro contexto. Assim, a validação cruzada ajuda a evitar o problema acima de sobreajuste, provando-nos alguma garantia de que as estimativas de parâmetros não são exclusivas dos dados que usamos para estimar.

Obviamente, a validação cruzada não é perfeita. Voltando ao nosso exemplo do metrô, pode acontecer que, mesmo após a validação cruzada, nossa melhor escolha de parâmetros possa não funcionar um mês abaixo da linha devido a vários problemas (por exemplo, construção, mudanças no volume de tráfego ao longo do tempo etc.).

jbaums
fonte
2
Tecnicamente, isso é validação de validação, mas pode-se imaginar estendendo o exemplo do metrô para um contexto de validação cruzada. Se ajudar, reescreverei o exemplo e o restante do texto para ser específico para a validação cruzada.
@ srikant..a palavra sobreajuste como uma palavra me sugere que algo é "excessivamente" feito com significado ..mais do que o necessário .. então o que é excessivamente feito? Não é de variáveis? Lamento ter ouvido o termo sobreajuste muitas vezes e aproveitaria essa oportunidade para esclarecer isso com você.
Biyani ayush
1
Penso que esta resposta seria melhorada adicionando o conceito de dobras, que é a chave para diferenciar o CV dos testes de validação. No exemplo (usando a abreviação M para segunda-feira, T para terça-feira, ..., R para quinta-feira, ...): Então você olha para TWRF para a melhor combinação e vê como isso funciona em M, depois MWRF e vê como funciona em T, etc. Portanto, cada dia é usado como parte do problema quatro vezes e como verificação do problema uma vez, mas nunca como o problema e a verificação na mesma rodada.
Wayne
43

Eu acho que isso é melhor descrito com a figura a seguir (neste caso, mostrando a validação cruzada em dobras k):

texto alternativo

A validação cruzada é uma técnica usada para proteger contra o ajuste excessivo em um modelo preditivo, particularmente em um caso em que a quantidade de dados pode ser limitada. Na validação cruzada, você faz um número fixo de dobras (ou partições) dos dados, executa a análise em cada dobra e calcula a média geral da estimativa de erro.

Shane
fonte
2
Parece que foram discutidas em outras partes deste site que a validação cruzada k-fold é apenas um tipo de validação cruzada e a descrição dela não faz o trabalho geral de descrever o que é a validação cruzada.
russellpierce
3
@drknexus: Isso é justo, mas mencionei que é k-fold e eu queria fornecer uma visualização do processo para ajudar a explicá-lo.
Shane
Esclarecimento rápido: é o caso em que nfold = 4 significa 25% para o conjunto de testes; nfold = 5 significa 20% para o conjunto de teste; nfold = 10 significa 10% para o conjunto de testes, e assim por diante: nfold = n significa que 100 / n por cento entra no conjunto de testes?
johnjps111
9

"Evite aprender seus dados de treinamento de cor, garantindo que o modelo treinado tenha um bom desempenho em dados independentes".

Andre Holzner
fonte
3
Isso é motivação para a CV, e não uma descrição da própria CV.
jbaums
6

Digamos que você investigue algum processo; você reuniu alguns dados que a descrevem e criou um modelo (estatístico ou ML, não importa). Mas agora, como julgar se está tudo bem? Provavelmente, ele se encaixa de maneira suspeita nos dados em que foi construído, para que ninguém acredite que seu modelo é tão esplêndido que você pensa.
A primeira idéia é separar um subconjunto de seus dados e usá-lo para testar a construção do modelo pelo seu método no restante dos dados. Agora, o resultado é definitivamente isento de ajustes, no entanto (especialmente para conjuntos pequenos), você pode ter tido (não) sorte e desenhar (menos) casos mais simples para testar, tornando mais difícil prever (também) mais difícil ... a estimativa de erro / qualidade é inútil para comparação / otimização de modelos, pois você provavelmente não sabe nada sobre sua distribuição.
Em caso de dúvida, use força bruta, basta replicar o processo acima, reunir poucas estimativas de precisão / erro / qualidade e calculá-las como média - e assim você obtém validação cruzada. Entre uma estimativa melhor, você também receberá um histograma, para poder aproximar a distribuição ou executar alguns testes não paramétricos.
E é isso; os detalhes da divisão do trem de teste são a razão de diferentes tipos de CV, mas, exceto em casos raros e pequenas diferenças de força, são bastante equivalentes. Na verdade, é uma enorme vantagem, porque o torna um método justo à prova de balas; é muito difícil enganá-lo.


fonte
3

Como você não tem acesso aos dados de teste no momento do treinamento e deseja que seu modelo funcione bem nos dados de teste invisíveis, "finge" que você tem acesso a alguns dados de teste subamostrando repetidamente uma pequena parte do seus dados de treinamento, mantenha este conjunto durante o treinamento do modelo e, em seguida, trate o conjunto retido como um proxy para os dados de teste (e escolha os parâmetros do modelo que melhor desempenho nos dados retidos). Você espera que, amostrando aleatoriamente vários subconjuntos dos dados de treinamento, faça com que eles pareçam com os dados de teste (no sentido médio do comportamento) e, portanto, os parâmetros do modelo aprendido também serão bons para os dados de teste (ou seja, seu modelo generaliza bem para dados não vistos).

ebony1
fonte