Apprendimento supervisionato

Teoria

Affrontiamo ora il tema dell’apprendimento supervisionato.

I problemi di machine learning, normalmente, vengono suddivisi in due macrocategorie:

  • problemi con apprendimento supervisionato
  • problemi con apprendimento non supervisionato

I primi, quelli che appunto vediamo in questo articolo, hanno una grossa differenza dai secondi relativamente ai dai di cui, preliminariamente, disponiamo.

Si chiama, infatti, apprendimento supervisionato, perché noi abbiamo una mole di dati iniziali che costituiscono l’esperienza iniziale del nostro algoritmo.

L’obiettivo di questi problemi è l’identificazione di una funzione (intesa come funzione matematica) che ci permette di determinare un qualunque valore di una variabile dipendente da una o più altre variabili indipendenti. Tale funzione, tuttavia, deve approssimare il più possibile l’insieme di valori che, appunto, costituiscono la nostra esperienza.

Può sembrare oscuro e, forse, il mio linguaggio non aiuta granché, ma è molto più semplice di quanto sembri e sono sicuro che con un esempio sarà più semplice.

Regressione lineare: stima del costo di una casa

Supponiamo di disporre di una proprietà di cui conosciamo la metratura e di cui vogliamo sbarazzarcene. A quale prezzo metteremo in vendita questa proprietà? Possiamo fare diverse stime e utilizzare diversi modelli, fra cui anche quello di buttare un prezzo assolutamente a caso.

Se volessimo fare in modo tale che, ad esempio, il prezzo si adegui – giorno per giorno – ai movimenti di mercato, avremmo bisogno di un modello più complesso, di un algoritmo che sia in grado di determinare il prezzo in funzione delle vendite che sono state fatte nei giorni precedenti. Abbiamo bisogno, quindi, di un algoritmo che apprenda, che impari dalle vendite che sono state fatte e ci fornisca il prezzo più “consono”.

Per semplicità, supponiamo che i prezzi di vendita siano legati solamente alla superfici delle proprietà, trascuriamo, quindi, la zona, lo stato di conservazione, il fatto che sia o meno presente un impianto di video sicurezza o una jacuzzi nel bagno.

Stiamo ipotizzando, quindi, che il prezzo di vendita di una casa, detto p, sia funzione della superficie della stessa, detta s. Ovvero:

p = f(s)

ovvero il prezzo è funzione di una singola variabile (superficie).

Supponiamo di disporre ora di una tabella che contiene le informazioni di vendita di altre proprietà simili alla nostra. In una colonna abbiamo la superficie e, in quella affianco, il prezzo di vendita (i dati, nell’esempio, sono stati presi da un celebre sito di annunci immobiliari italiano, su case in buono stato in vendita in Alessandria):

Superficie (metri quadrati) Prezzo
 58 96.000€
 135 230.000€
 75 85.000€
 55 113.000€
 120 235.000€
 70 70.000€
 67 98.000€
 50 50.000€
 90 100.000€
 100 125.000€
 110 150.000€

Se grafichiamo, su un piano cartesiano, questi dati posizionando la superficie (variabile indipendente) sull’asse delle x e il prezzo (variabile dipendente, nel nostro esempio, dalla sola superficie) sull’asse delle y, otteniamo questo:

costocasa

È già possibile visualizzare, ad occhio, come sembra esistere una relazione diretta tra superficie e costo. Quello che vogliamo trovare, quindi, è la retta che approssima meglio questa distribuzione. Tale problema viene denominato problema di regressione lineare.

Una volta individuata la retta ottima,  ovvero quella che ottimizza i dati mostrati in tabella sarà possibile stimare un qualunque prezzo, data una qualunque superficie.

costocasa

Ad esempio, possiamo dire che ad una superficie di 80 metri quadrati, potrebbe corrispondere un prezzo di circa 110.000€.  Ovviamente tale retta determina una funzione che stima il costo data la superficie. Però, risolvere il problema di regressione lineare significa trovare la retta che rende minore l’errore rispetto ai valori effettivamente riscontrati.

Problemi di classificazione

Sempre nell’ambito dei problemi con apprendimento supervisionato, rientrano i problemi di classificazione. Questi problemi, sempre a partire da un insieme di dati, si occupano di dare una risposta nella forma “sì” oppure “no”.

Supponiamo, ad esempio, di avere a disposizione una tabella che metta in relazione l’età del paziente e il valore di un determinato parametro del sangue (es. quantità globuli bianchi per millilitro) con l’effettivo riscontro o meno di una malattia del sangue (es. leucemia).

In questo caso, non vogliamo stimare un valore continuo (il prezzo di una casa) ma la presenza o meno di una determinata malattia. Tale problema è, appunto, un problema di classificazione.

Apprendimento continuo

Il bello è che, se il problema viene opportunamente modellato (ed è proprio qui la difficoltà!), ovvero se viene usato il giusto modello per la sua soluzione, a partire da un set di informazioni anche piuttosto ridotto è possibile stimare “con precisione” un valore continuo (regressione lineare) o classificare un campione (classificazione).

Una volta che il valore o il campione vengono stimati, se si ha la possibilità di ottenere l’effettivo riscontro nella realtà, è possibile inserire questo nuovo elemento nell’insieme di dati forniti come esperienza all’algoritmo e, quindi, determinare, ad esempio, una retta maggiormente precisa o una classificazione migliore.

Insomma: il feedback dell’esperienza tramuta i nostri algoritmi in algoritmi intelligenti, che imparano e adattano il loro output in funzione di un input continuo, sempre aggiornato e sempre più “popoloso”. La potenza di questi algoritmi è notevole e mi auguro che questa breve trattazione l’abbia reso evidente.

Nella prossima trattazione ci occuperemo, invece , dei problemi con apprendimento non supervisionato.

A presto,
Marco

Please follow and like us:
No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Teoria
I 5 algoritmi di Machine Learning più utilizzati

Prendendo spunto da un recente articolo, elenco in rassegna i 5 algoritmi più utilizzati nell’ambito del machine learning, secondo l’autore. È importante conoscere e “sporcarsi le mani” con questi algoritmi, poiché si presume che nel prossimo futuro, oltre il 25% degli attuali lavori sarà soppiantato da algoritmi di machine learning. Eccoli, riassunti …

Teoria
Un po’ di gergo del Machine Learning

Proprio oggi mi sono imbattuto in un interessantissimo articolo su Linkedin Pulse che aveva come argomento il gergo che viene solitamente utilizzato nell’ambito del machine learning. Trovo necessario che, chiunque decida di avvicinarsi a questa branca interessantissima della matematica/informatica, debba necessariamente avere padronanza del linguaggio tecnico per poter comprendere a fondo …

Teoria
Reti neurali: cosa sono?

Abbiamo visto come alcuni problemi di machine learning non siano tanto volti a trovare come soluzione una funzione (es. stima del prezzo di una casa), ma ad associare una fra un insieme di classi. Questi problemi vengono genericamente detti problemi di classificazione. Supponiamo, ad esempio, di voler scrivere un software in grado di …

Social media & sharing icons powered by UltimatelySocial