MimìrCast: le novità sull’AI ogni giorno
Ascolta il podcast ➔
Algebra lineare

Algebra lineare e sue applicazioni al Machine Learning, Deep Learning e Big Data Analysis

L’algebra lineare è la parte della matematica che studia vettori, matrici e trasformazioni lineari, ed è il linguaggio in cui sono scritti l’Intelligenza Artificiale (IA), il calcolo dei Big Data, il machine learning e il deep learning. Un dataset è una matrice, un’immagine è una griglia di numeri, uno strato di rete neurale è una moltiplicazione matrice per vettore. Questo articolo spiega come e perché l’algebra lineare è così importante in questi ambiti, con definizioni chiare ed esempi fatti con i numeri.

In questo articolo scoprirai:

  • I concetti fondamentali dell’algebra lineare: vettori, matrici, sistemi lineari, trasformazioni lineari, autovalori e autovettori (le direzioni che una matrice allunga senza ruotarle);
  • Un esempio numerico di prodotto matrice-vettore che mostra cosa calcola davvero uno strato di rete neurale;
  • Come l’algebra lineare viene applicata nel machine learning e nel deep learning: regressione lineare, PCA, reti neurali e backpropagation;
  • Il ruolo dell’algebra lineare nell’analisi dei Big Data, nel clustering e negli algoritmi di ottimizzazione;
  • Quanta algebra lineare serve davvero per il machine learning, e dove studiarla.

Cos’è l’algebra lineare: definizione e origini

L’algebra lineare è la branca della matematica che studia vettori, spazi vettoriali e trasformazioni lineari tra questi spazi, come la moltiplicazione di matrici e il calcolo di autovettori e autovalori, cioè le direzioni che una matrice si limita ad allungare o accorciare senza ruotarle e il fattore di quell’allungamento. È il linguaggio matematico con cui oggi si descrivono dati, modelli e calcoli in praticamente ogni sistema di intelligenza artificiale moderno.

Le radici sono antiche: già il testo cinese Nove capitoli sull’arte matematica (circa 200 a.C.) risolveva sistemi di equazioni lineari disponendo i coefficienti in tabella, con un procedimento molto simile all’odierna eliminazione di Gauss. I determinanti arrivano nel 1683 con Seki in Giappone e nel 1693 con Leibniz in Europa, il termine «matrice» lo usa per primo Sylvester nel 1850 e la prima definizione astratta di matrice è di Cayley nel 1858, come ricostruisce l’archivio storico MacTutor dell’Università di St Andrews. Da lì la disciplina è diventata uno strumento indispensabile per molte discipline scientifiche e ingegneristiche. Per il contesto in cui si è sviluppata l’intelligenza artificiale che oggi fa largo uso di questi strumenti, c’è la storia dell’intelligenza artificiale.

Algebra lineare: definizione e principi base

In termini semplici, l’algebra lineare si occupa di linee e piani, e delle loro interazioni in spazi a molte dimensioni. Queste interazioni sono descritte attraverso poche operazioni: la somma e la sottrazione di vettori, la moltiplicazione di un vettore per uno scalare (cioè per un singolo numero) e la combinazione lineare, che somma più vettori ciascuno moltiplicato per un proprio numero.

Queste stesse operazioni fra vettori sono il fondamento matematico dei vettori semantici usati dagli LLM, dove il significato di parole e documenti viene proiettato in spazi ad alta dimensione.

Un vettore è un oggetto matematico che rappresenta una direzione e una lunghezza in uno spazio: può essere pensato come una freccia che punta da un punto di un piano (o di uno spazio tridimensionale, o di uno spazio a più dimensioni) a un altro punto. In pratica, per un computer, un vettore è semplicemente una lista ordinata di numeri: (3, 1, 4) è un vettore a tre dimensioni.

Uno spazio vettoriale è un insieme di vettori che rispetta una serie di regole (o assiomi). Ad esempio, la somma di due vettori appartenenti allo spazio produce un altro vettore dello spazio, e la moltiplicazione di un vettore dello spazio per uno scalare produce un altro vettore dello spazio.

Cosa si studia in algebra lineare: sistemi, matrici, determinante e rango

Un corso di algebra lineare, all’università come online, ruota attorno a pochi oggetti che tornano sempre. Il programma del corso 18.06 del MIT tenuto da Gilbert Strang li mette in fila: sistemi di equazioni, spazi vettoriali, determinanti, autovalori e autovettori (le direzioni «speciali» di una matrice, spiegate più sotto).

  • Sistemi lineari: insiemi di equazioni di primo grado, scritti in forma compatta come Ax = b, dove A è la matrice dei coefficienti.
  • Matrici: tabelle rettangolari di numeri, con righe e colonne, che rappresentano dati oppure trasformazioni.
  • Determinante: un numero associato a una matrice quadrata; se vale zero, la matrice non è invertibile e il sistema non ha una soluzione unica.
  • Rango: il numero di righe (o colonne) davvero indipendenti, cioè quanta informazione non ridondante contiene la matrice.
  • Autovalori, autovettori e decomposizioni: i modi di «smontare» una matrice, cioè di scomporla nelle sue direzioni principali, trattati più avanti in questo articolo.

Sono esattamente gli stessi strumenti che servono nel machine learning: il rango dice se due colonne di un dataset ripetono la stessa informazione, il determinante dice se un problema di regressione è risolvibile in forma chiusa, cioè con una formula diretta invece che per tentativi successivi.

Operazioni fondamentali: vettori, matrici e trasformazioni lineari

Le operazioni fondamentali dell’algebra lineare riguardano i vettori e le matrici. Le operazioni sui vettori includono la somma, la sottrazione, la moltiplicazione per scalari e il prodotto scalare, che moltiplica due vettori elemento per elemento e somma i risultati. Le operazioni sulle matrici includono la somma, la sottrazione, la moltiplicazione per scalari, la moltiplicazione tra matrici e la trasposizione (lo scambio di righe e colonne).

Le trasformazioni lineari sono funzioni che preservano la somma di vettori e la moltiplicazione per scalari: trasformare la somma di due vettori dà lo stesso risultato che sommare i due vettori trasformati. Ogni trasformazione lineare si può scrivere come una matrice, e le operazioni su queste matrici riflettono le proprietà delle trasformazioni: ruotare, allungare, schiacciare o proiettare uno spazio sono tutte moltiplicazioni per una matrice.

L’algebra lineare fornisce così gli strumenti per descrivere e manipolare linee e piani in spazi a molte dimensioni, e per studiare le trasformazioni tra questi spazi. Le sezioni su machine learning, Big Data e deep learning, più sotto, mostrano dove queste capacità diventano tecnologia.

Prodotto matrice-vettore: un esempio con i numeri

Il prodotto matrice-vettore è l’operazione più importante dell’algebra lineare applicata: ogni riga della matrice fa un prodotto scalare con il vettore, e ne esce un numero. Prendiamo un vettore di input x = (1, 2, 3) e una matrice W con due righe e tre colonne:

Riga di WProdotto scalare con x = (1, 2, 3)Risultato
(0,5; −1; 2)0,5×1 + (−1)×2 + 2×34,5
(1; 0; −0,5)1×1 + 0×2 + (−0,5)×3−0,5

Il risultato è il vettore (4,5; −0,5): da tre numeri ne abbiamo ottenuti due, con 6 moltiplicazioni e 4 somme. Questo è, alla lettera, ciò che fa uno strato di rete neurale con due neuroni e tre input. Se poi applichiamo la funzione di attivazione ReLU, che lascia passare i valori positivi e azzera quelli negativi, l’output diventa (4,5; 0).

Cambia solo la scala. Nel Transformer originale descritto da Vaswani et al. (2017), ogni blocco feed-forward porta vettori da 512 a 2048 dimensioni: una matrice 2048 × 512, cioè 1.048.576 moltiplicazioni per ogni singolo vettore in ingresso, e solo per quel passaggio. I modelli linguistici di oggi usano matrici molto più grandi, e per questo l’hardware per l’AI è costruito, prima di tutto, per moltiplicare matrici.

Autovalori e autovettori: cosa sono e perché servono nel machine learning

Un autovettore di una matrice è una direzione che la matrice non ruota, ma si limita ad allungare o accorciare; l’autovalore è il fattore di quell’allungamento, cioè il numero per cui quella direzione viene moltiplicata. In simboli: Av = λv, dove λ (lambda) è l’autovalore. Nel machine learning servono a trovare le direzioni in cui i dati variano di più, che è il cuore della riduzione della dimensionalità, cioè del descrivere i dati con meno numeri perdendo poca informazione.

Un esempio con i numeri. Prendiamo la matrice C con righe (2, 1) e (1, 2). Moltiplicandola per il vettore (1, 1) si ottiene (3, 3), cioè lo stesso vettore moltiplicato per 3: (1, 1) è un autovettore con autovalore 3. Moltiplicandola per (1, −1) si ottiene (1, −1): autovettore con autovalore 1.

Ora immaginiamo che C sia la matrice di covarianza di un dataset con due variabili, cioè la tabella che dice quanto ciascuna variabile oscilla e quanto oscillano insieme. La somma degli autovalori (3 + 1 = 4) è la varianza totale, e la direzione (1, 1) ne spiega 3 su 4, il 75%. È esattamente il ragionamento dell’analisi delle componenti principali (PCA): tenere le direzioni con gli autovalori più grandi e scartare le altre, perdendo poca informazione. Il manuale Mathematics for Machine Learning di Deisenroth, Faisal e Ong dedica un intero capitolo a questa costruzione.

L’algebra lineare e l’intelligenza artificiale

L’Intelligenza Artificiale (IA) si basa in gran parte sull’algebra lineare: dalla classificazione e raggruppamento dei dati al riconoscimento delle immagini, fino al filtraggio delle informazioni, molte delle operazioni di un sistema di IA richiedono di manipolare grandi quantità di dati sotto forma di vettori e matrici. Comprendere le differenze tra AI Generativa e AI tradizionale aiuta a capire in quali contesti questi strumenti matematici vengono applicati in modo diverso.

Perché l’algebra lineare è importante nell’intelligenza artificiale

La capacità di lavorare con vettori e matrici è fondamentale in IA per due ragioni. Prima di tutto, i dati con cui lavorano le IA sono rappresentati come vettori, come documenta la sintesi di LeCun, Bengio e Hinton pubblicata su Nature nel 2015.

Un’immagine può essere rappresentata come un vettore di pixel (o, più precisamente, come un tensore: una griglia di numeri con altezza, larghezza e canali di colore), e un documento di testo come un vettore di parole o frasi.

In secondo luogo, molte operazioni di IA, come il calcolo delle distanze tra i dati o l’addestramento di un modello, si eseguono in modo efficiente proprio come operazioni di algebra lineare. Quando un motore di ricerca semantica confronta una domanda con milioni di documenti, sta calcolando prodotti scalari: è il meccanismo spiegato nella nostra guida alla similarità coseno, con i suoi pregi e i suoi limiti.

L’algebra lineare e il machine learning

Il machine learning è il ramo dell’Intelligenza Artificiale che dà ai sistemi la capacità di imparare dai dati senza essere esplicitamente programmati, e si basa quasi interamente sull’algebra lineare come quadro matematico su cui sono costruiti gli algoritmi. Come mostra il trattato di riferimento di Bishop (2006), Pattern Recognition and Machine Learning (oggi scaricabile gratuitamente in PDF), i modelli statistici classici si esprimono come operazioni tra vettori e matrici.

L’algebra lineare è coinvolta in quasi ogni aspetto del machine learning: i dati di input di un algoritmo sono rappresentati come vettori o matrici, e le operazioni su questi dati, come la somma, la moltiplicazione o la trasformazione, sono tutte operazioni di algebra lineare.

Regressione lineare e minimi quadrati: l’algebra lineare al lavoro

Uno dei casi più emblematici dell’algebra lineare nel machine learning è la regressione lineare, la tecnica statistica che prevede una variabile di output a partire da una o più variabili di input, supponendo che la relazione tra le due sia una funzione lineare. I parametri del modello sono raccolti in un vettore, e l’obiettivo è trovare il vettore che minimizza la differenza tra le previsioni del modello e i valori veri.

Il problema si risolve con il metodo dei minimi quadrati, che sceglie i parametri che rendono più piccola la somma dei quadrati degli errori. Con i dati in una matrice X e i valori veri in un vettore y, la soluzione ha una forma chiusa, le cosiddette equazioni normali: θ = (XᵀX)⁻¹Xᵀy. Trasposta, prodotto tra matrici, inversa: tre operazioni di algebra lineare e il modello è addestrato.

La formula ha anche un limite istruttivo. Se le colonne di X sono quasi dipendenti tra loro, o se i parametri sono troppi rispetto ai dati, la matrice XᵀX diventa quasi non invertibile e il modello impara il rumore: è l’overfitting. La regolarizzazione ridge lo corregge sommando a XᵀX un multiplo della matrice identità (la matrice con 1 sulla diagonale e 0 altrove, che lascia ogni vettore com’è), ancora una volta con una semplice operazione tra matrici.

SVM, PCA e LLM: altri algoritmi di machine learning basati sull’algebra lineare

La regressione lineare è solo uno dei tanti algoritmi di machine learning che si basano sull’algebra lineare. Altri esempi sono le reti neurali, le macchine a vettori di supporto (SVM), che cercano l’iperpiano (l’equivalente di una retta o di un piano in uno spazio a molte dimensioni) che separa meglio due classi di punti, e l’analisi delle componenti principali (PCA), costruita sugli autovettori della matrice di covarianza.

Anche i moderni LLM (Large Language Models) sono costruiti su fondamenta di algebra lineare: ogni token viene rappresentato come un vettore in uno spazio ad alta dimensionalità, e il meccanismo di attenzione, introdotto nel paper «L’attenzione è tutto ciò che serve» (Attention Is All You Need) di Vaswani et al. (2017), calcola prodotti scalari tra vettori di query e di chiave, li trasforma con una softmax in pesi positivi che sommano a 1 e li usa per pesare i vettori di valore. Tolta la softmax, sono moltiplicazioni tra matrici.

L’algebra lineare nel calcolo dei Big Data

L’algebra lineare è fondamentale nel calcolo dei Big Data, il termine usato per descrivere volumi di dati strutturati e non strutturati così grandi e complessi che i metodi tradizionali di elaborazione non riescono a gestirli. Le sue tecniche di manipolazione di vettori e matrici permettono di trattarli in modo efficiente.

I Big Data sono solitamente rappresentati come matrici in cui ogni riga è un’osservazione e ogni colonna una variabile. Una tabella di clienti con età, spesa e numero di acquisti è una matrice con tante righe quanti sono i clienti e tre colonne, e da quel momento si possono usare tutte le tecniche dell’algebra lineare per analizzarla.

Le moltiplicazioni matrice-matrice e matrice-vettore servono ad aggregare, filtrare o trasformare i dati. Dietro le quinte, librerie come NumPy non implementano questi calcoli da zero: secondo la documentazione ufficiale di NumPy, le sue funzioni di algebra lineare «si appoggiano a BLAS e LAPACK», due librerie di calcolo ottimizzate da decenni per sfruttare al massimo il processore. Quando questi vettori vengono archiviati e interrogati su larga scala, entrano in gioco i database vettoriali, una delle innovazioni infrastrutturali più rilevanti dell’AI moderna.

Algebra lineare e deep learning

Nel deep learning, la parte del machine learning basata su reti neurali profonde, l’algebra lineare non è solo uno strumento ma la struttura portante del calcolo: ogni passaggio dei dati attraverso la rete e ogni aggiornamento dei pesi si riduce a operazioni su tensori, come descrive il manuale di riferimento Deep Learning di Goodfellow, Bengio e Courville, che apre proprio con un capitolo di algebra lineare. Per un’introduzione senza formule a come funzionano questi strati, c’è la nostra guida su cos’è il deep learning.

Il riconoscimento dell’importanza di queste architetture è arrivato fino al più alto livello: il Premio Nobel per la Fisica 2024 è stato assegnato a John Hopfield e Geoffrey Hinton per le scoperte che hanno reso possibile il machine learning con le reti neurali artificiali. Ne abbiamo scritto nel pezzo sul Nobel ai padri dell’intelligenza artificiale.

Reti neurali e vettori

Una rete neurale è un modello di calcolo ispirato al funzionamento del cervello, composto da più strati di nodi, o neuroni, che si passano informazioni. Ogni nodo riceve input dai nodi dello strato precedente, applica una funzione di attivazione (una semplice regola che decide quanto segnale far passare, come la ReLU dell’esempio numerico) e invia l’output ai nodi dello strato successivo.

Le informazioni che viaggiano tra i nodi sono rappresentate come vettori. L’input di una rete può essere un’immagine, trasformata in un vettore di pixel, e anche ciò che uno strato passa al successivo è un vettore di numeri.

Le matrici dei pesi e la propagazione in avanti

Le connessioni tra i nodi di una rete neurale sono rappresentate da una matrice dei pesi: ogni elemento è il peso di una connessione tra due nodi. La matrice dei pesi viene moltiplicata per il vettore di input per produrre il vettore di output, un processo noto come propagazione in avanti: è lo stesso calcolo dell’esempio numerico con il vettore (1, 2, 3), ripetuto strato dopo strato.

Proprio perché quasi tutto il lavoro è moltiplicare matrici, l’hardware si è specializzato. La prima TPU di Google, descritta da Jouppi et al. (2017), è costruita attorno a un’unità di moltiplicazione di matrici con 65.536 moltiplicatori-accumulatori a 8 bit, e nei carichi di inferenza del datacenter risultava in media da 15 a 30 volte più veloce delle GPU e CPU dell’epoca.

Backpropagation: l’ottimizzazione delle reti neurali

Addestrare una rete neurale significa modificare i pesi delle connessioni in modo che l’output della rete sia il più vicino possibile all’output desiderato. Il processo è guidato da un algoritmo di ottimizzazione che usa la backpropagation per calcolare di quanto ogni peso contribuisce all’errore.

Il metodo è stato reso celebre da Rumelhart, Hinton e Williams (1986) su Nature. Anche qui l’algebra lineare è fondamentale: la backpropagation fa scorrere l’errore all’indietro moltiplicandolo, strato dopo strato, per le matrici dei pesi trasposte.

Algebra lineare e apprendimento non supervisionato

L’apprendimento non supervisionato è la famiglia di metodi di machine learning che scoprono strutture nei dati senza etichette, cioè senza che nessuno abbia indicato la risposta giusta per ogni esempio. Anche qui l’algebra lineare è centrale, perché la «scoperta di pattern» si traduce quasi sempre in operazioni su matrici di dati: distanze tra vettori per raggrupparli, decomposizioni di matrici per comprimerli.

Clustering con K-means: distanze vettoriali e centroidi

Il clustering divide un insieme di dati in gruppi (cluster) di elementi simili, in modo che gli elementi dello stesso cluster si somiglino più tra loro che con quelli degli altri. I dati sono vettori, e la somiglianza si misura con una distanza vettoriale, come la distanza euclidea, o con la similarità del coseno, che guarda l’angolo tra due vettori invece della loro distanza.

L’algoritmo di clustering più comune è K-means, che minimizza la somma dei quadrati delle distanze euclidee tra i punti e i centroidi, cioè i punti centrali dei cluster. La distanza euclidea non è altro che la lunghezza (la norma) del vettore differenza tra due punti. Le stesse metriche di distanza sono alla base di motori di ricerca vettoriale come Qdrant.

K-means parte da una scelta iniziale dei centroidi. A ogni passo, ogni punto viene assegnato al cluster il cui centroide è più vicino, e poi ogni centroide viene spostato nella media dei punti del suo cluster. Assegnare significa calcolare distanze, aggiornare significa fare la media di vettori: il ciclo si ripete finché i centroidi smettono di muoversi.

Decomposizione ai valori singolari (SVD) e riduzione della dimensionalità

La decomposizione ai valori singolari (SVD) è una tecnica di algebra lineare che scompone una matrice nel prodotto di tre matrici, rivelandone la struttura interna. È uno degli strumenti più potenti dell’apprendimento non supervisionato, ed è trattata in dettaglio nel riferimento canonico Matrix Computations di Golub e Van Loan (2013). Serve a ridurre la dimensionalità dei dati, a filtrare il rumore o a trovare componenti nascoste.

Le tre matrici hanno un significato preciso: la prima descrive le direzioni principali tra le righe dei dati, quella centrale è diagonale e contiene i valori singolari, cioè quanto pesa ciascuna direzione, la terza descrive le direzioni corrispondenti tra le colonne. Tenendo solo i valori singolari più grandi si ottiene una versione compressa dei dati che conserva la struttura e scarta il rumore. A differenza degli autovettori, che esistono solo per matrici quadrate, la SVD funziona su qualunque matrice rettangolare, ed è per questo il modo in cui la PCA viene calcolata in pratica.

Algebra lineare e ottimizzazione

L’ottimizzazione è il campo matematico che cerca la migliore configurazione possibile dei parametri di un modello rispetto a una metrica obiettivo, ed è il motore dell’addestramento nel machine learning. L’algebra lineare ne è l’infrastruttura di calcolo: gli algoritmi di ottimizzazione operano interamente su vettori e matrici.

Funzioni obiettivo e spazio dei parametri

Nell’ottimizzazione si cerca di minimizzare o massimizzare una funzione obiettivo, spesso chiamata funzione di costo o funzione di perdita, che misura quanto bene un modello si adatta ai dati: nel caso tipico, l’errore di predizione. L’algoritmo modifica i parametri del modello passo dopo passo finché quel valore smette di scendere.

Il processo si può vedere come un cammino in uno spazio vettoriale a molte dimensioni, dove ogni punto è un possibile insieme di parametri per il modello. Parametri e dati sono vettori, e l’algebra lineare fornisce gli strumenti per calcolare la funzione obiettivo, la direzione del passo successivo e la sua lunghezza, così da arrivare al minimo nel modo più efficiente possibile.

Gradienti e matrici nella discesa del gradiente

Un aspetto fondamentale dell’ottimizzazione è il calcolo dei gradienti. Il gradiente di una funzione con molti parametri è il vettore che dice, parametro per parametro, di quanto cambia la funzione se si ritocca di pochissimo quel solo parametro lasciando fermi gli altri. Nel suo insieme indica la direzione in cui la funzione cresce più rapidamente: per ridurre l’errore ci si muove nella direzione opposta.

Il calcolo dei gradienti passa per le matrici. La discesa del gradiente stocastica, cioè calcolata su piccoli gruppi di esempi presi a caso invece che su tutto il dataset, ottiene il gradiente di uno strato moltiplicando il vettore degli errori per il vettore degli input: un prodotto esterno, che produce una matrice della stessa forma dei pesi da correggere. Come funziona passo per passo, con i numeri, è spiegato nel nostro articolo sulla discesa del gradiente.

Quanta algebra lineare serve per il machine learning

Per il machine learning serve soprattutto l’algebra lineare, affiancata da calcolo differenziale (per i gradienti), probabilità e statistica (per ragionare sull’incertezza) e ottimizzazione. È la stessa sequenza con cui è costruita la prima parte di Mathematics for Machine Learning: algebra lineare, geometria analitica, decomposizioni di matrici, calcolo vettoriale, probabilità, ottimizzazione.

Per usare le librerie e leggere un paper senza perdersi, il nucleo minimo è questo:

  • vettori, norme e prodotto scalare (distanze e similarità);
  • prodotto tra matrici e trasposta (strati di rete, attenzione);
  • sistemi lineari, inversa e rango (regressione, dati ridondanti);
  • autovalori, autovettori e SVD (PCA, compressione);
  • gradiente e regola della catena, cioè la regola per calcolare come cambia una funzione fatta di funzioni annidate una dentro l’altra (backpropagation).

Quanto è difficile? Le operazioni in sé sono aritmetica: somme e moltiplicazioni, come nell’esempio del prodotto matrice-vettore. Lo scoglio vero è l’astrazione, cioè passare dai numeri agli spazi a molte dimensioni che non si possono disegnare. L’approccio che funziona meglio è quello «geometrico» dei corsi di Strang: prima capire che cosa fa una matrice allo spazio, poi le regole di calcolo. Chi vuole vedere il machine learning in azione su pochi numeri prima della teoria può partire dal nostro machine learning con Excel.

Strumenti e risorse per studiare l’algebra lineare

Per chi vuole approfondire l’algebra lineare esistono risorse consolidate e in buona parte gratuite: libri di testo classici, corsi universitari online e ambienti di calcolo. Qui sotto una selezione ragionata, pensata per chi arriva dal machine learning.

Libri di algebra lineare per il machine learning

  1. Algebra lineare di Howard Anton e Chris Rorres: un classico della disciplina, noto per la sua chiarezza e precisione.
  2. Linear Algebra and Its Applications e Introduction to Linear Algebra di Gilbert Strang: testi di riferimento, con un approccio pratico che mette in risalto le applicazioni reali della disciplina.
  3. Mathematics for Machine Learning di Deisenroth, Faisal e Ong (Cambridge University Press, 2020): il ponte più diretto tra algebra lineare e machine learning, con PDF gratuito sul sito degli autori.

Corsi online di algebra lineare gratuiti

  1. MIT 18.06 Linear Algebra (MIT OpenCourseWare): le lezioni di Gilbert Strang, gratuite, con video, esercizi ed esami.
  2. Linear Algebra: Foundations to Frontiers (edX): il corso dell’Università del Texas ad Austin copre dalla risoluzione di sistemi lineari ai minimi quadrati, fino ad autovalori e autovettori, ed è seguibile gratuitamente in modalità audit.
  3. Introduction to Linear Algebra for Applied Machine Learning with Python: una guida gratuita di Pablo Caceres rivolta a chi vuole applicare l’algebra lineare al machine learning, con un forte focus sulla programmazione in Python.

Software e assistenti AI per fare algebra lineare

  1. Khan Academy: Linear Algebra: una serie di video gratuiti che coprono vettori, matrici, trasformazioni lineari e molto altro.
  2. Python con NumPy, MATLAB e Octave: gli ambienti più usati per fare algebra lineare al computer. NumPy è lo standard di fatto nel machine learning (in Python il prodotto tra matrici si scrive semplicemente A @ B), MATLAB è un software commerciale, mentre Octave è un’alternativa open-source gratuita.
  3. ChatGPT: anche con ChatGPT si può costruire un proprio percorso di studio dell’algebra lineare, farsi spiegare un passaggio in più modi e ottenere codice per implementare i primi rudimenti di algebra e di machine learning. Un consiglio: sui calcoli chiedi che li esegua con il codice invece che «a mente», e verifica sempre i risultati, perché un modello linguistico può sbagliare un conto con grande sicurezza.

Prospettive future dell’algebra lineare nell’AI

L’algebra lineare è un pilastro della matematica e gioca un ruolo chiave in molti campi della tecnologia moderna. Dal machine learning al deep learning, passando per il calcolo dei Big Data, l’algebra lineare fornisce gli strumenti per rappresentare e trasformare i dati: è alla base di ottimizzazione, clustering, regressione lineare, PCA e reti neurali profonde. Anche i modelli linguistici più recenti, a guardarli dentro, sono enormi catene di moltiplicazioni tra matrici.

Il futuro dell’algebra lineare: hardware per l’AI e calcolo quantistico

Con la crescita dei modelli e dei dati, l’importanza dell’algebra lineare continua a crescere. Lo si vede già nell’hardware: GPU e TPU sono progettate attorno a unità dedicate alla moltiplicazione di matrici, e buona parte della ricerca sull’efficienza dei modelli consiste nel fare le stesse moltiplicazioni con meno bit o con matrici più piccole.

Un altro campo di applicazione si sta aprendo con il calcolo quantistico. Lo stato di un qubit, l’unità di informazione di un computer quantistico, è un vettore, e le operazioni sui qubit sono trasformazioni lineari descritte da matrici unitarie, cioè matrici che ruotano i vettori senza cambiarne la lunghezza. Chi sa leggere una matrice ha già in mano il linguaggio di base anche di questa tecnologia.

Approfondimenti su algebra lineare, machine learning e Big Data

Tre letture per chi vuole andare oltre, dall’ottimizzazione basata sui dati ai paper che hanno fatto la storia della disciplina:

  1. Optimization under Uncertainty in the Era of Big Data and Deep Learning: When Machine Learning Meets Mathematical Programming di C. Ning e F. You. L’articolo esamina i progressi dell’ottimizzazione in condizioni di incertezza da una prospettiva basata sui dati, e mostra come machine learning e programmazione matematica si integrano nelle decisioni. Link
  2. Learning representations by back-propagating errors di D. E. Rumelhart, G. E. Hinton e R. J. Williams (Nature, 1986). Il paper che ha reso popolare la backpropagation: poche pagine, e quasi tutto è moltiplicazione di matrici e regola della catena. Link
  3. In-Datacenter Performance Analysis of a Tensor Processing Unit di N. P. Jouppi et al. (2017). Come Google ha costruito un chip intorno alla moltiplicazione di matrici, e quanto ci ha guadagnato. Link

Fonti:

  • Strang, G. (2016). Introduction to Linear Algebra (5th ed.). Wellesley-Cambridge Press. Corso collegato: MIT OpenCourseWare 18.06
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. Disponibile online: deeplearningbook.org
  • Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. Pagina ufficiale su Microsoft Research
  • Deisenroth, M. P., Faisal, A. A., & Ong, C. S. (2020). Mathematics for Machine Learning. Cambridge University Press. mml-book.github.io
  • Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press
  • LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521, 436-444. doi:10.1038/nature14539
  • Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, 533-536. doi:10.1038/323533a0
  • Vaswani, A. et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems, 30. arXiv:1706.03762
  • Jouppi, N. P. et al. (2017). In-Datacenter Performance Analysis of a Tensor Processing Unit. arXiv:1704.04760
  • NumPy Developers. Linear algebra (numpy.linalg), documentazione ufficiale: numpy.org
  • O’Connor, J. J., & Robertson, E. F. Matrices and determinants. MacTutor History of Mathematics, University of St Andrews: mathshistory.st-andrews.ac.uk
  • The Nobel Prize in Physics 2024, John J. Hopfield e Geoffrey Hinton: nobelprize.org
  • Khan Academy, Linear Algebra: khanacademy.org/math/linear-algebra

Domande frequenti

Cosa si fa in algebra lineare?

In algebra lineare si studiano vettori, matrici e trasformazioni lineari. I temi classici sono i sistemi di equazioni lineari, il determinante, il rango, gli spazi vettoriali, gli autovalori e gli autovettori e le decomposizioni di matrici come la SVD. Sono gli stessi strumenti con cui si rappresentano e si elaborano i dati nel machine learning.

Qual è la matematica più importante per il machine learning?

L'algebra lineare è la base, perché dati, parametri e strati delle reti neurali sono vettori e matrici. Subito dopo vengono il calcolo differenziale, che serve per i gradienti e la backpropagation, e poi probabilità, statistica e ottimizzazione. Il manuale Mathematics for Machine Learning segue proprio questo ordine.

Quanto è difficile l'algebra lineare?

Le singole operazioni sono aritmetica: somme e moltiplicazioni fatte con ordine. La difficoltà vera è l'astrazione, cioè ragionare in spazi con molte dimensioni che non si possono disegnare. Un approccio geometrico, che parte da cosa fa una matrice allo spazio, come nei corsi di Gilbert Strang al MIT, rende la materia molto più accessibile.

Perché l'algebra lineare è importante per il machine learning?

Perché quasi tutto il machine learning si scrive con vettori e matrici. Un dataset è una matrice con un'osservazione per riga, uno strato di rete neurale è una moltiplicazione matrice per vettore e la regressione lineare si risolve con le equazioni normali. Per questo anche l'hardware per l'AI, come GPU e TPU, è progettato per moltiplicare matrici.

A cosa servono autovalori e autovettori nel machine learning?

Servono a trovare le direzioni in cui i dati variano di più. Nell'analisi delle componenti principali (PCA) si calcolano gli autovettori della matrice di covarianza e si tengono quelli con gli autovalori più grandi. Così si riduce il numero di variabili perdendo poca informazione.

Che differenza c'è tra PCA e SVD?

La PCA è un metodo per ridurre la dimensionalità dei dati tenendo le direzioni di massima varianza. La SVD (decomposizione ai valori singolari) è una fattorizzazione di matrici che funziona su qualunque matrice rettangolare. In pratica la PCA viene calcolata quasi sempre tramite la SVD della matrice dei dati centrati.

Serve l'algebra lineare per capire come funzionano gli LLM?

Sì, almeno nei suoi concetti base. Negli LLM ogni token è un vettore e il meccanismo di attenzione calcola prodotti scalari tra vettori di query e di chiave, poi li usa per pesare i vettori di valore. Per usare un LLM non serve, ma per capire cosa fa al suo interno bastano prodotto scalare e prodotto tra matrici.

Tabella dei contenuti
Articoli correlati:
Vuoi che l'AI diventi il tuo motore di valore più potente?

Ti accompagniamo noi con Mimír AI Agent.