Glossário

Dados de validação

Optimize os modelos de aprendizagem automática com dados de validação para evitar o sobreajuste, afinar os hiperparâmetros e garantir um desempenho robusto no mundo real.

Os dados de validação são uma amostra de dados retidos do processo de formação que é utilizada para fornecer uma avaliação imparcial do ajuste de um modelo enquanto se afinam os seus hiperparâmetros. A principal função do conjunto de validação é orientar o desenvolvimento de um modelo de aprendizagem automática (ML), oferecendo uma avaliação frequente e independente do seu desempenho. Este ciclo de feedback é essencial para construir modelos que não só tenham um bom desempenho nos dados que viram, mas também generalizem eficazmente para dados novos e não vistos, um conceito central para a criação de sistemas robustos de Inteligência Artificial (IA).

O papel dos dados de validação

O principal objetivo dos dados de validação é evitar o sobreajuste. O sobreajuste ocorre quando um modelo aprende demasiado bem os dados de treino, capturando ruído e detalhes que não se aplicam aos novos dados, prejudicando assim o seu desempenho. Ao testar o modelo em relação ao conjunto de validação em intervalos regulares (por exemplo, após cada época), os programadores podem monitorizar o seu erro de generalização. Se o desempenho nos dados de treino continuar a melhorar enquanto o desempenho nos dados de validação estagna ou degrada, é um sinal claro de sobreajuste.

Este processo de avaliação é crucial para a afinação dos hiperparâmetros. Os hiperparâmetros são definições de configuração externas ao modelo, como a taxa de aprendizagem ou o tamanho do lote, que não são aprendidos com os dados. O conjunto de validação permite a experimentação de diferentes combinações de hiperparâmetros para encontrar o conjunto que produz o melhor desempenho. Este processo iterativo é uma parte essencial da seleção e otimização de modelos.

Dados de validação vs. Dados de treino e teste

Num projeto típico de ML, o conjunto de dados é dividido em três subconjuntos e é fundamental compreender as suas funções distintas. Uma abordagem comum à divisão de dados consiste em atribuir 70% para treino, 15% para validação e 15% para teste.

  • Dados de treino: Esta é a maior parte dos dados, utilizada para ensinar o modelo. O modelo aprende iterativamente padrões, caraterísticas e relações a partir deste conjunto de dados, ajustando os pesos internos do modelo.
  • Dados de validação: Este subconjunto separado é utilizado para fornecer uma avaliação imparcial durante o processo de formação. Ajuda a afinar os hiperparâmetros e a tomar decisões importantes, tais como quando implementar a paragem antecipada para evitar o sobreajuste. No ecossistema Ultralytics, esta avaliação é tratada no modo de validação.
  • Dados de teste: Este conjunto de dados é retido até o modelo estar totalmente treinado e afinado. É utilizado apenas uma vez para fornecer uma avaliação final e imparcial do desempenho do modelo. O desempenho do conjunto de teste indica o desempenho esperado do modelo num cenário de implementação no mundo real.

A manutenção de uma separação rigorosa, especialmente entre os conjuntos de validação e de teste, é fundamental para avaliar com exatidão as capacidades de um modelo e evitar o compromisso entre enviesamento e variância.

Exemplos do mundo real

  1. Deteção de objectospor visão computacional: Ao treinar um modelo Ultralytics YOLO para a deteção de objectos em imagens (por exemplo, utilizando o conjunto de dados VisDrone), uma parte das imagens rotuladas é separada como dados de validação. Durante o treino, o mAP (precisão média média) do modelo é calculado neste conjunto de validação após cada época. Este mAP de validação ajuda a decidir quando parar o treino ou que conjunto de técnicas de aumento de dados funciona melhor, antes de uma verificação final do desempenho no conjunto de teste. As estratégias de avaliação de modelos eficazes baseiam-se fortemente nesta divisão.
  2. Processamento de linguagem natural Classificação de texto: Ao desenvolver um modelo para classificar os comentários dos clientes como positivos ou negativos(análise de sentimentos), é utilizado um conjunto de validação para escolher a arquitetura ideal (por exemplo, LSTM vs. Transformer) ou ajustar hiperparâmetros como taxas de desistência. O modelo que obtiver a pontuação F1 ou a precisão mais elevada no conjunto de validação será selecionado para o teste final. Recursos como o Hugging Face Datasets fornecem frequentemente conjuntos de dados pré-divididos para este efeito.

Validação cruzada

Quando a quantidade de dados disponíveis é limitada, é frequentemente utilizada uma técnica chamada validação cruz ada (especificamente validação cruzada K-Fold). Neste caso, os dados de treino são divididos em "K" subconjuntos (dobras). O modelo é treinado K vezes, cada vez utilizando K-1 dobras para treino e a dobra restante como conjunto de validação. O desempenho é então calculado como média em todas as K execuções. Isto fornece uma estimativa mais robusta do desempenho do modelo e utiliza melhor os dados limitados, conforme explicado em recursos como a documentação do scikit-learn e o guia Ultralytics K-Fold Cross-Validation.

Em resumo, os dados de validação são a pedra angular da construção de modelos de IA fiáveis e de elevado desempenho com estruturas como o PyTorch e o TensorFlow. Eles permitem o ajuste eficaz de hiperparâmetros, a seleção de modelos e a prevenção de sobreajuste, garantindo que os modelos se generalizem bem além dos dados em que foram treinados. Plataformas como o Ultralytics HUB oferecem ferramentas integradas para gerir eficazmente estes conjuntos de dados.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência