Vídeo: Lecture 15 - Kernel Methods 2024
Às vezes, o aprendizado automático requer que você precise recorrer à validação cruzada. Um problema notável com a divisão do conjunto de trem / teste é que você realmente está introduzindo um viés em seu teste, porque você está reduzindo o tamanho de seus dados de treinamento na amostra. Quando você divide seus dados, você pode estar realmente mantendo alguns exemplos úteis do treinamento. Além disso, às vezes, seus dados são tão complexos que um conjunto de testes, embora aparentemente semelhante ao conjunto de treinamento, não é realmente similar porque combinações de valores são diferentes (o que é típico dos conjuntos de dados altamente dimensionais).
Essas questões aumentam a instabilidade dos resultados de amostragem quando você não tem muitos exemplos. O risco de dividir seus dados de forma desfavorável também explica por que a divisão de trem / teste não é a solução preferida por profissionais de aprendizado de máquina quando você precisa avaliar e ajustar uma solução de aprendizado de máquina.
A validação cruzada baseada em dobras em k é na verdade a resposta. Depende da divisão aleatória, mas desta vez divide seus dados em um número k de dobras (partes de seus dados) de igual tamanho. Então, cada dobra é exibida por sua vez como um conjunto de teste e os outros são usados para treinar. Cada iteração usa uma dobra diferente como um teste, o que produz uma estimativa de erro.
Na verdade, depois de completar o teste em uma única vez contra os outros utilizados como treinamento, uma dobra sucessiva, diferente do anterior, é exibida e o procedimento é repetido para produzir outra estimativa de erro. O processo continua até que todas as dobras K sejam usadas uma vez como um conjunto de teste e você tem um número de estimativas de erro de K que você pode calcular em uma estimativa de erro médio (a pontuação de validação cruzada) e um erro padrão das estimativas.
Este procedimento fornece as seguintes vantagens:
- Funciona bem, independentemente do número de exemplos, porque aumentando o número de dobras usadas, você está realmente aumentando o tamanho do seu conjunto de treinamento (maior k, conjunto de treinamento maior, viés reduzido) e diminuindo o tamanho do conjunto de teste.
- As diferenças na distribuição para dobras individuais não importam tanto. Quando uma dobra tem uma distribuição diferente em comparação com as demais, ela é usada apenas uma vez como um conjunto de teste e é combinada com outros como parte do conjunto de treinamento durante os testes restantes.
- Você está realmente testando todas as observações, então você está testando completamente sua hipótese de aprendizagem de máquina usando todos os dados que você possui.
- Ao tomar a média dos resultados, você pode esperar uma performance preditiva. Além disso, o desvio padrão dos resultados pode indicar a quantidade de variação que você pode esperar em dados reais fora da amostra. A maior variação nos desempenhos validados através de cruzamentos informa de dados extremamente variados que o algoritmo é incapaz de se apropriar corretamente.
Usar a validação cruzada k-fold é sempre a escolha ideal, a menos que os dados que você está usando tenham algum tipo de ordem que seja importante. Por exemplo, poderia envolver uma série temporal, como as vendas. Nesse caso, você não deve usar um método de amostragem aleatória, mas sim confiar em uma divisão de trem / teste com base na sequência original para que a ordem seja preservada e você possa testar nos últimos exemplos dessa série ordenada.