Uma rápida introdução à validação cruzada leave-one-out (loocv)


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.

Treinamento e testes de aprendizado de máquina

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

LOOCV em aprendizado de máquina

3. Use o modelo para fazer previsões sobre o conjunto de testes e medir o MSE – isso é chamado de MSE de teste . Conjunto de treinamento ou teste

Os testes MSE nos dão uma ideia do desempenho de um modelo em dados que não foram vistos antes, ou seja, dados que não foram usados para “treinar” o modelo.

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.

É possível que, se usarmos um conjunto diferente de observações para o conjunto de treinamento e o conjunto de teste, nosso MSE de teste possa ser muito maior ou menor.

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 Leave-One-Out .

Validação cruzada Leave-One-Out

A validação cruzada deixar um de fora usa a seguinte abordagem para avaliar um modelo:

1. Divida um conjunto de dados em um conjunto de treinamento e um conjunto de teste, usando todas as observações, exceto uma, como parte do conjunto de treinamento:

LOOCV

Observe que deixamos apenas uma observação “fora” do conjunto de treinamento. É aqui que o método recebe o nome de validação cruzada “deixar um de fora”.

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

Construindo um modelo com a abordagem LOOCV

3. Utilize o modelo para prever o valor de resposta da observação única excluída do modelo e calcule o MSE.

Validação cruzada sem intervenção

4. Repita o processo n vezes.

Finalmente, repetimos este processo n vezes (onde n é o número total de observações no conjunto de dados), deixando de fora uma observação diferente do conjunto de treinamento a cada vez.

Em seguida, calculamos o MSE de teste como a média de todos os MSEs de teste:

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

Ouro:

  • n: o número total de observações no conjunto de dados
  • MSEi: o teste MSE durante o i- ésimo período de ajuste do modelo.

Vantagens e desvantagens do LOOCV

A validação cruzada deixe um de fora oferece os seguintes benefícios :

  • Ele fornece uma medida muito menos tendenciosa do teste MSE em comparação ao uso de um único conjunto de testes, porque ajustamos repetidamente um modelo a um conjunto de dados contendo n-1 observações.
  • Tende a não superestimar o MSE do teste em comparação ao uso de um único conjunto de testes.

No entanto, a validação cruzada automática tem as seguintes desvantagens:

  • Usar esse processo pode levar muito tempo quando n é grande.
  • Também pode ser demorado se um modelo for particularmente complexo e demorar muito para ajustar um conjunto de dados.
  • Isso pode ser computacionalmente caro.

Felizmente, a computação moderna tornou-se tão eficiente na maioria das áreas que o LOOCV é um método muito mais razoável de usar do que era há muitos anos.

Observe que LOOCV também pode ser usado em contextos de regressão e classificação . Para problemas de regressão, calcula o teste MSE como a raiz da diferença quadrática média entre previsões e observações, enquanto em problemas de classificação calcula o teste MSE como a porcentagem de observações classificadas corretamente ao longo dos n ajustes repetidos do modelo.

Como executar LOOCV em R e Python

Os tutoriais a seguir fornecem exemplos passo a passo sobre como executar LOOCV para um determinado modelo em R e Python:

Validação cruzada Leave-One-Out em R
Validação cruzada Leave-One-Out em Python

Add a Comment

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