Algebra lineare per l’apprendimento automatico: vettori, matrici e perché l’IA soprattutto moltiplica
Vettori, prodotto scalare e similarità del coseno, matrici come trasformazioni, determinante, lo strato di una rete neurale come Wx + b e autovettori — con figure calcolate dal codice.
Serie Basi di IA Parte 9 di 52
- Mappa dell’intelligenza artificiale: che cos’è ciascuna cosa e come si incastra tutto
- Breve storia dell’intelligenza artificiale: da Turing ai modelli linguistici
- Dati, modello, addestramento, inferenza: i concetti di base su un unico esempio
- Come leggere la notazione matematica: simboli, indici, sommatorie e quantificatori
- Insiemi e relazioni: i mattoncini con cui si costruiscono le definizioni nell’IA
- Funzioni e applicazioni: perché ogni modello di IA è una funzione
- Logica e dimostrazioni: le regole con cui si ragiona nell’IA
- Grafi e alberi: la struttura su cui poggiano la ricerca e le reti neurali
- Algebra lineare per l’apprendimento automatico: vettori, matrici e perché l’IA soprattutto moltiplica
- Derivate, gradiente e regola della catena: come un modello capisce in quale direzione imparare
- Discesa del gradiente: come impara un modello
- Che cos’è la probabilità: dal lancio di un dado agli assiomi di Kolmogorov
- Probabilità condizionata e teorema di Bayes: come cambiare una stima quando scopri qualcosa di nuovo
- Variabile aleatoria e funzione di ripartizione: una sola funzione che dice tutto sulla distribuzione
- Funzione di densità e funzione di massa: perché una variabile continua ha probabilità zero in un punto
- Valore atteso, varianza e covarianza: dove si trova una distribuzione, quanto è larga e che cosa è legato a che cosa
- Panoramica delle distribuzioni di probabilità: Bernoulli, binomiale, Poisson, uniforme, normale ed esponenziale
- Legge dei grandi numeri e teorema del limite centrale: perché le medie si comportano in modo così prevedibile
- Statistica e stima dei parametri: massima verosimiglianza, MAP e intervalli di confidenza
- Teoria dell’informazione: entropia, entropia incrociata e divergenza KL — da dove vengono le funzioni di perdita
- Ricerca nello spazio degli stati: BFS, DFS, UCS e A* con animazioni
- Giochi e avversari: minimax, potatura alfa-beta e Monte Carlo tree search
- Soddisfacimento di vincoli: backtracking, propagazione dei vincoli e AC-3 su un sudoku e una mappa delle regioni ceche
- Logica e sistemi basati sulla conoscenza: concatenazione in avanti e all’indietro, risoluzione e sistemi esperti
- Pianificazione: STRIPS, il mondo dei blocchi, euristiche dal rilassamento e pianificazione negli agenti IA
- Ricerca locale e ricottura simulata: un commesso viaggiatore tra i capoluoghi di regione cechi
- Algoritmi genetici: popolazione, incrocio, mutazione e selezione su uno zaino per l’escursione
- Strategie evolutive e programmazione genetica: dalla regola di un quinto alla legge di Keplero
- Ottimizzazione con colonie di formiche: come una traccia di feromone trova un percorso breve
- Ottimizzazione a sciame di particelle: inerzia, esperienza propria ed esperienza dello sciame
- Neuroevoluzione: evoluzione dei pesi e della forma delle reti neurali e l’algoritmo NEAT
- Insiemi fuzzy e funzioni di appartenenza: come scrivere «un po’ caldo»
- Logica fuzzy e probabilità: perché «un po’ caldo» non significa «probabilmente caldo»
- Logica fuzzy: t-norme, implicazioni e regole SE–ALLORA
- Controllo fuzzy: Mamdani e Sugeno, dal ventilatore al pendolo inverso su un carrello
- Clustering fuzzy: l’algoritmo fuzzy c-means e i punti tra i cluster
- Sistemi neuro-fuzzy (ANFIS): regole fuzzy che imparano dai dati
- Catene di Markov: matrice di transizione, distribuzione stazionaria e PageRank
- Modelli di Markov nascosti: l’algoritmo di Viterbi e il casinò disonesto
- Reti bayesiane: perché l’erba è bagnata e che cosa significa per l’irrigatore
- Filtro di Kalman: come stimare da misure imprecise dove si trova un’auto e a che velocità va
- Tipi di apprendimento automatico: supervisionato, non supervisionato, semi-supervisionato e altri
- Prompt, contesto e RAG: come dare a un modello le informazioni giuste
- Autoencoder variazionali (VAE): immagini nuove da uno spazio latente continuo
- Reti generative avversarie (GAN): il falsario contro il detective
- Modelli di diffusione: come il rumore puro diventa un’immagine
- Processi decisionali di Markov: stati, azioni, ricompense ed equazioni di Bellman
- Q-learning e DQN: imparare il valore delle azioni, dalla tabella alla rete neurale
- Policy gradient e PPO: imparare direttamente la politica
- Come funziona un agente IA: un modello linguistico in un ciclo con strumenti
- Programmare con agenti IA: incarico, test e controllo
- Valutazione e sicurezza dei sistemi di IA: come misurare e come sorvegliare
Programma completo della serie 52 di 83 argomenti pubblicati
- Che cosa sono un vettore e il prodotto scalare — e come se ne ricava la similarità tra parole.
- Perché una matrice è una trasformazione dello spazio, che cosa dice il determinante e perché moltiplicare matrici è comporre.
- Che uno strato di rete neurale è Wx + b con una non linearità e che cosa sono gli autovettori su cui si basa la PCA.
Utile sapere prima: Come leggere la notazione matematica: simboli, indici, sommatorie e quantificatori, Funzioni e applicazioni: perché ogni modello di IA è una funzione
Se smontassi un qualsiasi modello di intelligenza artificiale fino in fondo, troveresti soprattutto un’operazione: la moltiplicazione di matrici. Per il modello un’immagine è una tabella di numeri, una parola è una lista di numeri, uno strato di una rete neurale è una matrice, e le schede grafiche sono così importanti proprio perché sanno moltiplicare matrici più velocemente di qualsiasi altra cosa. L’algebra lineare è la lingua in cui l’IA fa i conti.
Non percorreremo tutto il programma universitario. Vedremo solo ciò che ti servirà nelle prossime parti — e per ogni concetto mostreremo dove si trova nell’IA.
1. Vettori: una freccia e una lista di numeri
Definizione — vettore e operazioni sui vettori
Un vettore di ℝn è una n-upla ordinata di numeri reali u = (u1, …, un); i numeri ui sono le sue componenti.
La somma si calcola componente per componente: u + v = (u1 + v1, …, un + vn). Il prodotto per uno scalare è cu = (cu1, …, cun).
L’espressione c1v1 + … + ckvk è una combinazione lineare dei vettori v1, …, vk.
Un vettore ha due facce. Per il computer è una lista di numeri — il prezzo, la superficie e l’età di un appartamento. Per l’immaginazione è una freccia che va dall’origine a un punto. Sommare vettori significa mettere le frecce una dopo l’altra: chi si sposta prima secondo u e poi secondo v arriva in u + v.
Nell’IA quasi tutto è un vettore. Un’immagine in bianco e nero di 28 × 28 pixel è un vettore di ℝ784. Una parola in un modello linguistico è un vettore con centinaia o migliaia di componenti — il cosiddetto embedding (rappresentazione vettoriale). E i parametri dell’intero modello sono un unico vettore gigante θ.
2. Prodotto scalare, lunghezza e similarità
Definizione — prodotto scalare, norma, angolo
Prodotto scalare u · v = ∑i=1n uivi (anche u⊤v).
Lunghezza (norma euclidea) ‖u‖ = √(u · u). Per l’angolo φ tra due vettori vale cos φ = (u · v) / (‖u‖ ‖v‖); i vettori sono ortogonali quando u · v = 0.
Il prodotto scalare moltiplica i numeri corrispondenti e li somma. Il risultato dice quanto due vettori «puntano nella stessa direzione»: positivo e grande — simili, zero — perpendicolari, negativo — opposti.
Per u = (3, 1) e v = (1, 2) si ha u · v = 3 · 1 + 1 · 2 = 5, ‖u‖ = √10 ≈ 3,16, ‖v‖ = √5 ≈ 2,24 e cos φ = 5 / √50 ≈ 0,71 — i vettori formano un angolo di 45°.
Il coseno dell’angolo è famoso nell’IA come similarità del coseno. Immagina un embedding giocattolo di parole con tre componenti «animale, domestico, ha le ruote»: gatto (0,9; 0,8; 0), cane (0,85; 0,9; 0,05), auto (0; 0,3; 0,95). La similarità tra gatto e cane risulta 0,995, tra gatto e auto solo 0,20. È esattamente così che i motori di ricerca trovano documenti «simili» e i modelli linguistici parole «simili» — solo in centinaia di dimensioni invece di tre.
3. Matrici e prodotto per un vettore
Definizione — matrice e prodotto matrice-vettore
Una matrice di tipo m × n è una tabella di numeri reali con m righe e n colonne; Aij è l’elemento nella i-esima riga e nella j-esima colonna.
Per A ∈ ℝm×n e x ∈ ℝn, Ax ∈ ℝm è il vettore con componenti (Ax)i = ∑j Aijxj — il prodotto scalare della i-esima riga per x.
Una matrice è una macchina per vettori: ci metti un vettore e ne ottieni un altro. Ogni riga della matrice fa un prodotto scalare con l’ingresso, e il risultato è una componente dell’uscita.
A = [2 1; 1 3], x = (1, 2)
Ax = (2 · 1 + 1 · 2, 1 · 1 + 3 · 2) = (4, 7)
4. La matrice come trasformazione dello spazio
Il modo migliore per «vedere» una matrice è guardare che cosa fa al piano. Ogni matrice 2 × 2 porta una griglia in un’altra griglia — le rette restano rette e l’origine resta al suo posto. Per questo si parla di applicazione lineare. In grigio c’è la griglia originale, in verde quella trasformata, in arancione l’immagine del quadrato unitario:
[0 -1; 1 0] · area × 1
[1,5 0; 0 1,5] · area × 2,25
[1 1; 0 1] · area × 1
[1 0; 0 0] · area × 0
Definizione — determinante di una matrice 2 × 2
det [a b; c d] = ad − bc. Il suo valore assoluto è il fattore di variazione dell’area: il quadrato unitario viene trasformato in un parallelogramma di area |det A|.
Il determinante dice di quante volte la matrice ingrandisce le aree. La rotazione e il taglio non cambiano l’area (det = 1), l’ingrandimento 1,5× la aumenta di 2,25× e la proiezione schiaccia il piano su una retta — area e determinante sono zero, e ciò che è stato schiacciato una volta non si può più riallargare.
5. Moltiplicare matrici è comporre
Definizione — prodotto di matrici
Per A ∈ ℝm×k e B ∈ ℝk×n si ha (AB)ij = ∑l AilBlj. Vale (AB)x = A(Bx): il prodotto di matrici è la composizione delle applicazioni — prima B, poi A.
La moltiplicazione di matrici è associativa, ma in generale non è commutativa: AB ≠ BA.
Moltiplicare due matrici significa collegare due macchine una dopo l’altra in una sola. E, proprio come con le funzioni, l’ordine conta: ruotare e poi applicare il taglio dà un risultato diverso dall’applicare il taglio e poi ruotare.
R = [0 −1; 1 0] (rotazione), Z = [1 1; 0 1] (taglio)
RZ = [0 −1; 1 1], ZR = [1 −1; 1 0]
6. Uno strato di rete neurale è una matrice
Ora si può dire con precisione che cosa fa uno strato di una rete neurale:
y = ReLU(Wx + b)
La matrice W (i pesi) e il vettore b (il bias) sono i parametri che la rete impara. Per W = [0,5 −1 2; 1 0 −0,5], l’ingresso x = (1, 2, 3) e b = (0, −1):
Wx = (0,5 − 2 + 6, 1 + 0 − 1,5) = (4,5; −0,5)
Wx + b = (4,5; −1,5), ReLU → (4,5; 0)
Lo strato ha trasformato tre numeri in due e ha azzerato quello negativo. Una rete profonda è una serie di passi del genere uno dopo l’altro — e senza una funzione non lineare (ReLU, sigmoide) collasserebbe tutta in un’unica matrice, perché la composizione di applicazioni lineari è ancora un’applicazione lineare. Quando la rete elabora più ingressi insieme (un batch), li raccoglie in una matrice X e l’intero batch si calcola con una sola moltiplicazione WX — ed è proprio l’operazione che le schede grafiche eseguono più velocemente.
7. Matrice inversa e sistemi di equazioni
Definizione — matrice inversa
Una matrice quadrata A è invertibile se esiste A−1 con A−1A = AA−1 = I (matrice identità). Una matrice è invertibile se e solo se det A ≠ 0.
Per 2 × 2: [a b; c d]−1 = (1 / (ad − bc)) · [d −b; −c a]. Il sistema Ax = y ha allora un’unica soluzione x = A−1y.
La matrice inversa annulla la trasformazione. È possibile solo se la matrice non ha schiacciato lo spazio — ed è proprio questo che controlla il determinante.
Per A = [2 1; 1 3] si ha det A = 2 · 3 − 1 · 1 = 5 e A−1 = [0,6 −0,2; −0,2 0,4]. Dal risultato noto (4, 7) otteniamo così di nuovo l’ingresso (1, 2). Allo stesso modo si calcola in forma chiusa anche la regressione lineare — il metodo dei minimi quadrati porta alle equazioni normali (X⊤X)θ = X⊤y.
8. Autovalori e autovettori
Definizione — autovalore e autovettore
Un vettore non nullo v è un autovettore della matrice A con autovalore λ se Av = λv.
Gli autovalori sono le radici dell’equazione det(A − λI) = 0. Una matrice simmetrica ha autovalori reali e autovettori ortogonali tra loro.
La maggior parte dei vettori la matrice li ruota altrove. Gli autovettori sono l’eccezione: la matrice li allunga o li accorcia soltanto, la direzione resta la stessa. L’autovalore dice di quante volte. Sono gli «assi naturali» della trasformazione.
Gli autovalori della matrice [2 1; 1 3] sono (5 ± √5)/2, cioè ≈ 3,62 e ≈ 1,38. L’ellisse è allungata 3,62× nella direzione del primo autovettore e 1,38× in quella del secondo. Le frecce grigie in una direzione qualsiasi dopo la trasformazione ruotano, gli assi arancioni no. Su questo si basa l’analisi delle componenti principali (PCA): gli autovettori della matrice di covarianza dei dati indicano le direzioni in cui i dati variano di più, e gli autovalori quanto.
9. L’algebra lineare nell’intelligenza artificiale
- I dati sono una matrice: una riga è un esempio, una colonna una caratteristica.
- Gli embedding sono vettori; la similarità si misura con il prodotto scalare o con il coseno.
- Uno strato della rete è Wx + b più una non linearità; l’addestramento modifica gli elementi delle matrici W.
- L’attenzione nei transformer calcola i prodotti scalari di tutte le query con tutte le chiavi (key) in una volta sola — la moltiplicazione di matrici QK⊤.
- La PCA e la compressione cercano autovettori, i sistemi di raccomandazione scompongono la matrice «utente × film» nel prodotto di matrici più piccole (fattorizzazione di matrici).
10. Riepilogo
- Un vettore è sia una lista di numeri sia una freccia; si somma componente per componente.
- Il prodotto scalare misura quanto due vettori puntano nella stessa direzione — la similarità del coseno ne è la versione normalizzata.
- Una matrice è una trasformazione lineare dello spazio; il determinante dice di quante volte cambia l’area, e zero significa che la trasformazione non si può annullare.
- Moltiplicare matrici è comporre trasformazioni, e uno strato di rete neurale è Wx + b con una non linearità.
- Gli autovettori sono le direzioni che la matrice si limita ad allungare — su di essi si basa la PCA.
La vedi diversamente? Scrivi a support@coden-app.com.