Glossário

Validação cruzada

Descobre o poder da validação cruzada na aprendizagem automática para melhorar a precisão do modelo, evitar o sobreajuste e garantir um desempenho robusto.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A validação cruzada é uma técnica crucial na aprendizagem automática (ML) utilizada para avaliar a capacidade de generalização de um modelo a dados novos e não vistos. Ajuda a garantir que o modelo não está apenas a memorizar os dados de treino, um problema conhecido como sobreajuste, mas que está a aprender padrões que se aplicam de forma mais ampla. Esta técnica envolve a divisão dos dados disponíveis em vários subconjuntos, ou "dobras". O modelo é treinado numa parte dos dados e validado na parte restante, e este processo é repetido várias vezes com diferentes subconjuntos utilizados para treino e validação.

Importância na avaliação de modelos

A validação cruzada fornece uma estimativa mais fiável do desempenho de um modelo em comparação com a utilização de uma única divisão treino-teste. Ao treinar e validar o modelo em diferentes subconjuntos de dados, ajuda a reduzir o risco de o modelo ter um bom desempenho apenas num conjunto de dados específico devido ao acaso. Isto é particularmente importante quando o conjunto de dados é limitado, uma vez que maximiza a utilização dos dados disponíveis tanto para a formação como para a validação. Este método também ajuda a ajustar os hiperparâmetros, permitindo aos profissionais selecionar as melhores definições que produzem um desempenho ótimo em diferentes dobras. Os conhecimentos obtidos com a validação cruzada podem orientar melhorias na conceção e no treino do modelo, conduzindo, em última análise, a modelos mais robustos e fiáveis.

Tipos de validação cruzada

Existem vários tipos de métodos de validação cruzada, cada um adequado a diferentes cenários:

K-Fold Cross-Validation

Na validação cruzada K-Fold, o conjunto de dados é dividido em K dobras de igual dimensão. O modelo é treinado em K-1 dobras e validado na dobra restante. Este processo é repetido K vezes, com cada dobra a servir de conjunto de validação uma vez. A métrica de desempenho, como a exatidão ou a pontuação F1, é então calculada como média em todas as K iterações para fornecer uma avaliação abrangente do desempenho do modelo.

Validação cruzada K-Fold estratificada

A K-Fold estratificada é uma variação da validação cruzada K-Fold que garante que cada dobra mantém a mesma proporção de classes que o conjunto de dados original. Isto é particularmente útil para conjuntos de dados desequilibrados em que uma classe supera significativamente as outras. Ao preservar a distribuição das classes em cada dobra, o K-Fold estratificado ajuda a garantir que o desempenho do modelo não seja distorcido pelo desequilíbrio das classes.

Validação cruzada de saída (LOOCV)

Na validação cruzada Leave-One-Out, cada ponto de dados é utilizado uma vez como conjunto de validação, enquanto o resto dos dados é utilizado para treino. Este método é computacionalmente dispendioso, mas permite uma avaliação exaustiva, especialmente para pequenos conjuntos de dados. É particularmente útil quando o conjunto de dados é muito pequeno e cada ponto de dados é crucial para a formação e validação.

Aplicações em projectos de IA/ML do mundo real

A validação cruzada é amplamente utilizada em várias aplicações do mundo real para garantir a fiabilidade e a robustez dos modelos de aprendizagem automática. Por exemplo:

  1. Diagnóstico médico: No diagnóstico médico, a validação cruzada pode ser utilizada para avaliar o desempenho de modelos que prevêem doenças com base em dados de pacientes. Ao treinar e validar o modelo em diferentes subconjuntos de dados de pacientes, os investigadores podem garantir que o modelo é preciso e fiável em diversas populações de pacientes. Isto é crucial para tomar decisões médicas informadas e melhorar os resultados dos doentes. Sabe mais sobre a IA nos cuidados de saúde.

  2. Deteção de fraudes: No sector financeiro, a validação cruzada ajuda a criar sistemas robustos de deteção de fraudes. Ao treinar modelos em dados históricos de transacções e ao validá-los em diferentes subconjuntos, as instituições financeiras podem garantir que os seus modelos identificam com precisão actividades fraudulentas, minimizando os falsos positivos. Isto ajuda a proteger os clientes e a manter a integridade dos sistemas financeiros. Explora mais informações sobre a IA nas finanças.

Validação cruzada vs. outras técnicas de avaliação

Embora a validação cruzada seja uma técnica poderosa, é essencial compreender a sua diferença em relação a outros métodos de avaliação:

  • Divisão treino-teste: Numa divisão simples de treino-teste, os dados são divididos em duas partes: uma para treino e outra para teste. Embora este método seja mais rápido e simples, pode levar a uma grande variação nas estimativas de desempenho se o conjunto de teste não for representativo dos dados gerais. A validação cruzada atenua esta situação, utilizando várias divisões de treino-teste. Saiba mais sobre dados de treinamento, dados de validação e dados de teste para entender mais sobre divisões de dados.

  • Bootstrapping: O bootstrapping envolve a amostragem repetida do conjunto de dados com substituição para criar vários conjuntos de treino. Embora seja útil para estimar a variabilidade do desempenho do modelo, pode ser computacionalmente intensivo e pode não ser tão eficaz como a validação cruzada para a seleção do modelo.

  • Método Hold-Out: Semelhante à divisão treino-teste, o método hold-out envolve reservar uma parte dos dados para validação. No entanto, ao contrário da validação cruzada, este método não envolve várias iterações de formação e validação, o que pode tornar a estimativa do desempenho menos fiável.

Ferramentas e bibliotecas

Várias ferramentas e bibliotecas apoiam a implementação da validação cruzada em projectos de aprendizagem automática. Em Python, a biblioteca scikit-learn fornece funções abrangentes para várias técnicas de validação cruzada, incluindo K-Fold e K-Fold estratificado. Além disso, frameworks como TensorFlow e PyTorch oferecem utilitários para integrar a validação cruzada em pipelines de treino de modelos. Para os utilizadores de Ultralytics YOLO , estão disponíveis orientações pormenorizadas sobre a implementação da validação cruzada K-Fold na documentação sobre a validação cruzada K-Fold.

Lê tudo