Pillole di IA

Il blog di Federico Magliani sull'Intelligenza Artificiale

View on GitHub
7 May 2021

Esempio di regressione

by Federico Magliani

Ricapitolando

Nei problemi di regressione, l’obiettivo è quello di determinare un valore continuo avendo a disposizione solo valori continui. È quindi differente dal problema di classificazione, in cui dobbiamo decidere se ogni istanza appartiene alla classe 1, alla classe 2, .. alla classe N.

Problema

In questo articolo voglio proporre un semplice problema di regressione. Dati in input il vertice sinistro alto e il vertice destro basso di un quadrato, voglio calcolare il centro dello stesso. Il mio dataset è composto da 450 istanze di dimensioni 400x400. Utilizzerò 400 istanze per il training del modello e 50 per il test. In ogni istanza del dataset ho variato randomicamente: dimensioni del quadrato, ascissa del primo punto e ordinata del secondo punto. Ho realizzato una gif con le immagini delle istanze del training set per aiutare nella comprensione del problema.

Figura 1 - training set.

Procedimento adottato

Per risolvere il problema ho adottato l’algoritmo SVR, che è la versione dell’algoritmo di classificazione SVM idoneo a risolvere i problemi di regressione. Ho utilizzato la versione dell’algoritmo disponibile nella libreria python sklearn.

Ho quindi testato il mio metodo sulle istanze del test set. Inserisco l’immagine dei risultati ottenuti. Il punto verde indica la predizione svolta dal SVR, mentre il punto blu indica il ground truth calcolato tramite la formula del punto medio.

Nota bene

Il ground truth indica per ogni istanza del dataset le coordinate del punto da trovare. Senza queste informazioni non sarebbe possibile allenare e successivamente testare il modello di regressione.

Esempio di groun truth:

Il punto A è sempre quello in alto a sinistra, mentre il punto B è sempre quello che si trova in basso a destra.

Figura 2 - test set.

Per valutare la qualità del modello proposto ho utilizzato due indicatori comuni: Mean Squared Error e Mean Absolute Error.

Definizioni

Risultati

Visto che devo determinare sia l’ascissa che l’ordinata del punto centrale del quadrato avrò quindi un errore distinto per entrambi i campi. I risultati ottenuti come si può evincere anche visivamente sono discreti, ma non eccellenti. Considerando che le immagini hanno dimensione 400x400 e il MAE è di circa 23 pixel allora l’errore medio è circa il 6%.

Nel prossimo post vi spiegherò come fare per migliorare questo risultato, raggiungendo errori che tendono allo zero. Non perdetevi il prossimo post!

Homepage


Federico Magliani
Sono appassionato di Intelligenza Artificiale e nel 2020 ho ricevuto il Ph.D. in Visione Artificiale presso l'Università degli Studi di Parma.
Se vuoi ricevere maggiori informazioni sull'articolo o sui progetti che sto svolgendo visita il mio sito web. Privacy Policy
tags: apprendimento-automatico - IA - intelligenza-artificiale