La Matematica del Machine Learning

Schematica rappresentazione grafica di un cervello con circuiti e formule matematiche sfocate sullo sfondo, simboleggiando l'integrazione del Machine Learning e la matematica nella tecnologia AI

Aprile 6, 2024

È sotto gli occhi di tutti come il Machine Learning stia emergendo sempre più come una tecnologia disruptive e con una grandissima forza trainante di trasformazione che ha già rivoluzionato numerosi settori e che si è già imposta come una realtà concreta in ogni aspetto della nostra vita quotidiana: dall’e-commerce alla medicina, dalle previsioni metereologiche alla personalizzazione delle raccomandazioni online.

Non tutti sanno però che dietro le quinte di queste applicazioni all’avanguardia che stanno vivendo il loro periodo più roseo proprio negli ultimi anni, ci sono delle fondamenta robuste che nascono nell’antichità e che vantano secoli e secoli di studi: la matematica.

In questo articolo, capiremo infatti come la matematica sia alla base del Machine Learning, come non ne sia solo un semplice strumento a sua disposizione, ma come rappresenti piuttosto le fondamenta su cui tutto è costruito. 

L’algebra lineare alla base del Machine Learning

L’algebra lineare è una delle branche della matematica che, tra le altre, fa più da protagonista quando si parla di Machine Learning.

Immaginiamo ad esempio di avere un enorme dataset contenente informazioni su migliaia di case e il loro prezzo di vendita. Ogni casa allora può essere vista come un punto nello spazio delle feature, dove le dimensioni, il numero di camere, la posizione e altre caratteristiche, rappresentano proprio come le dimensioni di questo spazio.

La singola casa all’interno del nostro dataset dunque, è descritta proprio da un vettore di caratteristiche, mentre l’intero dataset è rappresentato come una matrice in cui ogni riga corrisponde a una casa e ogni colonna corrisponde a una caratteristica.

A questo punto l’obiettivo del nostro modello di machine learning, potrebbe essere quello di prevedere il prezzo di vendita di una specifica casa, proprio a partire dal vettore di caratteristiche che la rappresenta.

Ora se andiamo a guardare sotto il cofano, quando addestriamo un modello di regressione lineare, stiamo a conti fatti cercando il miglior iperpiano nello spazio delle features che si adatti ai nostri dati nel modo più accurato possibile. Questo viene fatto proprio tramite l’addestramento del modello, che “si riduce” essenzialmente a trovare proprio quei pesi (i coefficienti angolari delle variabili indipendenti che compongono l’iperpiano) che minimizzano l’errore tra le previsioni del modello e i valori effettivi, facendo si che tale iperpiano si adatti così ai dati di partenza con il migliore equilibrio tra accuratezza di previsione su nuovi dati e con una buona flessibilità e generalizzazione.

Come vedete quindi, l’algebra lineare è un elemento strutturale e fondamentale di tutto questo processo: infatti utilizziamo concetti come vettori, matrici e operazioni matriciali per modellare e manipolare i dati.

L’analisi di funzione e calcolo differenziale alla base del Machine Learning

Ora che abbiamo compreso come rappresentiamo e manipoliamo i dati utilizzando l’algebra lineare, passiamo ad un altro dei pilastri fondamentali del machine learning: lo studio delle funzioni e, in particolare, il calcolo differenziale.

Come abbiamo detto poco fa, quando addestriamo un modello di machine learning, ci troviamo ad affrontare un problema di ottimizzazione: vogliamo infatti trovare i parametri del modello che minimizzano una certa funzione di costo

Questa funzione di costo è tipicamente una misura dell’errore del modello rispetto ai dati di addestramento, e il nostro obiettivo è trovare i parametri che rendono questo errore il più piccolo possibile.

Come avviene però questo processo di ricerca di tali pesi? Per rispondere a questa domanda non basta certamente un articolo e ci sono molti metodi e molti algoritmi oggi utilizzati per tale processo di ottimizzazione, ma certamente possiamo dire che quello che a noi interessa è minimizzare la funzione di errore, ottenendo cioè un modello in grado di darci dei valori quanto più simili possibili ai valori reali, senza però overfittare sui dati specifici a nostra disposizione.

Appare quindi ovvio che lo studio di funzione abbia un ruolo cruciale in un processo di questo tipo, come ha un ruolo altrettanto cruciale nella definizione della migliore funzione di attivazione da utilizzare in un determinato caso.

Torniamo però all’ottimizzazione dei pesi di un modello e immaginiamo di ottimizzare il nostro modello tramite l’utilizzo dell’algoritmo di discesa del gradiente (algoritmo molto utilizzato quando abbiamo a che fare con le reti neurali).

Ecco allora che entra in gioco il calcolo differenziale. In tale algoritmo infatti utilizziamo concetti come la derivata e il gradiente per trovare i punti in cui la funzione di costo raggiunge i suoi minimi o massimi (punti stazionari). 

In particolare, la derivata di una funzione in un certo punto ci dice quanto velocemente la funzione sta cambiando in quel punto, mentre il gradiente è un vettore che punta nella direzione in cui la funzione cresce più rapidamente (e di conseguenza decresce più rapidamente se si va in direzione opposta al gradiente).

In pratica, utilizziamo il gradiente per aggiornare iterativamente i parametri del modello durante il processo di addestramento: muovendoci nella direzione opposta al gradiente infatti possiamo ridurre gradualmente l’errore del modello fino a raggiungere un punto in cui non possiamo più migliorare ulteriormente.

Insomma ci rendiamo facilmente conto di come, in questo contesto, il calcolo differenziale è la chiave che ci permette di ottimizzare i modelli di machine learning, trovando i parametri che li rendono più efficaci nel compito che devono svolgere. 

Probabilità e statistica alla base del Machine Learning

Come chi lavora nel campo della Data Science e del Machine Learning sa bene, tutto si basa su un principio fondamentale: i dati sono la chiave del successo. Senza un buon dataset, non importa quanto bravi siamo, ma il nostro lavoro è destinato a fallire.

Ma se ci soffermiamo un attimo a rifletterci, cosa sono i dati se non una serie di osservazioni, una collezione di informazioni che possiamo esaminare, analizzare e interpretare?

I dati sono il cuore pulsante del machine learning, ogni modello, che si tratti di predire il prezzo di un’azione in borsa o di diagnosticare una malattia, inizia con un insieme di dati. E questi dati possono essere strutturati o non strutturati, numerici o categorici, ma tutti raccontano una storia che dobbiamo capire per poter prendere decisioni intelligenti (e per poter far sì che i nostri modelli prendano decisioni intelligenti).

Ed è proprio qui che entrano in gioco la probabilità e la statistica

La statistica fornisce gli strumenti per analizzare e interpretare questi dati. Utilizziamo concetti statistici come la media, la deviazione standard e la distribuzione di probabilità per comprendere la struttura e le tendenze nei nostri dati. Inoltre, la statistica ci aiuta a valutare i modelli di machine learning, consentendoci di misurare la loro performance e identificare eventuali problemi come l’overfitting o l’underfitting.

D’altro canto, la probabilità è un concetto altrettanto chiave nel machine learning, poiché molti algoritmi di apprendimento automatico fanno uso diretto della teoria della probabilità. Pensiamo ad esempio, l’algoritmo K-Nearest Neighbors (KNN) che utilizza la probabilità per determinare la classe di un punto dati basandosi sulla frequenza delle sue vicinanze. Allo stesso modo, il classificatore Naive Bayes si basa interamente sulla teoria della probabilità, calcolando la probabilità che un’istanza appartenga a una certa classe dato il suo vettore di caratteristiche.

Tutte le basi matematiche dell’Intelligenza Artificiale

Insomma, come abbiamo visto, la matematica non è un qualcosa in più quando parliamo di Reti Neurali, di Deep Learning o più in generale di Machine Learning, ma possiamo più che altro dire che queste tecnologie rappresentino una applicazione pratica di concetti matematici fondamentali

Dall’algebra lineare al calcolo differenziale, dalla teoria della probabilità alla statistica, ogni aspetto di questa tecnologia rivoluzionaria è radicato nei principi matematici

La comprensione di questi concetti non solo è cruciale per costruire modelli di machine learning efficaci, ma fa la differenza tra un professionista che utilizza passivamente gli strumenti e uno che li padroneggia con una profonda comprensione di ciò che sta facendo e perché.

Essere in grado di navigare agilmente attraverso questi concetti matematici e le analisi dei dati, non solo distingue un Data Scientist o un Machine Learning Engineer di successo, ma apre la porta a un mondo di opportunità nel campo dell’Intelligenza Artificiale.

Se questo articolo ti ha incuriosito e, soprattutto, se desideri approfondire la tua conoscenza della matematica fondamentale per il machine learning, dai uno sguardo al nostro bundle “Matematica e Statistica per il Machine Learning”

Con oltre 17 ore di contenuti approfonditi, questi due corsi offrono un approccio pratico e visivo alla comprensione di concetti matematici complessi senza richiedere alcuna conoscenza pregressa (se non la matematica di base che si impara alle elementari a alle scuole medie) e senza perdersi in teoremi e dimostrazioni fine a se stesse, ma concentrandosi piuttosto sullo sviluppo di una comprensione intuitiva e profonda di tutto quello che serve.

Una preparazione completa e un approccio pratico e accessibile a tutte le competenze matematiche e statistiche fondamentali per navigare con successo nel mondo dell’Intelligenza Artificiale

Scopri come padroneggiare la matematica dietro il Machine Learning e aprirti le porte a un mondo di opportunità nel campo dell’Intelligenza Artificiale 👇


SCOPRI IL BUNDLE

Condividi articolo su