Underfitting
Aprende como identificar e resolver underfitting em machine learning. Explora causas, indicadores, e como otimizar modelos Ultralytics YOLO26 para melhor precisão.
O underfitting ocorre quando um modelo de machine learning é demasiado simples ou carece da capacidade para captar as tendências e padrões subjacentes nos training data. Conceptualmente, é análogo a tentar ajustar uma linha reta a pontos de dados que formam uma curva distinta; o modelo não consegue compreender a complexidade da relação entre inputs e outputs. Como o modelo não aprendeu os dados de forma eficaz, apresenta um desempenho fraco não só no conjunto de treino, mas também em validation data que nunca viu, levando a uma baixa accuracy preditiva. Este fenómeno é frequentemente o resultado de um elevado bias in AI, em que o algoritmo faz suposições demasiado simplistas sobre a função alvo.
Link to this sectionCausas e Indicadores#
Vários fatores podem levar a um modelo com underfitting. A causa mais comum é a utilização de uma arquitetura de modelo que não é suficientemente complexa para a tarefa em questão, como a aplicação de linear regression a dados não lineares. Uma duração de treino insuficiente, em que não são dadas ao modelo epochs suficientes para convergir, também impede uma aprendizagem adequada. Além disso, uma regularization excessiva — uma técnica normalmente utilizada para evitar o problema oposto — pode restringir demasiado o modelo, impedindo-o de captar características importantes.
Os engenheiros podem identificar o underfitting monitorizando loss functions durante o treino. Se tanto o erro de treino como o erro de validação permanecerem elevados e não diminuírem significativamente, é provável que o modelo esteja com underfitting. Ao contrário do feature engineering eficaz, que ajuda os modelos a compreender os dados, fornecer poucas características também pode privar o modelo de informações necessárias.
Link to this sectionUnderfitting vs. Overfitting#
É crucial distinguir o underfitting do seu homólogo, o overfitting. Estes dois conceitos representam os extremos opostos do bias-variance tradeoff.
- Underfitting (High Bias): O modelo é demasiado rígido. Apresenta um desempenho fraco tanto nos dados de treino como nos test data porque não aprendeu o sinal básico.
- Overfitting (High Variance): O modelo é demasiado flexível. Memoriza os dados de treino, incluindo o ruído, apresentando um desempenho excecional durante o treino, mas falhando ao generalize para novos exemplos.
Encontrar o "ponto ideal" entre estes dois extremos é o objetivo principal da model optimization.
Link to this sectionAplicaçõ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 não conseguir distinguir entre um peão e um poste de iluminação em ambientes urbanos complexos. Como o modelo carece dos parâmetros para aprender as subtis diferenças visuais, compromete a AI safety.
- Diagnóstico Médico: Ao aplicar medical image analysis para detetar anomalias como tumores, um modelo demasiado simples pode não detetar crescimentos pequenos ou irregulares. Se a rede neuronal for demasiado superficial, não consegue aprender as texturas complexas necessárias para uma elevada sensitivity and specificity, levando a diagnósticos perdidos.
Link to this sectionResolver o underfitting com código#
Em computer vision, o underfitting ocorre frequentemente quando se utiliza uma variante de modelo demasiado pequena para a dificuldade da tarefa (por exemplo, detetar objetos pequenos em imagens de drone de alta resolução). O seguinte exemplo em Python demonstra como mudar de um modelo mais pequeno para um modelo maior e mais capaz, utilizando a biblioteca ultralytics para resolver um 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 transitar para um modelo Ultralytics YOLO26 maior e garantindo uma duração de treino adequada, o sistema ganha os parâmetros necessários para aprender padrões complexos, mitigando eficazmente o underfitting. Para verificar que o teu modelo já não apresenta underfitting, avalia-o sempre em relação a um test dataset robusto. Para gerir datasets e acompanhar experiências para detetar o underfitting precocemente, a Ultralytics Platform oferece ferramentas abrangentes para visualização e análise.






