I sistemi di machine learning possono essere classificati in base a come generalizzano. Distinguiamo gli Instance-based Learning Systems dai Model-based Learning Systems.
Questo è il terzo criterio di classificazione.
Il primo divide i sistemi di machine learning in Supervised, Unsupervised, Semisupervised e Reinforcement Learning.
Il secondo in Batch Learning Systems e Incremental (Online) Learning Systems.
Generalization: how systems create models
Prima di procede facciamo chiarezza sul termine generalizzazione.
Back to school: per preparati ad una verifica di matematica, studiavi la regola generale e ti allenavi svolgendo molteplici esercizi.
La professoressa ti proponeva poi dei problemi che non avevi mai visto prima. Qui si aprono due strade:
- fallivi perché avevi imparato a memoria la regola generale e avresti saputo risolvere solo i problemi del libro.
- ruscivi comunque a risolverli perché avevi generalizzato il concetto
Un sistema di machine learning funziona in modo simile.
La maggior parte dei machine learning tasks riguarda la creazione di previsioni. Prevedo ad esempio che il prezzo di un asset di borsa aumenti, o che un’abitazione costi 250.000$.
Per sviluppare un modello, gli algoritmi elaborano i dati (svolgono gli esercizi) individuando la relazione (cioé la regola) che relaziona tra loro le osservazioni: in questo modo generano previsioni.
Affinché un modello risulti performante, deve essere testato in situazioni mai viste prima: solo così è possibile stabilire quanto bene abbia generalizzato (generalize).
I principali approcci alla generalizzazione sono due: Instance-based Learning e Model-based Learning.
Instance-based Learning
Un sistema di apprendimento banale è quello mnemonico.
Un semplice modello potrebbe quindi apprendere a memoria un dato set di training samples e successivamente identificare:
- osservazioni identiche a quelle su cui si è allenato
- osservazioni simili, sfruttando una measure of similarity (misura di similarità)
La measure of similarity è un’entità calcolata su due osservazioni. Un esempio? La similarità di due email è misurata calcolando le parole in comune.
Questo sistema prende il nome di Instance-based learning: apprendimento mnemonico e generalizzazione su nuove istanze attraverso la measutre of similarity.
Model-based learning
Il secondo approccio alla generalizzazione è la creazione di un modello partendo da un set di training samples e l’uso dello stesso per previsioni sui nuovi dati: è il model-based learning.
Prendiamo un modello lineare come esempio.

L’equazione lineare del modello ha due parametri “Theta con zero” e “Theta con uno”:
y = θ0 + θ1x
Il valore di questi parametri deve essere appreso. Per farlo occorre definire una performance measure :
- fitness function (utility function), misura quanto bene un modello generalizza.
- cost function, misura invece quanto male un modello generalizza. (E’ la perfomance metric maggiormente usata)
Una cost function non fa altro che calcolare la distanza di ciascuna osservazione (ciascun data point) dal modello designato (in questo caso la retta). L’obiettivo è trovare la retta che minimizzi la distanza, correggen do il valore dei due parametri.
Un volta ultimato, il modello può essere usato per previsioni su nuovi dati: è l’inferenza (inference).
Nel prossimo post vedremo le principali problematiche legate al machine learning
Un caldo abbraccio, Andrea.