Underfitting
Aprende como identificar e resolver underfitting em machine learning. Explora causas, indicadores, e como otimizar modelos Ultralytics YOLO26 para melhor precisão.
Ocorre underfitting quando um modelo de machine learning é demasiado simples ou carece de capacidade para capturar as tendências e padrões subjacentes nos training data. Conceitualmente, é análogo a tentar ajustar uma linha reta a pontos de dados que formam uma curva distinta; o modelo falha em compreender a complexidade da relação entre entradas e saídas. Como o modelo não aprendeu os dados de forma eficaz, ele apresenta fraco desempenho não apenas no conjunto de treino, mas também em validation data não vistos, levando a uma baixa accuracy preditiva. Este fenômeno é frequentemente o resultado de um alto bias in AI, onde o algoritmo faz suposições excessivamente simplistas sobre a função alvo.
Causas e Indicadores#
Vários fatores podem levar a um modelo com underfitting. A causa mais comum é o uso de uma arquitetura de modelo que não é complexa o suficiente para a tarefa em mãos, como aplicar linear regression a dados não lineares. Uma duração de treino insuficiente, onde o modelo não recebe epochs suficientes para convergir, também impede uma aprendizagem adequada. Além disso, a regularization excessiva — uma técnica normalmente usada para evitar o problema oposto — pode restringir excessivamente o modelo, impedindo-o de capturar características importantes.
Os engenheiros podem identificar o underfitting monitorando as loss functions durante o treino. Se tanto o erro de treino quanto o erro de validação permanecerem altos e não diminuírem significativamente, é provável que o modelo esteja sofrendo de underfitting. Em contraste com a feature engineering eficaz, que ajuda os modelos a entenderem os dados, fornecer poucos recursos também pode privar o modelo das informações necessárias.
Underfitting vs. Overfitting#
É crucial distinguir o underfitting do seu oposto, o overfitting. Estes dois conceitos representam as extremidades opostas do bias-variance tradeoff.
- Underfitting (High Bias): O modelo é demasiado rígido. Ele tem um desempenho fraco tanto nos dados de treino quanto nos test data porque não aprendeu o sinal básico.
- Overfitting (High Variance): O modelo é demasiado flexível. Ele memoriza os dados de treino, incluindo ruído, apresentando um desempenho excecional durante o treino, mas falhando em generalize para novos exemplos.
Encontrar o "ponto ideal" entre estes dois extremos é o objetivo principal da model optimization.
Aplicações no Mundo Real#
Compreender o underfitting é vital para o desenvolvimento de sistemas de IA fiáveis em diversos setores.
- Condução Autónoma: No contexto de autonomous vehicles, um modelo de deteção de objetos com underfitting pode falhar em distinguir entre um pedestre e um poste de iluminação em ambientes urbanos complexos. Como o modelo carece de parâmetros para aprender as subtis diferenças visuais, ele compromete a AI safety.
- Diagnóstico Médico: Ao aplicar medical image analysis para detetar anomalias como tumores, um modelo excessivamente simples pode perder crescimentos pequenos ou irregulares. Se a rede neural for demasiado rasa, ela não consegue aprender as texturas intrincadas necessárias para uma alta sensitivity and specificity, levando a diagnósticos perdidos.
Resolver o underfitting com código#
Em computer vision, o underfitting ocorre frequentemente ao usar uma variante de modelo que é muito pequena para a dificuldade da tarefa (por exemplo, detetar pequenos objetos em imagens de drones de alta resolução). O seguinte exemplo em Python demonstra como mudar de um modelo menor para um modelo maior e mais capaz usando a biblioteca ultralytics para resolver o potencial underfitting.
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 migrar para um modelo Ultralytics YOLO26 maior e garantir uma duração de treino adequada, o sistema obtém os parâmetros necessários para aprender padrões complexos, mitigando eficazmente o underfitting. Para verificar se o seu modelo já não está em underfitting, avalie-o sempre contra um test dataset robusto. Para gerir conjuntos de dados e monitorizar experiências de modo a detetar o underfitting precocemente, a Ultralytics Platform oferece ferramentas abrangentes para visualização e análise.






