Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Bias-Variance Tradeoff

Il compromesso bias-varianza scompone l'errore di previsione atteso in bias, varianza e rumore, spiegando perché falliscono sia i modelli troppo semplici sia quelli troppo complessi.

Il compromesso bias-varianza descrive come l'errore atteso di un modello su nuovi dati si suddivida in due parti, che reagiscono in modo opposto alla complessità del modello. Il bias è l'errore dovuto a ipotesi troppo semplici per cogliere il pattern reale, che causa l'underfitting. La varianza è l'errore dovuto alla sensibilità ai particolari dati di addestramento, che causa l'overfitting. Rendere un modello più flessibile riduce in genere il bias e aumenta la varianza, quindi l'errore totale minimo si raggiunge con una complessità intermedia. Stuart Geman, Elie Bienenstock e René Doursat hanno introdotto questo concetto nell'apprendimento automatico con il loro articolo del 1992 "Neural Networks and the Bias/Variance Dilemma".

La scomposizione dell'errore#

La scomposizione considera la stessa famiglia di modelli addestrata molte volte, ogni volta su un nuovo insieme di addestramento estratto dalla stessa fonte. Con l'errore quadratico, l'errore atteso su un input si suddivide esattamente in tre termini. Il bias al quadrato è la differenza al quadrato tra la predizione media ottenuta su tutti quegli insiemi di addestramento e il valore reale; una regressione lineare adattata a una relazione curva mantiene un bias elevato indipendentemente dalla quantità di dati disponibili. La varianza misura quanto le predizioni si disperdono intorno alla propria media da un insieme di addestramento all'altro; è elevata negli alberi decisionali profondi e nelle reti neurali grandi non regolarizzate. Il terzo termine, il rumore irriducibile, è la casualità presente nelle etichette stesse, che nessun modello può eliminare.

Ripetere l'adattamento consente di misurare direttamente entrambi i termini. Questo esempio NumPy adatta polinomi di grado 1, 3 e 12 a 1.000 insiemi di addestramento, ciascuno formato da 20 punti rumorosi estratti da un'onda sinusoidale:

import numpy as np

rng = np.random.default_rng(0)
x = np.linspace(0, 1, 20)  # 20 training inputs, evenly spaced
x_test = np.linspace(0, 1, 200)
true_curve = np.sin(2 * np.pi * x_test)

for degree in [1, 3, 12]:
    # Fit the same polynomial degree to 1,000 training sets that differ only in their label noise
    predictions = []
    for _ in range(1000):
        y = np.sin(2 * np.pi * x) + rng.normal(0, 0.3, x.size)
        predictions.append(np.polyval(np.polyfit(x, y, degree), x_test))
    predictions = np.array(predictions)

    # Bias^2: squared gap between the average fit and the truth; variance: spread of fits around their average
    bias_sq = np.mean((predictions.mean(axis=0) - true_curve) ** 2)
    variance = np.mean(predictions.var(axis=0))
    print(f"Degree {degree:2d}: bias^2 = {bias_sq:.3f}, variance = {variance:.3f}")

Una retta ha un bias al quadrato di 0,205 e una varianza di appena 0,008. Un polinomio cubico approssima quasi perfettamente la sinusoide in media, riducendo il bias al quadrato a 0,005, mentre la varianza raddoppia a 0,016. Un polinomio di grado 12 non ha un bias misurabile, ma presenta una varianza di 0,074 perché si piega per seguire il rumore di ogni campione. Il cubico ha l'errore totale più basso e ogni modello è soggetto anche alla varianza del rumore irriducibile, pari a 0,09.

Come diagnosticare bias e varianza#

Gli errori di addestramento e validazione rivelano quale termine prevale. Un errore elevato per entrambi indica un bias. Un errore di addestramento basso e un errore di validazione molto più alto indicano una varianza elevata. Le curve di apprendimento, che tracciano entrambi gli errori in funzione della quantità di dati di addestramento, distinguono i due casi: il divario di un modello con varianza elevata si riduce man mano che i dati aumentano, mentre le due curve di un modello con bias elevato si incontrano presto a un livello di errore alto e vi rimangono. Nell'addestramento Ultralytics YOLO, l'argomento fraction addestra il modello su una parte della suddivisione di addestramento, ad esempio fraction=0.25 per il primo quarto delle immagini, mentre la validazione continua a usare l'intera suddivisione di validazione; quindi, alcune esecuzioni di YOLO26 su frazioni crescenti tracciano una curva di apprendimento per un dataset personalizzato.

Gestire il compromesso#

La varianza diminuisce con più dati, l'aumento dei dati, la regolarizzazione, per esempio il decadimento dei pesi e il dropout, l'arresto anticipato e la media di molti modelli, come avviene con il bagging e le foreste casuali. Il bias diminuisce con un modello più grande, una progettazione delle caratteristiche più ricca, una regolarizzazione più debole, un addestramento più lungo e il boosting, che aggiunge modelli per correggere gli errori dell'ensemble corrente. La regolazione degli iperparametri e la convalida incrociata consentono di scegliere l'impostazione in cui i due termini si bilanciano sui dati tenuti da parte.

La classica curva a U dell'errore di test in funzione della complessità vale per una famiglia di modelli fissa, come i polinomi di grado crescente. Le reti neurali fortemente sovraparametrizzate possono superare questo andamento: l'errore di test aumenta quando il modello si avvicina alla dimensione necessaria per adattarsi esattamente a ogni punto di addestramento, poi diminuisce di nuovo quando cresce ulteriormente; questo fenomeno è chiamato doppia discesa. Anche in questo caso bias e varianza concorrono all'errore, ma la varianza non cresce più in modo costante con il numero di parametri.

Bias statistico e altre forme di bias#

In questo compromesso, il bias è una proprietà dell'algoritmo di apprendimento applicato a un'attività. Il bias nell'IA si riferisce a un'iniquità sistematica nei confronti di gruppi di persone, mentre il bias del dataset riguarda dati di addestramento che rappresentano in modo errato il contesto di distribuzione, come nel caso di una scarsità di riprese del traffico notturno. Un modello può avere un bias statistico basso ed essere comunque iniquo, perché può adattarsi con precisione a un dataset distorto, inclusa la distorsione.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning