Data Science e AI: primi passi da dev.
Un po' di appunti dal meetup Turing di aprile presi dal master che sto seguendo: Data Science, Machine Learning, Intelligenza Artificiale, come farsi una prima idea in questo mondo.
Ad aprile ho fatto un intervento al meetup Turing per raccontare cosa sto studiando in questo periodo: Data Science e AI, dal punto di vista di uno sviluppatore che ci si sta avvicinando ora con una chiacchierata su un campo enorme e attuale provando a fare ordine sui termini che usiamo tutti i giorni.
Le slide del talk le trovate qui, questo articolo invece è il “dietro le quinte” per mettere online il materiale per chi fosse curioso. Per chi volesse andare piu’ a fondo, qui c’e’ la mappa completa della classificazione AI che ho usato per preparare il talk: tutte e quattro le viste sull’AI espanse nei dettagli, con algoritmi, sottocategorie e domini applicativi.
Disclaimer doveroso: non sono un data scientist. Sono un dev che ha iniziato un master in Data Analytics qualche mese fa e che, come tutti quelli che imparano qualcosa di nuovo, ha la fortuna di vedere ancora i concetti con gli occhi del principiante.
DS, ML, AI: prima nomenclatura
Spesso le tre sigle vengono usate come sinonimi, mettere ordine è il primo passo utile, perché sono effettivamente tre cose diverse anche se si sovrappongono. La rappresentazione che spesso si vede è il classico diagramma di Venn con tre cerchi:
Data Science, Machine Learning, AI
Spiegato a parole:
- Data Science è la disciplina che usa i dati per prendere decisioni. La domanda di fondo è “cosa ci dicono i dati?”. Include un sacco di cose che non sono AI: statistica descrittiva, dashboard, business intelligence, reporting.
- Machine Learning è una tecnica per costruire modelli predittivi imparando dai dati. La domanda di fondo è “come faccio a prevedere o classificare automaticamente questa cosa?”.
- Intelligenza Artificiale è il campo più ampio dei tre. Include il ML ma anche sistemi a regole, algoritmi di ricerca, pianificazione, robotica. La domanda di fondo è “come costruisco una macchina che si comporti in modo intelligente?”.
I casi di confine aiutano a fissare la differenza. Una dashboard di Power BI con statistiche descrittive è Data Science ma non è AI. Un motore scacchistico classico come Stockfish è AI ma non è Data Science (non impara dai dati, esplora alberi di mosse). Il ML è il punto di contatto: è la tecnica che oggi usano sia i data scientist per fare predizioni, sia chi costruisce sistemi che noi chiameremmo “intelligenti”.
Come si guarda l’AI senza perdersi
Una volta accettato che l’AI è il contenitore più grande dei tre, il problema diventa come orientarsi al suo interno. Il campo è enorme e composito, e non esiste un’unica tassonomia “giusta”: esistono diverse viste, ciascuna utile a rispondere a una domanda diversa.
Le quattro viste sull'AI
quattro modi per orientarsi dentro un campo grande e composito
Da cosa è fatta l'AI
Le discipline tecniche che compongono il campo. Utile quando vuoi capire dove cade una tecnologia.
trasversali · Computer Vision · NLP · Speech · Generative AI
Come ci siamo arrivati
Le grandi famiglie di idee che si sono alternate (e mescolate) nei decenni. Utile per contestualizzare una tecnica.
oggi le linee si mescolano: i transformer sono connessionisti ma usano attenzione probabilistica
Come si impara
Dipende da cosa dai in pasto al modello: dati con etichette? senza? un ambiente?
gli LLM moderni nascono da una pipeline che le combina: self-supervised → supervised → reinforcement
A cosa serve
I grandi domini applicativi che attraversano tutte le tecniche viste sopra.
ogni dominio é verticale: usa pezzi di tutte le tecniche — ML, simbolico, search, robotica
La prima è la tassonomia tecnica: da cosa è fatta l’AI. La radice è “Artificial Intelligence” e si dirama in Machine Learning (apprendimento dai dati), Symbolic AI (regole logiche, ontologie), Search & Planning (algoritmi di ricerca e ottimizzazione), Robotics (percezione e controllo), e tutte le applicazioni trasversali come Computer Vision, NLP, Speech, Generative AI. Questa vista è utile quando vuoi capire dove cade una tecnologia specifica nel panorama generale.
La seconda è la modalità di apprendimento, che fa zoom dentro il Machine Learning e risponde alla domanda “cosa impara concretamente il modello, e da cosa?”. Le categorie principali sono quattro:
- Supervised Learning: il modello impara da coppie input/output etichettate. Ad esempio 10.000 email taggate come spam o non-spam, e il modello impara la regola che separa le due classi. È la categoria del nostro filtro antispam, della previsione del prezzo di una casa, della classificazione di un’immagine.
- Unsupervised Learning: solo input, niente etichette. Il modello cerca pattern e strutture per conto suo. Tipico esempio: dato un dataset di clienti, raggruppali in segmenti naturalmente simili (clustering).
- Self-Supervised Learning: il modello si crea le etichette da solo a partire dai dati grezzi. È il modo in cui vengono pre-addestrati gli LLM moderni: dato un pezzo di testo, il task è “predici la prossima parola”. Le etichette esistono già dentro il testo, non serve un umano che le scriva. È la categoria che ha reso possibile l’esplosione degli ultimi anni.
- Reinforcement Learning: il modello impara per tentativi ed errori, riceve ricompense (positive o negative) e aggiusta la strategia. È quello che ha fatto AlphaGo, è quello che fa un robot che impara a camminare. Una variante moderna importante è l’RLHF, usato per “allineare” gli LLM al comportamento desiderato dopo il pre-training.
Dove sta la regressione lineare in questa mappa
Una volta che il perimetro è più chiaro, posizionare la regressione lineare diventa più semplice: è dentro AI, sotto Machine Learning, dentro la categoria Supervised Learning. È il modello più semplice possibile dentro quella categoria, e proprio per questo è il punto di partenza che viene scelto un po’ ovunque.
Come ho scritto nell’articolo precedente sulla regressione lineare, questo modello contiene già in forma minima molti dei concetti che ritrovi anche nei modelli più sofisticati: parametri che vengono aggiustati durante l’apprendimento, una funzione di errore da minimizzare, una fase di training, la valutazione su dati nuovi. Cambia la complessità, non l’impalcatura concettuale. Per la matematica nel dettaglio (minimi quadrati, , limiti) rimando lì.
CU: regressione lineare sul mio leg day
Da circa un anno traccio i miei allenamenti, ho iniziato con un app e attualmente uso Supabase con un progetto Claude. Per ogni leg day registro gli esercizi, il peso, le ripetizioni. A fine settimana ottengo un volume aggregato dato dalla somma di tutti i peso × ripetizioni di tutte le sessioni della settimana. È il classico dataset small but real: 40 settimane di osservazioni, una sola feature (il numero progressivo della settimana), un solo target (il volume).
Naturalmente è un laboratorio didattico: partendo dal dataset, applico una regressione lineare sul tempo, leggo lo slope (sto progredendo o no?) e l’ (la retta descrive bene i miei dati?).
Il risultato sul dataset intero è stato questo:
Lo slope è leggermente negativo e è praticamente zero. La retta non trova un trend e questo ha senso, perché il dataset contiene due regimi diversi che la singola retta non può catturare. Per gran parte del periodo mi sono allenato in autonomia, senza un piano strutturato. Poi negli ultimi due mesi ho iniziato a lavorare con un personal trainer, e il regime di allenamento è cambiato radicalmente. Segmentando il dataset secondo questa conoscenza del contesto, i numeri diventano un’altra cosa:
Il periodo pre-PT ha uno slope quasi piatto e un bassissimo: non c’è una progressione lineare chiara, i volumi oscillano senza una direzione. Il periodo con PT, invece, ha un trend netto: +820 kg di volume aggiuntivo a settimana, con un di 0.76 che indica che la retta segue molto bene i dati. Quello che il modello non riusciva a vedere sul dataset intero emerge perfettamente quando si isolano i due regimi.
Regressione sui tre tagli del leg day
volume settimanale (kg) · stesso dataset, tre viste diverse
La lezione che mi sono portato a casa è doppia. La prima è la più diretta: un basso non significa “i dati non contengono informazione”. Può significare “stai chiedendo a una retta di descrivere due fenomeni diversi”. Prima di concludere che un modello non funziona, va sempre chiesto se il dataset è omogeneo o se contiene regimi misti da separare.
La seconda è più generale: la conoscenza del dominio precede il modello. Per capire che andava segmentato il dataset non serviva matematica, serviva sapere che a un certo punto è cambiato qualcosa nel mio modo di allenarmi. Senza quel contesto, la regressione su 40 settimane è solo un numero piatto. Con quel contesto, racconta una storia.
(Volendo essere onesti, racconta anche che il vero ROI del personal trainer è un di 0.76, ma questa è un’altra discussione.)
Ad astra per aspera.
Davide.