Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Subajuste (Underfitting)

Aprenda a identificar e resolver o subajuste na aprendizagem automática. Explore as causas, os indicadores e como otimizar os modelos Ultralytics para obter maior precisão.

O subajuste ocorre quando um modelo de aprendizagem automática é muito simples ou não tem capacidade para capturar as tendências e padrões subjacentes nos dados de treino. Conceptualmente, é análogo a tentar ajustar uma linha reta através de pontos de dados que formam uma curva distinta; o modelo não consegue compreender a complexidade da relação entre entradas e saídas. Como o modelo não aprendeu os dados de forma eficaz, apresenta desempenho insatisfatório não apenas no conjunto de treino, mas também em dados de validação não vistos, levando a uma baixa precisão preditiva. Esse fenômeno é frequentemente resultado de um alto viés na IA, em que o algoritmo faz suposições excessivamente simplistas sobre a função alvo.

Causas e indicadores

Vários fatores podem levar a um modelo subajustado. A causa mais comum é usar uma arquitetura de modelo que não é suficientemente complexa para a tarefa em questão, como aplicar regressão linear a dados não lineares. A duração insuficiente do treinamento, em que o modelo não recebe épocas suficientes para convergir, também impede o aprendizado adequado. Além disso, a regularizaçãoexcessiva — uma técnica geralmente usada para evitar o problema oposto — pode restringir demais o modelo, impedindo-o de capturar características importantes .

Os engenheiros podem identificar o subajuste monitorando as funções de perda durante o treinamento. Se tanto o erro de treinamento quanto o erro de validação permanecerem altos e não diminuírem significativamente, é provável que o modelo esteja subajustado. Em contraste com a engenharia de recursos eficaz, que ajuda os modelos a compreender os dados, fornecer poucos recursos também pode privar o modelo das informações necessárias.

Underfitting vs. Overfitting

É crucial distinguir o subajuste da sua contraparte, o sobreajuste. Estes dois conceitos representam os extremos opostos do compromisso entre viés e variância.

  • Subajuste (viés elevado): O modelo é muito rígido. Ele tem um desempenho ruim tanto nos dados de treino quanto nos de teste porque não aprendeu o sinal básico.
  • Sobreajuste (alta variância): o modelo é muito flexível. Ele memoriza os dados de treino, incluindo ruído, apresentando um desempenho excepcional durante o treino, mas falhando na generalização para novos exemplos.

Encontrar o ponto ideal entre esses dois extremos é o principal objetivo da otimização do modelo.

Aplicações no Mundo Real

Compreender o subajuste é vital para desenvolver sistemas de IA confiáveis em vários setores.

  • Condução autónoma: No contexto dos veículos autónomos, um modelo de deteção de objetos subdimensionado pode não conseguir distinguir entre um peão e um poste de iluminação em ambientes urbanos complexos. Como o modelo não possui os parâmetros necessários para aprender as diferenças visuais subtis, isso compromete a segurança da IA.
  • Diagnósticos médicos: Ao aplicar a análise de imagens médicas para detect anomalias como tumores, um modelo excessivamente simples pode não detectar crescimentos pequenos ou irregulares. Se a rede neural for muito superficial, ela não conseguirá aprender as texturas complexas necessárias para alta sensibilidade e especificidade, levando a diagnósticos errados.

abordando o subajuste com código

Em visão computacional, o subajuste ocorre frequentemente quando se utiliza uma variante de modelo demasiado pequena para a dificuldade da tarefa (por exemplo, detetar pequenos objetos em imagens de drones de alta resolução). O seguinte Python O exemplo demonstra como mudar de um modelo menor para um modelo maior e mais capaz usando o ultralytics biblioteca para resolver um potencial subajuste.

from ultralytics import YOLO

# If 'yolo26n.pt' (Nano) is underfitting and yielding low accuracy,
# upgrade to a model with higher capacity like 'yolo26l.pt' (Large).
model = YOLO("yolo26l.pt")

# Train the larger model.
# Increasing epochs also helps the model converge if it was previously underfitting.
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Ao mudar para um modelo Ultralytics maior e garantir uma duração adequada do treinamento, o sistema obtém os parâmetros necessários para aprender padrões complexos, mitigando efetivamente o subajuste. Para verificar se o seu modelo não está mais subajustado, sempre avalie-o em relação a um conjunto de dados de teste robusto. Para gerenciar conjuntos de dados e rastrear experimentos para detectar o subajuste antecipadamente, a Ultralytics oferece ferramentas abrangentes para visualização e análise.

Junte-se à comunidade Ultralytics

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

Junte-se agora