News and Blog

Algoritmi di Machine Learning: l’apprendimento supervisionato

03 - giribone
News

Algoritmi di Machine Learning: l’apprendimento supervisionato

A cura di Pier Giuseppe Giribone

Nell’articolo precedente della rubrica si è fornita una definizione di Machine Learning e si sono evidenziate le principali differenze di funzionamento intercorrenti tra un tradizionale algoritmo e uno concepito secondo i moderni paradigmi di apprendimento automatico.

Questo articolo e i successivi verteranno su quali sono i più diffusi criteri di classificazione per un algoritmo di Machine Learning. Inizieremo a parlare di come questi possono essere suddivisi in funzione del tipo di apprendimento progettato.

I sistemi di apprendimento automatico possono essere classificati in accordo alla quantità e al tipo di supervisione che sono soggetti durante l’addestramento (training).

La letteratura riconosce tipicamente quattro principali categorie: apprendimento supervisionato (supervised learning), apprendimento non supervisionato (unsupervised learning), apprendimento semi-supervisionato (semisupervised learning) e apprendimento per rinforzo (reinforcement learning). Iniziamo a comprendere le caratteristiche fondamentali che contraddistinguono il primo tipo, che è anche quello più diffuso e utilizzato.

Nel supervised learning, il training set impiegato per addestrare l’algoritmo include le soluzioni desiderate, dette label. Tale metodo di apprendimento è molto simile al processo durante il quale l’essere umano apprende dalla conoscenza empirica. La metafora più calzante è quella nella quale l’uomo acquisisce conoscenza nel momento in cui risolve problemi.

Si consideri il processo di problem-solving descritto dal flusso logico seguente:

  • Si seleziona un esercizio che propone la risoluzione di un problema. Viene applicata la conoscenza corrente per trovare una sua soluzione. Si compara la risposta così ottenuta con quella corretta fornita.
  • Se la risposta è errata, si modifica la conoscenza corrente
  • Si ripetono gli step 2) e 3) per tutti gli esercizi che propongono un problema

Se noi applicassimo una analogia tra questo esempio che illustra il processo di apprendimento umano con il processo di addestramento di un metodo ML, potremmo ritenere che gli esercizi proponenti i problemi e le relative soluzioni corrispondono al training data e la conoscenza che si va sviluppando al modello. L’aspetto fondamentale per un metodo di apprendimento supervisionato è che siano disponibili le soluzioni per i problemi proposti. Dato che le soluzioni ai problemi sui quali si fonderà la conoscenza devono essere corrette, è fondamentale il fatto che ci sia un supervisore che fornisca un dataset di apprendimento corretto e non distorto (unbiased).

Un tipico task per un apprendimento supervisionato è quello di classificazione. Lo spam filter è un buon esempio: esso è addestrato con esempi di mail regolari e non (classi) e deve imparare da queste a classificare le nuove.

Un altro tipico task per un algoritmo supervisionato è quello di predire un valore numerico target, quale ad esempio il prezzo di un’auto, fornito un insieme di feature (ad esempio: chilometraggio, brand, usura…) detti predictor. Questo task è detto regressione. Per addestrare il sistema, si necessita di una conoscenza di fondo allargata, che include sia i predittori che le relative labels (i.e. i loro prezzi).

In un contesto creditizio, un esempio di classificazione dicotomica può essere fornito da un algoritmo di Machine Learning che, una volta addestrato su un dataset di ratio patrimoniali significativi (feature) associati all’informazione d’interesse, ad esempio se tali aziende fossero fallite o meno (label), fornissero indicazioni utili su un eventuale possibile default di nuove istanze. L’algoritmo deve stimare la classe di appartenenza (default sì/no), interrogandolo a partire da ratio patrimoniali di una nuova azienda.

Il concetto precedente può essere esteso in un contesto di classificazione multi-classe. In tal caso l’algoritmo di Machine Learning non fornirà la semplice indicazione binaria default sì/default no, ma fornirà in uscita un livello di appartenenza secondo una scala ordinata di valori. Questa metodologia di classificazione richiama la procedura attuata dalle agenzie di rating, che associano un livello di merito creditizio all’azienda presa in considerazione.

Lo scopo di una regressione statistica è quello di stimare una relazione funzionale potenzialmente esistente tra la variabile dipendente (label) e delle variabili indipendenti (feature).

Esistono pertanto un gran numero di esempi di potenziali applicazioni in ambito bancario: l’analisi delle strutture a termine dei tassi di interesse in ambito attuariale, l’analisi delle serie storiche dei ritorni di un asset in ambito econometrico, lo studio del potenziale andamento prospettico di un prezzo in funzione della pubblicazione di nuovi dati macroeconomici in ambito trading, la ricostruzione e regolarizzazione di superfici di volatilità per una stima maggiormente affidabile del valore di un’opzione in ambito della finanza quantitativa, eccetera.

Se consideriamo gli esempi precedenti, nel Supervised Learning, ciascun training dataset consiste di coppie di input e output corretti, ovvero ciò che ci si aspetta come logica di output dal modello se si forniscono gli input corrispondenti.

{input, correct output}

L’apprendimento nel supervised learning consiste nella serie di revisioni che vengono effettuate su un modello al fine di ridurre la differenza tra l’output corretto e l’output fornito dal modello a parità di dati d’ingresso.

Se il modello è perfettamente addestrato, produrrà un risultato più simile possibile al corretto output per un dato set di input. Sia la classificazione che la regressione sono tipi di problemi trattati impiegando questo tipo di apprendimento.

La classificazione determina a quale gruppo i dati di input appartengono, pertanto il “correct output” è implementato come categoria. Al contrario, la regressione predice valori e il “correct output” è costituito da un valore numerico.

Prima di concludere è bene chiarire la differenza intercorrente tra attributo e feature.

Come regola generale, nel Machine Learning un attributo è un tipo di dato (ad esempio il chilometraggio), mentre una feature può assumere diversi significati che dipendono dal contesto, ma generalmente si intende un attributo corredato dal suo valore (ad esempio chilometraggio = 12.000). È però pratica comune usare queste due parole in modo intercambiabile.

Il prossimo articolo verterà sull’analisi delle caratteristiche fondamentali che contraddistinguono gli algoritmi di Machine Learning il cui apprendimento è di tipo non supervisionato.

Newsletter

Antiriciclaggio
& Compliance
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the comparison bar
Compare