Um guia simples para validação cruzada k-fold


Para avaliar o desempenho de um modelo em um conjunto de dados, precisamos medir até que ponto as previsões feitas pelo modelo correspondem aos dados observados.

A maneira mais comum de medir isso é usando o erro quadrático médio (MSE), que é calculado da seguinte forma:

MSE = (1/n)*Σ(y i – f(x i )) 2

Ouro:

  • n: número total de observações
  • y i : O valor da resposta da i-ésima observação
  • f (x i ): O valor de resposta previsto da i- ésima observação

Quanto mais próximas as previsões do modelo estiverem das observações, menor será o MSE.

Na prática, usamos o seguinte processo para calcular o MSE de um determinado modelo:

1. Divida um conjunto de dados em conjunto de treinamento e conjunto de teste.

2. Crie o modelo usando apenas os dados do conjunto de treinamento.

3. Use o modelo para fazer previsões sobre o conjunto de testes e medir o MSE do teste.

Os testes MSE nos dão uma ideia do desempenho de um modelo em dados nunca vistos antes. No entanto, a desvantagem de usar um único conjunto de testes é que o teste MSE pode variar significativamente dependendo das observações utilizadas nos conjuntos de treinamento e teste.

Uma maneira de evitar esse problema é ajustar um modelo várias vezes usando um conjunto de treinamento e teste diferente a cada vez e, em seguida, calcular o MSE de teste como a média de todos os MSEs de teste.

Este método geral é conhecido como validação cruzada e uma forma específica dele é conhecida como validação cruzada k-fold .

Validação cruzada K-Fold

A validação cruzada K-fold usa a seguinte abordagem para avaliar um modelo:

Etapa 1: divida aleatoriamente um conjunto de dados em k grupos, ou “dobras”, de tamanho aproximadamente igual.

Divida um conjunto de dados em k dobras

Passo 2: Escolha uma das dobras como conjunto de fixação. Ajuste o modelo às dobras k-1 restantes. Calcule o teste MSE nas observações da camada que foi tensionada.

validação cruzada k-fold

Etapa 3: Repita esse processo k vezes, cada vez usando um conjunto diferente como conjunto de exclusão.

Exemplo de validação cruzada k-fold

Etapa 4: Calcule o MSE geral do teste como a média dos k MSEs do teste.

Teste MSE = (1/k)*ΣMSE i

Ouro:

  • k: Número de dobras
  • MSE i : Teste MSE na i- ésima iteração

Como escolher K

Em geral, quanto mais dobras usarmos na validação cruzada k-fold, menor será o viés do teste MSE, mas maior será a variância. Por outro lado, quanto menos dobras usarmos, maior será o viés, mas menor será a variância. Este é um exemplo clássico da compensação entre polarização e variância no aprendizado de máquina.

Na prática, geralmente optamos por utilizar entre 5 e 10 folhas. Conforme observado em Uma introdução ao aprendizado estatístico , foi demonstrado que esse número de dobras fornece um equilíbrio ideal entre viés e variância e, portanto, fornece estimativas confiáveis do MSE do teste:

Para resumir, há uma compensação entre viés e variância associada à escolha de k na validação cruzada k-fold.

Normalmente, dadas essas considerações, realiza-se validação cruzada k-fold usando k = 5 ou k = 10, já que esses valores foram empiricamente demonstrados como produzindo estimativas de taxa de erro de teste que não sofrem nem viés excessivamente alto nem variância muito alta.

-Página 184, Uma introdução ao aprendizado estatístico

Benefícios da validação cruzada K-Fold

Quando dividimos um conjunto de dados em um único conjunto de treinamento e um único conjunto de teste, o MSE de teste calculado nas observações no conjunto de teste pode variar significativamente dependendo das observações usadas nos conjuntos de treinamento e teste.

Usando a validação cruzada k-fold, podemos calcular o teste MSE usando diversas variações diferentes de conjuntos de treinamento e teste. Isto nos dá uma chance muito maior de obter uma estimativa imparcial do MSE do teste.

A validação cruzada K-fold também fornece uma vantagem computacional sobre a validação cruzada Leave-One-Out (LOOCV) porque ela só precisa ajustar um modelo k vezes em vez de n vezes.

Para modelos que demoram muito para serem ajustados, a validação cruzada de k dobras pode calcular o MSE de teste muito mais rápido que o LOOCV e, em muitos casos, o MSE de teste calculado por cada abordagem será bastante semelhante se você usar um número suficiente de dobras.

Extensões de validação cruzada K-Fold

Existem várias extensões para validação cruzada k-fold, incluindo:

Validação cruzada k-fold repetida: é aqui que a validação cruzada k-fold é simplesmente repetida n vezes. Sempre que os conjuntos de treinamento e teste são misturados, isso reduz ainda mais o viés na estimativa do MSE do teste, embora demore mais para ser concluído do que a validação cruzada k-fold comum.

Validação cruzada Leave-One-Out: Este é um caso especial de validação cruzada k-fold em que k = n . Você pode aprender mais sobre esse método aqui .

Validação cruzada estratificada k-fold: Esta é uma versão da validação cruzada k-fold em que o conjunto de dados é reorganizado de tal forma que cada dobra seja representativa do todo. Conforme observado por Kohavi , este método tende a oferecer um melhor equilíbrio entre viés e variância em comparação com a validação cruzada k-fold comum.

Validação cruzada aninhada: é aqui que a validação cruzada k-fold é realizada em cada dobra de validação cruzada. Isso geralmente é usado para realizar o ajuste de hiperparâmetros durante a avaliação do modelo.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *