Go to main content
Vectors and matrices - official lesson image on GinnyTech, created by AD

Vectors, matrices, and data geometry

Foundations of linear algebra for data analysis: vectors, matrices, and the geometry behind the numbers.

AD
Created byAndrii Dyshkantiuk
Lesson 150 / 236Level: AdvancedDuration: 22 min

What you will learn

  • Calcolare norma, prodotto scalare e similarità coseno tra vettori di feature
  • Scegliere tra distanza euclidea, Manhattan, coseno e Mahalanobis in base alla domanda
  • Valutare l'effetto della normalizzazione delle feature su segmentazione e raccomandazioni

Links

Direct entry into the module.

Vectors, matrices, and data geometry

Questa è la prima lezione del binario ml-tabellare, e cominciamo dal mattone di tutto: la geometria del dato trasforma righe e colonne in posizioni, direzioni e distanze. Un vettore non è un simbolo astratto: è il modo in cui descrivi un utente, un prodotto, una sessione o un documento dentro uno spazio dove puoi misurare somiglianze reali.

Che cosa significa la geometria del dato

Ogni riga del dataset diventa un punto in uno spazio dove la vicinanza misura somiglianza reale tra utenti, prodotti o documenti.

Come si costruisce lo spazio

  1. Rappresenta ogni entità come vettore v = [v₁, ..., vₙ] con le stesse feature nello stesso ordine.
  2. Calcola la norma ||v|| = √(v₁² + ... + vₙ²) per misurare la lunghezza di ciascun vettore.
  3. Calcola il prodotto scalare u·v = u₁v₁ + ... + uₙvₙ tra la coppia da confrontare.
  4. Ricava la similarità coseno con cos(θ) = (u·v) / (||u||·||v||), che vale 1 per vettori allineati e 0 per vettori ortogonali.
  5. Se conta la scala assoluta e non solo la direzione, calcola la distanza euclidea √(Σ(uᵢ−vᵢ)²) al posto del coseno.
  6. Confronta il valore ottenuto con una baseline dichiarata prima di decidere segmenti, raccomandazioni o anomalie.

Vectors: points and arrows in space

A vector is an ordered list of numbers: v = [v₁, v₂, ..., vₙ]. Ogni cliente nel tuo dataset è un vettore, cioè una riga della matrice dei dati. Geometricamente è un punto nello spazio ℝⁿ oppure una freccia dall’origine a quel punto. Algebricamente è un elemento di uno spazio vettoriale su cui puoi fare somma e prodotto per scalare. In pratica, un cliente con età=34, reddito=45K e spesa_mensile=230 è il vettore [34, 45000, 230].

Le operazioni fondamentali sono poche. La somma u + v = [u₁+v₁, ..., uₙ+vₙ] corrisponde alla diagonale del parallelogramma. Il prodotto per scalare α·v = [αv₁, ..., αvₙ] allunga o accorcia il vettore senza cambiarne la direzione. Il prodotto scalare u·v = u₁v₁ + ... + uₙvₙ = ||u||·||v||·cos(θ) misura quanto due vettori puntano nella stessa direzione. Se vale 0 sono ortogonali, se è positivo formano un angolo acuto.

Il prodotto scalare genera due strumenti diretti. Il primo è la similarità coseno, cos(θ) = (u·v) / (||u||·||v||), che confronta documenti, utenti e prodotti restando robusta alle differenze di scala. Il secondo è la proiezione, proj_u(v) = ((u·v)/(u·u))·u, cioè la componente di v lungo la direzione di u. La norma ||v|| = √(v₁² + ... + vₙ²) è la lunghezza, ossia la distanza euclidea dall’origine.

u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
cos_sim = np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v))
# cos_sim ≈ 0.974  -  molto simili

Matrices: space transformations

A matrix A of size m×n è una griglia di numeri. Nell’analisi dati la matrice X of size n_righe × n_feature rappresenta l’intero dataset: ogni riga è un vettore cliente e ogni colonna è una feature.

La moltiplicazione matrice-vettore y = A·x trasforma il vettore x in un nuovo vettore y, ruotandolo, scalandolo o riflettendolo. Ogni componente di y è una combinazione lineare delle componenti di x. La moltiplicazione matrice-matrice C = A·B compone due trasformazioni: prima applichi B, poi A. La trasposta A^T scambia righe e colonne ed è fondamentale perché X^T·X è la matrice di covarianza usata in PCA e regressione.

Un caso reale è il sistema di raccomandazione. Netflix rappresenta film e utenti come vettori in uno spazio latente, per esempio a 50 dimensioni. La predizione del rating è il prodotto scalare tra il vettore utente e il vettore film. L’addestramento consiste nel trovare i vettori che minimizzano l’errore di predizione: un problema di algebra lineare su larga scala risolto con decomposizione matriciale (SVD).

Distances: how similar are two points?

DistanceFormulaWhen to use it
Euclidean√(Σ(uᵢ-vᵢ)²)Default, sensitive to outliers
Manhattan`Σuᵢ-vᵢ
Cosine`1 - (u·v)/(
Mahalanobis√((u-v)^T·Σ⁻¹·(u-v))Accounts for correlation between features

La scelta della distanza determina il risultato di clustering, k-NN e anomaly detection. Non è un dettaglio tecnico: è una decisione di modellazione che cambia segmenti e raccomandazioni.

Verdetto: usa la distanza coseno quando confronti profili e direzioni a scale diverse, la distanza euclidea quando la magnitudine assoluta conta, Manhattan quando gli outlier dominano.

References:

  • Strang, G. (2019). Linear Algebra and Learning from Data. Wellesley-Cambridge Press.
  • Boyd, S. & Vandenberghe, L. (2018). Introduction to Applied Linear Algebra. Cambridge University Press.

Il premio Netflix: la geometria che vince

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.

Domande per chiudere la lezione

  1. Quando la similarità coseno mente e la distanza euclidea racconta la storia giusta?
  2. Cosa cambia nella segmentazione se normalizzi le feature prima di calcolare le distanze?
  3. Come verifichi che la metrica di similarità scelta regga su un nuovo segmento di utenti?
  4. Quale controllo fai prima di usare una matrice di trasformazione in una decisione di prodotto?
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