Dalle codifiche ai embedding

Dalle codifiche agli embedding

concetti e fondamenti: da SVD alle reti neurali

credito: https://unsplash.com/

In questo articolo parleremo di due concetti fondamentali nei campi della rappresentazione dei dati e dell’apprendimento automatico: Codifica ed Embedding. Il contenuto di questo articolo è in parte tratto da una delle mie lezioni nel corso CS246 Mining Massive DataSet (MMDS) presso la Stanford University. Spero che lo troviate utile.

Introduzione

Tutti i metodi di Apprendimento Automatico (ML) lavorano con vettori di caratteristiche di input e quasi tutti richiedono che le caratteristiche di input siano numeriche. Dal punto di vista del ML, ci sono quattro tipi di caratteristiche:

  1. Numerico (continuo o discreto): i dati numerici possono essere caratterizzati da dati continui o discreti. I dati continui possono assumere qualsiasi valore all’interno di un intervallo, mentre i dati discreti hanno valori distinti. Un esempio di variabile numerica continua è `altezza`, e un esempio di variabile numerica discreta è `età`.
  2. Categorico (ordinale o nominale): i dati categorici rappresentano caratteristiche come il colore degli occhi e il luogo di origine. I dati categorici possono essere ordinali o nominali. In una variabile ordinale, i dati ricadono in categorie ordinate che sono classificate in un certo modo particolare. Un esempio è il `livello di abilità` che assume valori di [`principiante`, `intermedio`, `avanzato`]. La variabile nominale non ha un ordine tra i suoi valori. Un esempio è il `colore degli occhi` che assume valori di [`nero`, `marrone`, `blu`, `verde`].
  3. Serie temporali: una serie temporale è una sequenza di numeri raccolti a intervalli regolari nel corso di un certo periodo di tempo. Questi dati sono ordinati nel tempo, a differenza delle variabili precedenti. Un esempio di questo è la `media del prezzo di vendita delle case negli USA nel corso degli anni`.
  4. Testo: Qualsiasi documento è un dato testuale, che spesso rappresentiamo come un “sacco di parole” (“bag of words”).

Per alimentare qualsiasi variabile a un modello di ML, dobbiamo convertirle in forma numerica. Sia le tecniche di codifica che di embedding fanno questo trucco.

Codifica

La codifica è il processo di conversione di dati grezzi, come testo, immagini o audio, in un formato numerico strutturato che può essere facilmente elaborato dai computer. Ci sono due modi per codificare una variabile categorica:

1️⃣ Codifica intera