Glossario

Normalizzazione

Scopri il potere della normalizzazione nell'apprendimento automatico! Scopri come migliora l'addestramento dei modelli, aumenta le prestazioni e garantisce soluzioni di AI robuste.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

La normalizzazione è una tecnica fondamentale di pre-elaborazione dei dati utilizzata ampiamente nell'apprendimento automatico (ML) e nella scienza dei dati. Il suo obiettivo principale è quello di ridimensionare le caratteristiche numeriche dei dati in un intervallo comune e standard, spesso compreso tra 0 e 1 o -1 e 1, senza distorcere le differenze negli intervalli di valori. Questo processo garantisce che tutte le caratteristiche contribuiscano in modo più equo all'addestramento del modello, evitando che le caratteristiche con valori intrinsecamente più grandi (come lo stipendio) influenzino in modo sproporzionato il risultato rispetto alle caratteristiche con valori più piccoli (come gli anni di esperienza). La normalizzazione è particolarmente importante per gli algoritmi sensibili alla scalatura delle caratteristiche, come i metodi basati sulla discesa del gradiente utilizzati nel deep learning (DL).

Perché la normalizzazione è importante

I dataset del mondo reale spesso contengono caratteristiche con scale e unità di misura molto diverse. Ad esempio, in un set di dati per la previsione di abbandono dei clienti, il "saldo del conto" può variare da centinaia a milioni di unità, mentre il "numero di prodotti" può variare da 1 a 10 unità. Senza normalizzazione, gli algoritmi di ML che calcolano le distanze o utilizzano i gradienti, come le macchine vettoriali di supporto (SVM) o le reti neurali (NN), potrebbero percepire erroneamente la caratteristica con un intervallo più ampio come più importante semplicemente a causa della sua scala. La normalizzazione livella il campo di gioco, assicurando che il contributo di ogni caratteristica sia basato sul suo potere predittivo, non sulla sua grandezza. Questo porta a una convergenza più rapida durante l'addestramento, a una maggiore accuratezza del modello e a modelli più stabili e robusti, il che è vantaggioso quando si addestrano modelli come quelli di Ultralytics YOLO per compiti come il rilevamento di oggetti.

Tecniche di normalizzazione comuni

Esistono diversi metodi per ridimensionare i dati:

  • Scala Min-Max: Questa è probabilmente la tecnica di normalizzazione più comune. Ridimensiona le caratteristiche in modo lineare in un intervallo fisso, di solito [0, 1]. Il valore minimo della caratteristica originale diventa 0, il valore massimo diventa 1 e tutti gli altri valori si collocano proporzionalmente nel mezzo. È sensibile ai valori anomali.
  • Standardizzazione del punteggio Z: Anche se spesso viene raggruppata con la normalizzazione, la standardizzazione è tecnicamente diversa. A differenza della scalatura Min-Max, non vincola i valori a un intervallo specifico, il che può essere vantaggioso per gli algoritmi che assumono dati centrati su zero. Scopri di più sulla Preelaborazione di Scikit-learn.

La scelta tra queste tecniche dipende spesso dal set di dati specifico e dai requisiti dell'algoritmo di ML utilizzato. Puoi trovare delle guide sulla pre-elaborazione dei dati annotati, che spesso comporta delle fasi di normalizzazione.

Normalizzazione vs. Standardizzazione vs. Normalizzazione in batch

È importante distinguere la normalizzazione dai concetti correlati:

  • Normalizzazione (scala Min-Max): Scala i dati in un intervallo fisso (ad esempio, da 0 a 1). Utile quando i valori delle caratteristiche devono essere delimitati.
  • Standardizzazione (Z-score): Centra i dati intorno a una media di 0 con una deviazione standard di 1. Meno influenzata dagli outlier rispetto alla scala Min-Max e spesso preferita per gli algoritmi che assumono dati normalmente distribuiti o centrati su zero.
  • Normalizzazione batch: Si tratta di una tecnica applicata agli strati della rete neurale profonda durante l'addestramento, non di una fase generale di pre-elaborazione dei dati applicata in precedenza. Normalizza le attivazioni di uno strato precedente per ogni mini-batch, aiutando a stabilizzare l'addestramento e a ridurre lo spostamento delle covariate interne.

Applicazioni della normalizzazione

La normalizzazione è una fase onnipresente nella preparazione dei dati per varie attività di AI e ML:

  1. Elaborazione delle immagini: Nella computer vision (CV), i valori dei pixel nelle immagini (che di solito vanno da 0 a 255) sono spesso normalizzati all'intervallo [0, 1] o [-1, 1] prima di essere inseriti nei modelli per compiti come la classificazione o la segmentazione delle immagini. Questo garantisce una scalatura coerente degli input per le reti neurali convoluzionali (CNN). Molti dataset CV popolari beneficiano di questa pre-elaborazione.
  2. Fusione di dati multisensore: Quando si combinano i dati di diversi sensori con scale di misurazione diverse (ad esempio, temperatura, pressione, umidità) per un modello predittivo, la normalizzazione assicura che le letture di un singolo sensore non dominino gli altri solo a causa della loro scala. Questo aspetto è importante in campi come la robotica o i veicoli autonomi.
  3. Analisi delle immagini mediche: Analogamente all'elaborazione generale delle immagini, l'analisi delle immagini mediche richiede spesso la normalizzazione delle intensità dei pixel o dei voxel in diverse scansioni (ad esempio, risonanza magnetica, tomografia computerizzata) per tenere conto delle variazioni nelle apparecchiature e nei protocolli di imaging, favorendo compiti come il rilevamento dei tumori.

In sintesi, la normalizzazione è una fase di pre-elaborazione fondamentale che scala le caratteristiche dei dati a un intervallo coerente, migliorando il processo di formazione, la stabilità e le prestazioni di molti modelli di apprendimento automatico, compresi quelli sviluppati e addestrati con strumenti come Ultralytics HUB. Garantisce un contributo equo alle caratteristiche ed è essenziale per gli algoritmi sensibili alla scala degli input.

Leggi tutto