Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Underfitting

Scopri come identificare, prevenire e affrontare l'underfitting nei modelli di machine learning con suggerimenti di esperti, strategie ed esempi reali.

L'underfitting si verifica nell'apprendimento apprendimento automatico (ML) quando un modello statistico o algoritmo è troppo semplice per catturare la struttura sottostante dei dati. Descrive uno scenario in cui il modello non riesce ad apprendere adeguatamente le relazioni tra le variabili di input e le variabili target. Poiché il modello non riesce a segnale nei dati, mostra scarse prestazioni sui dati di addestramento e si generalizza male ai dati di addestramento e si generalizza male a nuovi dati non visti. dati non visti. Un modello underfit soffre tipicamente di un elevato bias, ovvero fa ipotesi forti e spesso errate sui dati, con conseguente ipotesi sui dati, con il risultato di modelli mancati e di una bassa accuratezza. accuratezza.

Segni e sintomi di sottoadattamento

L'individuazione dell'underfitting è generalmente semplice durante la fase di valutazione del modello. L'indicatore principale è un cattivo di performance, come un alto tasso di errore o una bassa precisione, sia nel set di allenamento che nei dati di convalida. dati di validazione. Se la funzione di perdita rimane elevata e non diminuisce Se la funzione di perdita rimane alta e non diminuisce significativamente nel tempo, il modello è probabilmente in underfitting. A differenza dell'overfitting, in cui il modello si comporta bene sui dati di training ma male su quelli di validazione. dati di addestramento ma con scarse prestazioni sui dati di convalida, l'underfitting rappresenta un fallimento nell'apprendere il compito essenzialmente dall'inizio. dall'inizio. L'analisi delle curve di apprendimento può un modello underfit mostrerà curve di addestramento e di validazione che convergono rapidamente, ma con un alto tasso di errore. ad un alto tasso di errore.

Underfitting vs. Overfitting

Per comprendere l'underfitting, è utile contrapporlo alla sua controparte, overfitting. Questi due concetti rappresentano gli estremi del tradeoff bias-varianza, che è centrale nella costruzione di sistemi di intelligenza artificiale robusti.

  • Underfitting (Bias elevato): Il modello è troppo semplice (ad esempio, un modello lineare per dati non lineari). Il modello presta troppo poca attenzione ai dati di addestramento e semplifica eccessivamente il problema.
  • Overfitting (Varianza elevata): Il modello è troppo complesso. Memorizza i dati di addestramento, compresi rumore e gli outlier, rendendolo incapace di generalizzare a nuovi input.

L'obiettivo del deep learning (DL) e di altre discipline dell'IA è quello di trovare un "punto di equilibrio" tra questi due estremi. è quello di trovare il "punto di equilibrio" tra questi due estremi, creando un modello abbastanza complesso per imparare i modelli, ma abbastanza semplice per generalizzare. per apprendere i modelli, ma abbastanza semplice da generalizzare.

Cause e soluzioni comuni

Diversi fattori possono portare all'underfitting, ma spesso sono risolvibili modificando l'architettura del modello o la pipeline di elaborazione dei dati. di elaborazione dei dati.

  • Semplicità del modello: L'utilizzo di un modello lineare per un insieme di dati complessi e non lineari è una causa frequente.
  • Caratteristiche insufficienti: Il modello potrebbe non avere i dati di input necessari per fare previsioni accurate.
    • Soluzione: Eseguire l'ingegneria delle per creare input più descrittivi o applicare descrittivi o applicare tecniche di tecniche di preelaborazione dei dati per rendere modelli più accessibili.
  • Regolarizzazione eccessiva: Le tecniche progettate per evitare l'overfitting possono talvolta essere applicate in modo troppo aggressivo.
  • Tempo di formazione insufficiente: L'interruzione troppo precoce del processo di addestramento impedisce al modello di convergenza del modello.
    • Soluzione: Allenarsi per un numero maggiore di epoche, dando all'algoritmo di ottimizzazione più tempo per minimizzare la perdita.

Esempi reali

  1. Previsione dei prezzi immobiliari: Immaginate di utilizzare un semplice modello di regressione lineare per prevedere i prezzi prezzi delle abitazioni basandosi esclusivamente sulla metratura. I prezzi delle abitazioni nel mondo reale sono influenzati da fattori complessi e non lineari come la posizione, la qualità del quartiere e le tendenze del mercato. come la posizione, la qualità del quartiere e le tendenze del mercato. Un modello lineare non sarebbe in grado di cogliere queste sfumature, risultando così un modello lineare non riuscirebbe a cogliere queste sfumature, dando luogo a un risultati della modellazione predittiva, dove le stime sono costantemente imprecise.
  2. Diagnosi di imaging medico: in AI nella sanità, il rilevamento dei tumori nelle scansioni MRI richiede l'identificazione di forme e texture intricate. Se gli sviluppatori utilizzano una rete poco profonda o un modello con pochissimi parametri per questo parametri per questo compito di rilevamento degli oggetti, il modello probabilmente non riuscirà a distinguere il tumore dal tessuto sano. Manca la "capacità" di apprendere le caratteristiche caratteristiche dettagliate necessarie per un'elevata sensibilità e specificità.

Affrontare l'underfitting con il codice

Nel contesto della computer vision, l'underfitting si verifica spesso quando si utilizza una variante di modello troppo piccola per la difficoltà del compito (ad esempio, il rilevamento di piccoli oggetti in immagini di droni ad alta risoluzione). difficoltà del compito (ad esempio, il rilevamento di piccoli oggetti nelle immagini ad alta risoluzione di un drone). Il seguente Python L'esempio mostra come passare da un modello più piccolo a un modello più grande e più capace modello più grande, utilizzando il comando ultralytics per risolvere il potenziale underfitting.

from ultralytics import YOLO

# If 'yolo11n.pt' (Nano) is underfitting and yielding low accuracy,
# upgrade to a model with higher capacity like 'yolo11l.pt' (Large).
model = YOLO("yolo11l.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)

Passando a un sistema più grande Ultralytics YOLO11 e garantendo un'adeguata durata dell'addestramento durata adeguata dell'addestramento, il sistema acquisisce i parametri necessari per apprendere modelli complessi, attenuando in modo efficace di apprendimento complessi, riducendo efficacemente l'underfitting. Per i compiti estremamente complessi, le architetture future come YOLO26 (attualmente in fase di sviluppo) mirano a fornire una densità e un'accuratezza ancora maggiori. Per verificare che il vostro modello non sia più in underfitting, valutate sempre valutarlo con un robusto set di dati di prova.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora