“Instance-based” e “Model-based” learning
March 6, 2024 2024-04-03 9:30“Instance-based” e “Model-based” learning
A cura di Pier Giuseppe Giribone
Una ulteriore modalità utilizzata per categorizzare sistemi che apprendono è quella basata sul modo in cui questi sono in grado di generalizzare.
La maggior parte degli obiettivi attesi degli algoritmi di Machine Learning riguarda la loro capacità di fare predizioni. Questo significa che, avendo a disposizione un numero di esempi sui quali effettuare l’addestramento, il sistema deve essere in grado di effettuare buone predizioni su dati nuovi, ovvero mai conosciuti in precedenza.
Riscontrare delle buone metriche di performance sui dati di addestramento (“in-sample”) è sicuramente positivo, ma non sufficiente, poiché il vero obiettivo è quello di ottenere dei risultati attendibili sulle nuove istanze.
Le misure “out-of-sample” rappresentano pertanto il miglior strumento per verificare se il sistema è stato in grado di generalizzare correttamente la conoscenza acquisita durante l’addestramento.
Sono noti due principali approcci alla generalizzazione: l’instance-based learning e il model-based learning.
La più semplice forma di apprendimento, che ricade nella prima categoria, è quella di imparare semplicemente “a memoria”. Ciò significa che se dovessimo progettare uno spam filter che segua tale euristica, questo contrassegnerebbe spam tutte le mail esattamente identiche a quelle già classificate in questo modo da altri utenti. Probabilmente non è la peggiore tecnica per risolvere il problema, ma certamente non la migliore.
Invece di flaggare mail che sono identitche a quelle di spam già riconosciute, l’algoritmo potrebbe essere programmato per contrassegnare come non buone anche le mail che sono molto simili allo spam noto. Questo modo di progettazione, ovviamente più ragionevole, richiede una misura di similarità tra due mail.
Una misura molto semplice di similarità potrebbe, ad esempio, essere rappresentata dal numero di parole in comune che due mail hanno: il sistema contrassegnerà con il flag di spam qualora dal confronto tra la nuova istanza e quelle già note come spam emergessero molte parole in comune.
Tale modo di apprendere è detto instance-based learning: l’algoritmo impara gli esempi forniti durante l’addestramento nel modo più fedele possibile, quindi generalizza tale conoscenza su nuovi casi usando una misura di similarità per la comparazione con elementi già noti (o un sottoinsieme di questi).
Un altro modo per generalizzare a partire da un insieme di esempi consiste nel costruire un modello matematico di una potenziale relazione sussistente tra tali esempi ed utilizzarlo al fine di effettuare predizioni. Questa modalità di generalizzazione è definita model-based learning.
Supponiamo di avere un insieme di dati che possiamo rappresentare mediante un grafico a dispersione (scatter plot), ovvero con con dei punti disposti su un piano cartesiano. Potrebbe essere, ad esempio, il caso della relazione esistente tra l’OECD (Organization for Economic Cooperation and Development) Better Life Index (https://www.oecdbetterlifeindex.org) ed il GDP pro capite (Gross Domestic Product).
Pur essendo ben noto che da solo il denaro non fa la felicità dell’essere umano, è però evidente dalle statistiche che questo può essere impiegato come strumento per aiutare le persone a raggiungere questo nobile scopo, considerando ovviamente l’eticità e il mutuo rispetto degli altri abitanti presenti e futuri del nostro pianeta.
Si noterebbe pertanto una linea di trend positiva tra la variabile dipendente (score dell’indice, asse y del grafico) e quella indipendente (GDP pro capite, asse x del grafico). I punti si disporrebbero con una ragionevole approssimazione lungo questa linea crescente di tendenza. Il modello matematico che potrebbe idoneamente rappresentare tale relazione è pertanto di tipo lineare. Questo può essere espresso nella forma Score = theta0 + theta1*GDP.
La fase descritta viene detta model selection: ovvero tra tutte le funzioni matematiche che potrebbero rappresentare la relazione tra i dati disponibili, si sceglie quella più idonea. Tale scelta può essere frutto dell’intuizione, come nel caso appena discusso, oppure potrebbe derivare da una rigorosa dimostrazione matematica verificata sotto determinate ipotesi.
Ad esempio, la relazione che ci permette di calcolare il prezzo di una obbligazione a partire dal rendimento, è basato su rigorosi principi noti della matematica finanziaria, per cui non avrebbe senso costruire un algoritmo che la apprenda direttamente dai dati empirici o mediante una intuizione di un modello rappresentativo dedotto da questi.
Una volta scelta la relazione che lega lo score con il GDP, si devono stabilire i valori maggiormente idonei per theta0 (costante del modello lineare) e theta1 (pendenza del modello lineare), ovvero quelli che rappresentano meglio il trend presente tra i dati.
Al fine di ottenere i valori ottimali per i parametri del modello, è necessario specificare una misura di performance. Tipicamente si può sia definire una funzione di utilità (utility function, anche detta fitness function) che misura quanto il modello è buono, oppure una funzione costo (cost function) che misura quanto il modello è inidoneo.
Per un problema di regressione lineare, come quello presentato, tipicamente viene usata una funzione costo, che misura la distanza tra le predizioni teoriche fornite dal modello lineare e quelle che si sono effettivamente realizzate nei dati impiegati per addestarre il modello: l’obiettivo è minimizzare tale distanza.
In questo momento la procedura di apprendimento entra in gioco: vengono passati i dati per effettuare l’addestramento e vengono trovati i valori per i parametri più rappresentativi, ovvero quelli che consentono di generalizzare al meglio la relazione che si è supposta essere presente tra i dati.
E’ bene far notare che nel caso della regressione lineare, esistono delle formule analitiche che consentono di trovare i valori per i theta: si tratta infatti di una OLS – Ordinary Least Squares.
Nel caso di modelli non lineari, si ricorre ad una procedura numerica, in grado di risolvere il problema di training del modello.
Terminata la fase di addestramento, si possono effettuare delle previsioni usando il modello così calibrato.
Ad esempio, supponiamo che esista un paese di cui è noto il GDP, ma il cui score non sia stato calcolato dalla OECD.
Si può usare la relazione lineare Score = theta0 + theta1*GDP, sostituendo il valore della variabile indipendente (Gross Domestic Product) con quella nota del paese, utilizzare i theta stimati ed ottenere come output (ovvero come predizione) il valore della variabile dipendente, ovvero lo score interpretato dal nostro modello.
In conclusione, si può osservare che l’approccio più comune usato dall’econometria tradizionale è l’approccio model-based, nel quale, una volta scelta la relazione esistente tra i dati, viene effettuata la migliore stima per determinare i coefficienti di tale modello.
L’instance-based learning, non facendo ipotesi a priori sulla forma funzionale alla quale la relazione sussistente tra i dati debba necessariamente adattarsi, ha avuto una particolare enfasi con l’avvento dei nuovi paradigmi di Machine Learning.
Terminiamo asserendo che “Non esistono pasti gratuiti”: se da un lato l’instance-based learning presenta una maggiore flessibilità nella definizione della relazione che lega i dati, in quanto non deve essere specificata a priori, è bene evidenziare che i modelli con questo tipo di apprendimento sono maggiormente afflitti da un potenziale sovra-adattamento dei dati (overfitting) e tendono ad essere delle “black-box”, con una conseguente mancanza di spiegabilità della predizione ottenuta.
Cerca
Categorie