Validação cruzada em aprendizado de máquina: 4 tipos de validação cruzada

Publicados: 2020-11-30

Índice

Introdução

O desenvolvimento de modelos é uma etapa crucial no ciclo de vida de um projeto de ciência de dados, onde tentaremos treinar nosso conjunto de dados com diferentes tipos de modelos de aprendizado de máquina de algoritmos supervisionados ou não supervisionados com base no problema de negócios.

Como estamos cientes de que temos muitos modelos que podem ser usados ​​para resolver um problema de negócios, precisamos garantir que qualquer modelo selecionado no final desta fase tenha um bom desempenho nos dados não vistos. Então, não podemos ficar apenas com as métricas de avaliação para selecionar nosso modelo de melhor desempenho.

Precisamos de algo mais além da métrica que possa nos ajudar a decidir sobre nosso modelo final de Machine Learning que podemos implantar na produção.

O processo de determinar se os resultados matemáticos calculando as relações entre as variáveis ​​são aceitáveis ​​como descrições dos dados é conhecido como Validação . Normalmente, uma estimativa de erro para o modelo é feita após o treinamento do modelo no conjunto de dados do trem, mais conhecido como avaliação de resíduos.

Nesse processo, medimos o Erro de Treinamento calculando a diferença entre a resposta prevista e a resposta original. Mas essa métrica não é confiável porque funciona bem apenas com os dados de treinamento. É possível que o modelo esteja subajustando ou superajustando os dados.

Portanto, o problema com essa técnica de avaliação ou qualquer outra métrica de avaliação é que ela não fornece uma indicação de quão bem o modelo funcionará para um conjunto de dados não visto. A técnica que ajuda a saber isso sobre nosso modelo é conhecida como Cross-Validation .

Neste artigo, conheceremos mais sobre os diferentes tipos de técnicas de validação cruzada, prós e contras de cada técnica. Vamos começar com a definição de validação cruzada.

Validação cruzada

A validação cruzada é uma técnica de reamostragem que ajuda a garantir que nosso modelo tenha certeza de sua eficiência e precisão nos dados não vistos. É um método para avaliar modelos de Machine Learning treinando vários outros modelos de Machine Learning em subconjuntos do conjunto de dados de entrada disponível e avaliando-os no subconjunto do conjunto de dados.

Temos diferentes tipos de técnicas de validação cruzada, mas vamos ver a funcionalidade básica da validação cruzada: O primeiro passo é dividir o conjunto de dados limpo em K partições de tamanho igual.

  1. Então precisamos tratar o Fold-1 como dobra de teste enquanto o outro K-1 como dobra de trem e calcular a pontuação da dobra de teste.
  2. Precisamos repetir o passo 2 para todas as dobras tomando outra dobra como teste enquanto permanecemos como trem.
  3. O último passo seria tirar a média das pontuações de todas as dobras.

Leia: Projetos de aprendizado de máquina para iniciantes

Tipos de validação cruzada

1. Método Holdout

Essa técnica funciona removendo uma parte do conjunto de dados de treinamento e enviando-a para um modelo que foi treinado no restante do conjunto de dados para obter as previsões. Em seguida, calculamos a estimativa de erro que informa como nosso modelo está se saindo em conjuntos de dados não vistos. Isso é conhecido como o Método Holdout.

Prós

  1. Este método é totalmente independente dos dados.
  2. Este método só precisa ser executado uma vez, portanto, tem custos computacionais menores.

Contras

  1. O desempenho está sujeito a uma variação mais alta devido ao tamanho menor dos dados.

2. Validação cruzada K-Fold

Em um mundo orientado a dados, nunca há dados suficientes para treinar seu modelo, além disso, remover uma parte dele para validação representa um problema maior de Underfitting e corremos o risco de perder padrões e tendências importantes em nosso conjunto de dados, que por sua vez aumenta o preconceito. Então, idealmente, exigimos um método que forneça grandes quantidades de dados para treinar o modelo e deixe grandes quantidades de dados para conjuntos de validação.

Na validação cruzada K-Fold, os dados são divididos em k subconjuntos ou podemos tomá-lo como um método de validação repetido k vezes, de modo que a cada vez, um dos k subconjuntos é usado como conjunto de validação e o outro k-1 subconjuntos como o conjunto de treinamento. O erro é calculado em todas as k tentativas para obter a eficiência total do nosso modelo.

Podemos ver que cada ponto de dados estará em um conjunto de validação exatamente uma vez e estará em um conjunto de treinamento k-1 vez. Isso nos ajuda a reduzir o viés, pois estamos usando a maioria dos dados para ajuste e reduz a variância, pois a maioria dos dados também está sendo usada no conjunto de validação.

Prós

  1. Isso ajudará a superar o problema do poder computacional.
  2. Os modelos podem não ser muito afetados se um outlier estiver presente nos dados.
  3. Isso nos ajuda a superar o problema da variabilidade.

Contras

  1. Conjuntos de dados desequilibrados afetarão nosso modelo.

3. Validação cruzada K-Fold estratificada

A técnica de validação cruzada de dobras K não funcionará conforme o esperado para um conjunto de dados desequilibrado. Quando temos um conjunto de dados desequilibrado, precisamos de uma pequena alteração na técnica de validação cruzada K Fold, de modo que cada dobra contenha aproximadamente os mesmos estratos de amostras de cada classe de saída que a completa. Essa variação do uso de um estrato na validação cruzada de dobras K é conhecida como validação cruzada de dobras K estratificadas.

Prós

  1. Ele pode melhorar diferentes modelos usando o ajuste de hiperparâmetros.
  2. Ajuda-nos a comparar modelos.
  3. Ajuda a reduzir tanto o viés quanto a variância.

4. Validação Cruzada L ave-P-Out

Nesta abordagem, deixamos p pontos de dados fora dos dados de treinamento de um total de n pontos de dados, então np amostras são usadas para treinar o modelo e p pontos são usados ​​como o conjunto de validação. Isso é repetido para todas as combinações e, em seguida, o erro é calculado.

Prós

  1. Tem aleatoriedade zero
  2. O viés será menor

Contras

  1. Este método é exaustivo e computacionalmente inviável.

Leia também: Carreira em Machine Learning

Conclusão

Neste artigo, aprendemos sobre a importância da Validação de um Modelo de Aprendizado de Máquina no Ciclo de Vida do Projeto de Ciência de Dados, conhecemos o que é validação e validação cruzada, exploramos os diferentes tipos de técnicas de Validação Cruzada, conhecemos algumas vantagens e desvantagens dessas técnicas.

Se você estiver interessado em aprender mais sobre aprendizado de máquina, confira o PG Diploma in Machine Learning & AI do IIIT-B e upGrad, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, IIIT- B Status de ex-aluno, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

Qual é a necessidade de validação cruzada no aprendizado de máquina?

A validação cruzada é uma técnica de aprendizado de máquina em que os dados de treinamento são divididos em duas partes: um conjunto de treinamento e um conjunto de teste. O conjunto de treinamento é usado para construir o modelo e o conjunto de teste é usado para avaliar o desempenho do modelo quando em produção. A razão para fazer isso é que existe o risco de que o modelo que você construiu não tenha um bom desempenho no mundo real. Se você não fizer a validação cruzada de seu modelo, existe o risco de ter construído um modelo que funciona muito bem nos dados de treinamento, mas não funciona bem nos dados do mundo real.

O que é validação cruzada k-fold?

Em aprendizado de máquina e mineração de dados, a validação cruzada k-fold, às vezes chamada de validação cruzada leave-one-out, é uma forma de validação cruzada na qual os dados de treinamento são divididos em k subconjuntos aproximadamente iguais, com cada um dos k- 1 subconjuntos usados ​​como dados de teste por sua vez e o subconjunto restante usado como dados de treinamento. K geralmente é 10 ou 5. A validação cruzada K-fold é particularmente útil na seleção de modelos, pois reduz a variância das estimativas do erro de generalização.

Quais são as vantagens da validação cruzada?

A validação cruzada é uma forma de validação na qual o conjunto de dados é particionado em um conjunto de treinamento e um conjunto de teste (ou conjunto de validação cruzada). Este conjunto é então usado para testar a precisão do seu modelo. Em outras palavras, fornece uma metodologia para medir a qualidade do seu modelo com base em uma amostra de seus dados. Por exemplo, é usado para estimar o erro do modelo que é induzido pela discrepância entre a entrada de treinamento e a entrada de teste.