Lo scaling nel machine learning

Nel machine learning lo scaling (o feature scaling) mi permette di normalizzare il range di variazione delle caratteristiche (feature) di un dataset.

A cosa serve? E' una delle operazioni di pre-processing più utili perché migliora la qualità dei risultati finali. A parità di altre condizioni, lo scaling o scalatura riduce il tempo in cui l'algoritmo di apprendimento converge al risultato finale e migliora l'efficacia del modello statistico.

Quando l'intervallo dei valori è molto variabile, la semplice distanza euclidea tra due due punti può diventare fuorviante.

Un esempio pratico

Se una caratteristica ha un'ampia gamma di valori mentre un'altra caratteristica ne ha una più ristretta, la prima caratteristica governa la distanza tra i punti.

un esempio di dati prima dello scaling

Per evitare questo problema ricorro alla normalizzazione dei dati tramite lo scaling.

    Come funziona lo scaling

    Esistono diversi metodi di scaling dei dati.

    Uno dei più semplici è il ridimensionamento min-max.

    L'algoritmo di scaling individua il valore minimo e massimo tra i valori di una caratteristica x.

    $$ \begin{cases} \min(x) \\ \max(x) \end{cases} $$

    In questo modo riduce il campo di variazione dei valori

    il minimo e il massimo

    Poi sostituisce ogni valore xi con il valore x'i normalizzato

    $$ x'_i = \frac{x_i - min(x)}{max(x)-min(x)} $$

    Dove xi è il valore originale mentre x'i è il valore normalizzato.

    In questo modo i dati diventano omogenei in una scala da 0 a 1.

    il risultato dello scaling sui dati

    E' soltanto un metodo di ridimensionamento. Ce ne sono molti altri.

    Ad esempio, la normalizzazione media.

    $$ x'_i = \frac{x_i - media(x)}{max(x)-min(x)} $$

    Sottovalutare la potenza dello scaling è uno degli errori più diffusi per chi inizia ad approfondire l'apprendimento automatico.

    E così via.


     
    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Libri di approfondimento

    Machine Learning (ML)