Go to main content
Similarity and distances - official lesson image on GinnyTech, created by AD

Similarity, distances, and linear transformations

Similarity metrics, metric spaces, and how linear transformations shape data.

AD
Created byAndrii Dyshkantiuk
Lesson 151 / 236Level: AdvancedDuration: 22 minPrerequisites: 1

What you will learn

  • Applicare trasformazioni lineari y = A·x per ruotare, scalare o proiettare lo spazio delle feature
  • Confrontare distanza euclidea e similarità coseno su vettori normalizzati e non
  • Usare SVD e autovalori per tenere le direzioni a varianza massima

Similarity, distances, and linear transformations

Questa lezione appartiene al binario ml-tabellare e tratta similarità, distanze e trasformazioni lineari come una scelta operativa, non come un capitolo di teoria da memorizzare. Un team product ti chiede perché il nuovo sistema di raccomandazione propone articoli apparentemente strani. A occhio sembrano lontani dal gusto dell’utente, ma dentro il modello condividono una direzione: ritmo di acquisto, categoria, fascia prezzo, ricorrenza e risposta alle offerte.

Che cosa decide la scelta della metrica

Similarità e trasformazioni lineari decidono quali differenze tra i dati contano e quali vengono schiacciate quando cambi rappresentazione.

La procedura, passo per passo

  1. Traduci ogni entità in un vettore con le stesse feature nello stesso ordine.
  2. Scegli la metrica coerente con la domanda: coseno per le direzioni, euclidea per le magnitudini.
  3. Applica la trasformazione y = A·x per ruotare, scalare o proiettare lo spazio.
  4. Verifica cosa la trasformazione conserva e cosa distrugge confrontando le distanze prima e dopo.
  5. Usa la decomposizione (SVD o autovalori) per tenere le direzioni a varianza massima e scartare il resto.
  6. Valida la rappresentazione su un compito reale prima di metterla in produzione.

Dai dati ai vettori

Per analizzare i dati in modo quantitativo devi prima tradurre entità reali, come clienti, prodotti e transazioni, in un linguaggio matematico. Lo strumento per questa traduzione è il vettore. Un cliente di una piattaforma e-commerce può essere rappresentato come vettore in uno spazio delle feature, dove ogni dimensione corrisponde a una metrica di comportamento. Per esempio il cliente C1 può essere descritto dal vettore v1 = [12, 85.50, 4], where the components represent respectively acquisti_ultimo_mese, spesa_media_per_acquisto e categorie_diverse_visitate. A second customer, C2, può essere v2 = [13, 90.00, 4].

Una volta che clienti e prodotti vivono nello stesso spazio, similarità e distanza diventano misure concrete. Due vettori vicini descrivono comportamenti simili, due vettori lontani descrivono comportamenti diversi. Le trasformazioni lineari lavorano proprio su questo spazio: cambiano il modo in cui le distanze vengono lette senza inventare informazione nuova.

Le trasformazioni lineari servono a rendere visibile la struttura dei dati. Prendono uno spazio difficile da leggere e lo ruotano, comprimono o proiettano finché il segnale diventa più interpretabile. Se capisci cosa fa una matrice, capisci anche cosa il modello sceglie di conservare e cosa sacrifica. Embedding, PCA, SVD, raccomandazioni e riduzione dimensionale sono modi diversi di manipolare spazi. La domanda non è solo come si calcola, ma quale informazione resta leggibile dopo la trasformazione.

Verdetto: confronta direzioni con il coseno e magnitudini con la distanza euclidea, e cambia metrica solo se cambia la domanda di business.

Norma e distanza: euclidea contro coseno

La distanza euclidea misura quanto sono lontani due punti e premia vettori di magnitudine simile. Due clienti che spendono 10 e 1.000 euro al mese risultano lontanissimi anche con identico mix di categorie. La similarità del coseno misura invece l’angolo tra i vettori e ignora la magnitudine: gli stessi due clienti risultano quasi identici se comprano nelle stesse proporzioni. La scelta dipende dalla domanda. Per segmentare comportamenti d’acquisto usa il coseno su vettori normalizzati, per stimare il valore atteso usa l’euclidea sui valori grezzi. Mescolare le due senza normalizzare è l’errore più frequente nei sistemi di raccomandazione artigianali.

SVD e autovalori in pratica

La decomposizione ai valori singolari scrive qualsiasi matrice come prodotto di rotazioni e un ridimensionamento lungo assi ortogonali. I valori singolari dicono quanta varianza spiega ciascun asse. Tenere i primi k assi e scartare il resto è la riduzione dimensionale operativa. La quota di varianza trattenuta si legge nel rapporto tra somma dei quadrati dei primi k valori e somma totale. Gli autovalori fanno lo stesso lavoro sulle matrici quadrate simmetriche come le covarianze. Verdetto: scegli k guardando il gomito della varianza spiegata e valida sempre su un compito reale, mai sulla sola eleganza matematica.

Il premio Netflix: un milione di dollari per la geometria

Nel 2006 Netflix annunciò un premio da un milione di dollari a chi avesse migliorato del 10% il suo sistema di raccomandazione. Il dataset della gara conteneva oltre 100 milioni di valutazioni di film da parte degli utenti. Le soluzioni migliori modellarono utenti e film come vettori in uno spazio latente e predissero i rating con il prodotto scalare, addestrando i vettori tramite fattorizzazione matriciale. Nel 2009 vinse il team BellKor’s Pragmatic Chaos, dimostrando che la geometria dei vettori latenti batteva ogni sistema basato su regole esplicite.

Prima di passare alla prossima lezione

  1. Quando due clienti vicini in tabella risultano lontani nello spazio delle feature?
  2. Cosa perdi quando proietti i dati su meno dimensioni e come lo misuri?
  3. Come capisci se la metrica di similarità scelta sta drogando le raccomandazioni?
  4. Quale controllo fai prima di fidarti di un embedding appena addestrato?
Serve una mano concreta?

Bloccato su questo argomento o vuoi applicarlo al tuo caso? Prenota una call di 15 minuti con un analista esperto.

Book a call