Introduzione al Machine Learning
★★★★☆ La tassonomia supervised/unsupervised/RL è verificata in quasi ogni prova tramite l’esercizio di modellazione e i vero/falso.
Il machine learning (ML) è il campo dell’intelligenza artificiale che studia come costruire programmi capaci di migliorare le proprie prestazioni attraverso l’esperienza, invece di essere programmati esplicitamente per ogni situazione. Questo capitolo risponde a quattro domande: perché il ML è necessario, che cosa significa formalmente “apprendere” per una macchina, quali sono i paradigmi di apprendimento e come scegliere quello adatto a un problema; chiude una mappa degli argomenti del corso.
1. Perché il Machine Learning#
1.1 Il collo di bottiglia della programmazione esplicita#
L’approccio tradizionale alla risoluzione di un problema con un calcolatore prevede che un essere umano studi il problema, progetti un algoritmo che codifica la logica risolutiva e lo traduca in un programma; il calcolatore, ricevuto un input, esegue il programma e produce l’output. Per far giocare a scacchi un computer, ad esempio, si dovrebbe studiare il gioco, formalizzare tutte le strategie possibili e tradurle in codice: dato lo stato della scacchiera in input, il programma restituisce la mossa migliore.
Questo approccio ha un limite strutturale: scrivere il software è il collo di bottiglia. Per molti problemi è estremamente difficile, se non impossibile, esplicitare in un programma le regole che collegano input e output. È difficilissimo, per chiunque, definire in codice che cosa significhi giocare a scacchi a livello di gran maestro; non a caso, battere il campione del mondo Kasparov con un programma richiese uno sforzo umano e computazionale enorme.
Il machine learning ribalta la prospettiva: invece di codificare la soluzione, si forniscono al calcolatore molti esempi del problema risolto. Per gli scacchi, migliaia o milioni di coppie del tipo “se lo stato della scacchiera è questo, allora la mossa migliore è questa”. Un algoritmo di apprendimento elabora questi esempi e produce in output un modello, capace di giocare anche in configurazioni mai viste tra gli esempi. In questo senso si parla di “automazione dell’automazione” (automating automation): si automatizza la scrittura stessa del programma, lasciando che siano i dati a fare il lavoro.
Idea chiave: nella programmazione classica l’uomo scrive le regole e il computer le applica ai dati; nel machine learning l’uomo fornisce dati ed esempi di soluzione, e il computer estrae da essi le regole, producendo un modello che funziona anche su casi nuovi.
In parole semplici: è la differenza tra spiegare a qualcuno passo passo come riconoscere un quadro falso e mostrargli mille quadri veri e mille falsi lasciandogli sviluppare l’occhio. Quando le regole sono troppo difficili da scrivere ma gli esempi abbondano, la seconda strada è l’unica praticabile.
1.2 Quando il machine learning è la scelta giusta#
Serve che i calcolatori prendano decisioni informate su dati nuovi, mai visti prima, e spesso progettare a mano un insieme di regole significative è troppo difficile. Il machine learning permette di estrarre automaticamente l’informazione rilevante dai dati passati e di sfruttarla su dati nuovi. Ci sono tre scenari tipici in cui questo approccio è particolarmente indicato:
- Il compito è eseguibile da un umano che però non sa spiegare come fa. Un radiologo sa riconoscere una lesione in un’immagine medica, ma fatica a formalizzare il proprio processo cognitivo: sa dire “questa è una lesione, questa no”, non fornire una procedura completa. Tradurre la sua conoscenza in un programma è impraticabile; è invece possibile chiedergli di etichettare quante più immagini possibile e addestrare una macchina a replicare ciò che fa, anche se lui stesso non sa come lo fa.
- Il compito cambia nel tempo. Se il problema deriva nel tempo, quando si finisce di scrivere il programma è già ora di riscriverlo. I mercati finanziari sono l’esempio classico: il loro comportamento è altamente non stazionario, e una regola di trading che funziona tende a smettere di funzionare poco dopo essere stata identificata. Serve un sistema che si adatti rapidamente, imparando dai dati recenti.
- Il compito è estremamente specifico o personalizzato. Un sistema di raccomandazione di film tarato non sui gusti medi ma sulle preferenze di un singolo utente non può essere programmato a priori: deve necessariamente essere appreso dai dati di quell’utente.
Il criterio generale è quindi questo: ogni volta che si dispone di molti esempi e molti dati, ma è molto difficile pensare a come scrivere un programma che colleghi l’input all’output, il machine learning è un buon approccio.
In parole semplici: il ML conviene quando le regole sono sconosciute, instabili o troppo personali per essere scritte a mano, ma i dati che le “contengono” implicitamente sono disponibili in abbondanza.
1.3 Il machine learning non è magia#
Il machine learning può estrarre informazione dai dati, non crearla dal nulla. Per usarlo bene occorre sapere come funziona e capire come applicarlo. Questa consapevolezza è ancora più importante oggi, quando i modelli più recenti sembrano davvero vicini alla magia: comprenderne i meccanismi interni permette di usarli in modo efficace, di scegliere quali informazioni fornire loro e di riconoscerne i limiti.
Va anche sfatata l’idea che il machine learning elimini lo sforzo umano: costruire un modello richiede comunque un grande sforzo, computazionale e umano, per ottimizzarlo, testarlo e valutarlo. I grandi modelli linguistici lo rendono evidente: dietro l’apparente automatismo c’è un investimento enorme di risorse e competenze.
2. Che cosa significa “apprendere”#
2.1 Memorizzare non è apprendere#
Prima di dare una definizione formale, conviene chiedersi: quando diremmo che una macchina “ha imparato” qualcosa? Un’analogia universitaria aiuta. Se viene mostrato come si risolve un’equazione e poi viene proposta da risolvere esattamente la stessa equazione, riuscirci non dimostra di aver imparato: dimostra soltanto di aver memorizzato. L’apprendimento autentico comporta una forma di astrazione, cioè la capacità di applicare la conoscenza acquisita in passato a situazioni nuove.
C’è però un caso limite istruttivo. Si supponga di insegnare a una macchina la mossa migliore per ogni possibile configurazione della scacchiera: alla fine, ha imparato a giocare a scacchi? L’intuizione umana tende a rispondere di no, perché è pura memorizzazione; ma questa risposta mette in crisi il modo in cui si misura la performance: se un modello sa giocare in ogni possibile situazione, su quale base si potrebbe affermare che “non sa giocare”? La distinzione tra memorizzare e apprendere è meno netta di quanto sembri, e si vedrà più avanti nel corso che esiste un legame preciso tra quantità di dati disponibili e confine tra memorizzazione e apprendimento.
Nella pratica il machine learning si concentra comunque sulla generalizzazione, anche per una ragione molto concreta: presentare alla macchina tutte le situazioni possibili è quasi sempre infattibile, perché sono troppe, o addirittura impossibile, perché sono infinite.
Idea chiave: apprendere non significa ricordare le risposte agli esempi visti, ma estrarre da essi una regola generale che funzioni su esempi mai visti. Questa capacità si chiama generalizzazione ed è il vero obiettivo di ogni modello di machine learning.
2.2 La definizione di Mitchell: task, performance, esperienza#
La definizione standard di apprendimento automatico, dovuta a Tom Mitchell (1997), rende operativa questa intuizione ancorandola a tre elementi misurabili.
Un programma per calcolatore apprende dall’esperienza rispetto a una classe di compiti e a una misura di performance , se la sua performance nei compiti in , misurata da , migliora con l’esperienza . In inglese: “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E”.
- Task : il compito da svolgere, ad esempio giocare a scacchi, classificare immagini mediche, prevedere un prezzo.
- Performance : la misura quantitativa con cui si valuta quanto bene il compito viene svolto, ad esempio la frazione di partite vinte o l’accuratezza di classificazione.
- Esperienza : l’informazione da cui il programma impara, ad esempio esempi etichettati, dati grezzi o interazioni con un ambiente.
In parole semplici: una macchina “impara” se, dandole più esperienza (più dati, più partite, più esempi), diventa misurabilmente più brava nel suo compito. Non c’è niente di filosofico: si fissa un compito, si fissa un punteggio e si osserva se il punteggio sale al crescere dell’esperienza.
Due osservazioni. La prima riguarda il termine “esperienza”: si potrebbe pensare semplicemente a “dati”, ma esperienza è volutamente più generale, perché in alcuni tipi di machine learning, in particolare nell’apprendimento per rinforzo, l’informazione da cui si impara non è un insieme statico di dati ma il risultato di un’interazione con un ambiente. La seconda riguarda l’induzione, implicita nella definizione: migliorare su compiti nuovi presuppone la capacità di generalizzare la conoscenza estratta dai dati a situazioni mai osservate.
2.3 Esperienza e induzione#
Il machine learning è il sottocampo dell’intelligenza artificiale in cui la conoscenza proviene da due fonti:
- Esperienza: la conoscenza non viene codificata a priori da un progettista, ma estratta da dati o interazioni.
- Induzione: dal particolare (gli esempi osservati) si risale al generale (una regola applicabile a casi nuovi).
L’induzione, a differenza della deduzione, non garantisce conclusioni certe: da un numero finito di esempi si può sempre indurre una regola sbagliata. Questa incertezza intrinseca è il motivo per cui gran parte del corso sarà dedicata a valutare correttamente i modelli e a capire quando e quanto ci si può fidare di ciò che hanno appreso.
3. I tre paradigmi di apprendimento#
I problemi di machine learning si classificano in tre grandi paradigmi, che si distinguono per il tipo di esperienza disponibile e per l’obiettivo dell’apprendimento: apprendimento supervisionato, non supervisionato e per rinforzo.
3.1 Apprendimento supervisionato#
È il paradigma più semplice e lineare. L’intuizione: c’è un “maestro” (da cui il nome) che fornisce, per ogni esempio, non solo l’input ma anche la risposta corretta attesa; il modello deve imparare a riprodurre e generalizzare questa associazione.
Dato un training set composto da coppie , dove è l’input e la variabile target (l’output atteso), l’obiettivo è apprendere dai dati un modello che approssimi la funzione incognita che mappa gli input noti negli output noti, cioè , in modo da poterla applicare a input nuovi.
La natura della variabile target determina il tipo di problema:
- Classificazione: è una variabile discreta, cioè un’etichetta scelta tra un insieme finito di possibilità. Esempi: paziente sano oppure malato, email spam oppure legittima, auto che comprerei oppure no. Il modello deve imparare una regola di decisione che discrimini le classi.
- Regressione: è una variabile numerica continua. Esempi: quanto sarei disposto a spendere per una certa auto, l’età della persona ritratta in una fotografia.
- Stima di probabilità: è una probabilità, quindi un numero vincolato all’intervallo . È un tipo molto specifico di regressione, per certi versi ibrido con la classificazione, per cui esistono tecniche dedicate.
Tra le tecniche di apprendimento supervisionato che verranno trattate: modelli lineari, reti neurali artificiali, support vector machines, decision tree (albero di decisione).
In parole semplici: nel supervisionato si impara con le “soluzioni in fondo al libro”: ogni esempio di addestramento arriva già con la risposta giusta allegata. Se la risposta è una categoria si parla di classificazione, se è un numero si parla di regressione.
Un punto merita di essere sottolineato con forza, perché nella pratica professionale è fonte di equivoci frequenti: la caratteristica che identifica e distingue il paradigma supervisionato è che qualcuno deve fornire, insieme agli input, anche gli output attesi. “Dati” non è sinonimo di “dati etichettati”: un insieme di immagini senza etichette non basta per addestrare un classificatore supervisionato, per quanto grande sia.
Un esempio di classificazione illustra due insidie fondamentali. Si consideri un training set di fotografie di volti, ciascuna etichettata 0 oppure 1. Con pochi esempi, un’ipotesi naturale è che l’etichetta distingua uomini e donne; ma un nuovo esempio, un volto maschile etichettato 0 anziché 1, smentisce l’ipotesi. Il concetto reale che genera le etichette è un altro: se nella foto la persona sorride mostrando i denti oppure no. E se nel test set compare un’immagine radicalmente diversa da tutte quelle di addestramento (nell’esempio, il personaggio di E.T.), il modello non ha basi per rispondere, perché quel tipo di input non è rappresentato nel training set. Le lezioni generali sono due:
- Rappresentatività: il dataset deve essere abbastanza rappresentativo del problema; su input troppo diversi da quelli visti in addestramento non ci si può aspettare risposte sensate.
- Ambiguità con pochi dati: con una quantità limitata di dati può essere difficile capire quale sia il concetto da apprendere, perché più regole di decisione diverse sono compatibili con gli stessi esempi.
Per questo non deve stupire che i modelli sbaglino: anche con algoritmi di ottimizzazione perfetti e modelli potenti, restano i problemi dei dati limitati, delle relazioni ambigue tra input e output e della rappresentatività del campione.
3.2 Apprendimento non supervisionato#
Nell’apprendimento non supervisionato non ci sono più etichette né target: ci sono solo dati. La richiesta implicita è: “ecco dei punti, dimmi qualcosa di interessante su di essi”. L’obiettivo è apprendere pattern precedentemente sconosciuti e rappresentazioni efficienti dei dati.
Dato un training set composto da soli input , senza alcun target, l’obiettivo è apprendere una funzione dell’input che ne fornisca una trasformazione utile (come una rappresentazione più compatta) o un raggruppamento, senza alcun output atteso specificato a priori.
I due problemi tipici sono:
- Clustering: raggruppare i dati in insiemi (cluster) di punti simili tra loro, scoprendo una struttura a gruppi non nota a priori. È un tema centrale, ad esempio, nel data mining.
- Dimensionality reduction (riduzione di dimensionalità): trovare una rappresentazione dei dati più compatta ed efficiente, con meno variabili, che preservi l’informazione rilevante.
Un esempio concreto di dimensionality reduction: un dataset di pesci descritti da due caratteristiche, altezza e lunghezza. Riportando i punti sul piano di queste due variabili, si scopre una correlazione molto forte: è estremamente raro trovare pesci molto lunghi e sottili oppure molto corti e larghi. Non ha quindi senso conservare entrambe le variabili: si può calcolare un’unica variabile, la “taglia” del pesce, che rappresenta in modo più generale la sua dimensione, risparmiando risorse di memorizzazione senza perdere informazione sostanziale.
Tra le tecniche: K-means, self-organizing maps, principal component analysis (PCA). Il corso non coprirà estesamente questo paradigma, ma tratterà alcuni aspetti della dimensionality reduction, perché si vedrà che è molto importante per migliorare le prestazioni dei modelli di classificazione.
In parole semplici: qui nessuno dice al modello che cosa cercare: gli si danno solo i dati grezzi e lui deve trovare da solo una struttura, raggruppando i punti simili (clustering) o scoprendo che molte variabili sono ridondanti e possono essere riassunte in poche (dimensionality reduction).
3.3 Apprendimento per rinforzo#
L’intuizione viene dall’addestramento degli animali. Un criceto in un labirinto riceve un premio (un dolcetto) quando raggiunge l’obiettivo e una punizione (una lieve scossa) quando compie l’azione sbagliata: con l’esperienza impara quali azioni portano più frequentemente a ricompense positive e quali a ricompense negative da evitare. Questo segnale di premio o punizione si chiama, appunto, rinforzo.
Due elementi distinguono questo paradigma dall’apprendimento supervisionato:
- Il feedback è più debole. Non c’è un insieme di esempi che mostrano “questo è l’input e questa è la cosa ottima da fare”: nessuno indica l’azione corretta. C’è però comunque un feedback, il reward, un segnale che può essere positivo o negativo e che valuta l’esito delle azioni compiute.
- Il problema è sequenziale. In genere il compito non si risolve con una singola azione o decisione: occorre combinare più azioni per raggiungere l’obiettivo finale. Negli scacchi, ad esempio, il reward arriva solo alla fine, vincendo la partita, ma per arrivarci servono molte mosse intermedie, alcune delle quali (come un sacrificio) possono sembrare svantaggiose nel breve termine. Imparare a perseguire un obiettivo di lungo termine, anche a costo di rinunciare ad azioni che appaiono ottime nel breve, è estremamente difficile.
Paradigma in cui un agente interagisce con un ambiente compiendo azioni e ricevendo in risposta ricompense (reward) positive o negative; l’obiettivo è apprendere la policy ottima, cioè la strategia di scelta delle azioni che massimizza la ricompensa accumulata nel tempo.
I problemi di riferimento sono i processi decisionali di Markov (Markov Decision Process, MDP), le loro varianti parzialmente osservabili (POMDP) e i giochi stocastici (stochastic games); tra le tecniche: Q-learning, SARSA, fitted Q-iteration. Questi temi verranno trattati in grande dettaglio nella parte finale del corso.
In parole semplici: l’agente impara per tentativi ed errori, come un animale addestrato con premi e punizioni: nessuno gli dice qual è la mossa giusta, ma ogni tanto riceve un voto sul risultato. La difficoltà in più è che il premio può arrivare solo dopo una lunga catena di azioni, e bisogna capire quali di esse lo hanno davvero meritato.
3.4 I tre paradigmi a confronto#
La tabella riassume le differenze essenziali, che dipendono tutte dal tipo di esperienza disponibile.
| Paradigma | Esperienza disponibile | Obiettivo | Problemi tipici | Tecniche tipiche |
|---|---|---|---|---|
| Supervisionato | Coppie input-output | Approssimare la funzione incognita | Classificazione, regressione, stima di probabilità | Modelli lineari, reti neurali, SVM, decision tree |
| Non supervisionato | Soli input , nessun target | Scoprire pattern e rappresentazioni efficienti dei dati | Clustering, dimensionality reduction | K-means, self-organizing maps, PCA |
| Per rinforzo | Interazione con un ambiente, reward ritardati | Apprendere la policy ottima | MDP, POMDP, giochi stocastici | Q-learning, SARSA, fitted Q-iteration |
La scelta del paradigma discende direttamente dalla natura del problema e dei dati: se sono disponibili (o ottenibili) esempi etichettati con l’output atteso, il problema è supervisionato; se ci sono solo dati grezzi da esplorare, è non supervisionato; se il sistema deve imparare interagendo con un ambiente e ricevendo feedback ritardati su sequenze di decisioni, è un problema di rinforzo. Saper riconoscere il paradigma giusto è uno degli obiettivi dichiarati del corso.
4. Il machine learning tra le discipline#
Il machine learning non è una scienza isolata. La comunità scientifica del ML raccoglie anime provenienti da campi diversi, e le connessioni principali sono:
- Statistica e probabilità: gran parte della teoria e dei metodi del ML è di natura statistica; la valutazione rigorosa dei modelli è un problema statistico.
- Gestione dei dati e data mining: il ML lavora su dati, quindi è influenzato dalle comunità che studiano come gestirli ed estrarne conoscenza in modo efficiente.
- Informatica: il ML è nato all’interno dell’area della computer science, che ne fornisce gli strumenti algoritmici e computazionali.
- Ottimizzazione: l’addestramento dei modelli è, in ultima analisi, un problema di ottimizzazione.
Va inoltre tenuta presente la gerarchia dei campi: il machine learning è un sottoinsieme dell’intelligenza artificiale, che studia anche altri problemi e altre tecniche. All’interno del ML, le reti neurali sono una famiglia di tecniche; il deep learning è costruito sulle reti neurali; e ciò che oggi il grande pubblico chiama “AI”, cioè l’AI generativa e in particolare i modelli linguistici, è un’area molto sottile dentro questa catena di inclusioni. Da studiosi del campo è importante non perdere il quadro d’insieme: conoscere i principi e le connessioni tra le discipline permette di capire i trend emergenti invece di limitarsi a inseguirli.
Le applicazioni sono ovunque: analisi di immagini mediche, guida autonoma, sistemi finanziari, videogiochi (il ML nei giochi non nasce con l’ondata recente: già nei primi anni 2000 giochi di guida commerciali ne usavano forme semplici), generazione e comprensione del testo, pubblicità e raccomandazione.
In parole semplici: il ML è il punto d’incontro tra statistica, informatica e ottimizzazione, ed è solo una parte dell’AI. I modelli linguistici oggi famosi ne sono una fetta piccolissima: capire i fondamenti serve a non confondere l’ultima moda con l’intero campo.
5. Mappa del corso#
5.1 Obiettivi formativi#
Il corso è una classe fondazionale: non si concentra sulle tecniche più recenti né sulla scrittura di codice, ma sulla comprensione dei principi alla base dei modelli. Gli obiettivi sono:
- Modellare correttamente problemi di machine learning: capire se un problema si può risolvere con il ML, quale paradigma e quale modello sono più adatti, come definire in modo efficace input e output.
- Conoscere i principi e le tecniche principali: le differenze tra i tre paradigmi; come i vincoli del dominio e la disponibilità di dati influenzano la scelta del modello; i passi di una pipeline di ML dall’inizio alla fine; come vengono ottimizzati i parametri e come questo influenza il risultato.
- Valutare le prestazioni dei modelli: quali metriche usare per classificazione, regressione e clustering; come valutare le prestazioni in modo statisticamente corretto; come riconoscere e gestire overfitting e underfitting. Un tema ricorrente sarà il trade-off tra quantità di dati e complessità del modello: capire quando e perché un modello più semplice può battere uno più complesso.
- Conoscere i limiti delle tecniche: in quali circostanze un approccio è preferibile a un altro, e come la disponibilità di dati condiziona la scelta.
- Acquisire le basi per comprendere gli sviluppi recenti: il corso non copre modelli linguistici o deep learning, ma i principi insegnati sono quelli su cui gli sviluppi recenti si fondano, con i loro limiti e le loro sfide.
5.2 Argomenti trattati#
Il corso si articola in due parti: una prima parte sull’apprendimento supervisionato (circa il 60% del tempo) e una seconda sull’apprendimento per rinforzo (circa il 40%). Gli argomenti sono:
- Regressione lineare
- Classificazione lineare
- Bias-Variance (scomposizione e trade-off)
- Model selection (selezione del modello)
- PAC-Learning e VC dimension
- Metodi kernel
- Support Vector Machines
- Processi decisionali di Markov (MDP)
- Programmazione dinamica
- Reinforcement learning in MDP finiti
- Multi-armed bandit
5.3 Prerequisiti e confini del corso#
I prerequisiti attesi sono:
- Algebra lineare: operazioni con matrici e vettori, autovalori e autovettori.
- Probabilità e statistica: distribuzioni, intervalli di confidenza, test di ipotesi, statistica bayesiana.
- Ottimizzazione: nozioni di base sugli algoritmi di ottimizzazione.
- Python: conoscenza di base, sufficiente per seguire le esercitazioni pratiche.
Per un ripasso, i capitoli 1 e 2 con le appendici B, C, E del testo di Bishop (“Pattern Recognition and Machine Learning”) e il capitolo 1 di Murphy (“Probabilistic Machine Learning: An Introduction”) sono ottimi punti di partenza. I riferimenti principali del corso sono Bishop per la parte supervisionata e Sutton-Barto (“Reinforcement Learning: an Introduction”) per la parte di rinforzo, con Hastie-Tibshirani-Friedman e Mitchell come testi complementari.
Un corso di questa dimensione non può coprire tutto il machine learning: restano fuori, tra gli altri, il deep learning, il data mining e i temi di incertezza nell’AI, trattati in corsi dedicati. Alcune sovrapposizioni con altri corsi sono inevitabili, perché ogni corso deve essere autocontenuto.
5.4 Verso il prossimo capitolo#
Il capitolo successivo formalizza il paradigma supervisionato. In anteprima: dato un dataset di coppie , si cerca un’approssimazione della funzione incognita che mappa in ; progettare un algoritmo di apprendimento richiede tre ingredienti, un hypothesis space (la famiglia di funzioni tra cui cercare), una loss function (la misura dell’errore di approssimazione) e un algoritmo di ottimizzazione. La difficoltà centrale, che motiverà buona parte del corso, è che la loss “vera”, cioè la distanza dalla funzione , non è calcolabile perché è ignota: si può solo costruire una loss a partire dai dati disponibili, e ottimizzare quella non garantisce di avvicinarsi davvero a .
Glossario#
| Termine | Definizione |
|---|---|
| Machine learning | Sottocampo dell’AI in cui la conoscenza proviene da esperienza e induzione, invece che da programmazione esplicita. |
| Task () | Il compito che il programma deve svolgere (classificare, predire, giocare). |
| Misura di performance () | Metrica quantitativa della qualità con cui il task viene svolto. |
| Esperienza () | Informazione da cui si apprende: dati etichettati, dati grezzi o interazioni con un ambiente. |
| Induzione | Inferenza dal particolare (esempi finiti) al generale (regola per casi nuovi), senza garanzia di correttezza. |
| Generalizzazione | Capacità di funzionare bene su dati mai visti in addestramento. |
| Apprendimento supervisionato | Apprendimento, da coppie input-output , di un’approssimazione della funzione che le lega. |
| Classificazione | Problema supervisionato con target discreto (un’etichetta). |
| Regressione | Problema supervisionato con target numerico continuo. |
| Stima di probabilità | Problema supervisionato con target in ; ibrido tra regressione e classificazione. |
| Training set | Insieme di esempi usati per addestrare il modello. |
| Apprendimento non supervisionato | Apprendimento di pattern e rappresentazioni efficienti da soli input, senza target. |
| Clustering | Raggruppamento dei dati in insiemi di punti simili, senza etichette a priori. |
| Dimensionality reduction | Rappresentazione dei dati con meno variabili, preservando l’informazione rilevante. |
| Apprendimento per rinforzo | Apprendimento della policy ottima tramite interazione con un ambiente e reward. |
| Reward | Feedback positivo o negativo sull’esito delle azioni dell’agente. |
| Policy | Strategia con cui l’agente sceglie le azioni; l’obiettivo del rinforzo è apprendere quella ottima. |
| MDP | Markov Decision Process: modello formale delle decisioni sequenziali nel reinforcement learning. |
| Overfitting | Adattamento eccessivo ai dati di addestramento, con scarsa generalizzazione. |
| Underfitting | Modello troppo semplice per catturare la relazione presente nei dati. |
| Hypothesis space | Famiglia di funzioni entro cui si cerca l’approssimazione della funzione incognita. |
| Loss function | Misura dell’errore di approssimazione; guida l’ottimizzazione dei parametri. |
| Deep learning | Tecniche basate su reti neurali profonde; sottoinsieme delle reti neurali, a loro volta sottoinsieme del ML. |