Il vocabolario essenziale di un machine learner – Parte I

I

Questo articolo amplia le nozioni accennate nell’articolo precedente, e introduce in maniera più formale i concetti di base che verranno utilizzati nei prossimi articoli che qualsiasi persona che si approcciasse al mondo dell’apprendimento automatico è tenuto sapere.

Introduzione

Nel apprendimento automatico i dati sono rappresentati sotto forma di una collezione di data items, conosciuti anche come feature vectors. Ogni vettore contiene alcune proprietà che possiamo osservare direttamente in ogni data item. La selezione e la costruzione di features appropriate è parte integrante di ogni procedura che tende a modellare un problema, e determina in maniera significativa la qualità dei risultati che otteniamo. Ogni feature ha un dominio di possibili valori e il prodotto cartesiano di tutti i domini è lo spazio delle possibili vettori. Denotiamo questo spazio con $\mathcal{X}$, detto spazio delle istanze. Per convenienza presupponiamo che il dominio di riferimento sia l’insieme dei numeri reali e per ogni vettore $x \in \mathbb{R}^{\ell}$ appartenente a questo spazio definiamo $\ell$ come la dimensione dello spazio delle istanze. Sotto queste condizioni l’insieme di $n$ data items, riconosciuto come dataset, non è altro che una matrice $M_{n \times \ell}$ di numeri reali.

Tipologie di task

Dato un dataset per uno specifico dominio di riferimento è possibile disegnare un modello usando diversi tipi di apprendimento o Learning.
Supervisionato (Supervised Learning): imparare una funzione usando degli esempi concreti, come una coppia di input/output. L’input è sempre un vettore di caratteristiche, e l’output potrebbe essere un’etichetta, come spam/non-spam oppure un valore reale, come il prezzo di un prodotto. Nel primo caso abbiamo un problema di classificazione dove si assegna ad ogni punto un’etichetta corrispondente ad un insime discreta e finita di valori. Mentre nel secondo caso si tratta di regressione, e si è interessati ad individuare i parametri di una funzione che ci permette di modellare la relazione esistente tra un’insieme di variabili. Un caso concreto potrebbe essere il seuguente scenario: partendo da un insieme di variabili riguardanti le cratteristiche delle case in vendita (numero di stanze, luminosità, posizione, …) si modella una funzione che prende come input i valori di queste caratterstiche, ovvero le variabili indipendenti, e predice il prezzo della casa, ovvero la variabile dipendente. L’aspetto rilevante da tenere presente è che durante l’addestramento in questo caso usiamo un dataset che ha una colonna aggiuntiva contenente l’output, che nel caso di classificazione è il label e nel caso di regressione un valore reale. Dunque ciò che contraddistingue l’apprendimento supervisionato è la possibilità di addestrare il modello con dati di cui conosciamo già l’output.
Non supervisionato (Unsupervised Learning): in questo caso non abbiamo nessuna informazione rispetto ai nostri dati e siamo interessati da una parte a trovare dei pattern e dall’altra di raggruppare i dati in insiemi simili ovvero fare il clustering.
Per rinforzo (Reinforcement Learning): individua azioni che massimizzano la ricompensa, presentata in forma di feedback all’algoritmo.
Esiste inoltre una versione di apprendimento supervisionato che non può avvalersi del valore output di un intero dataset, perché mancanti oppure inaffidabili. Questo tipo è nominato apprendimento semi-supervisionato.

Disegno di un modello

Consideriamo il caso di un classificatore lineare che data un’email predice se è spam oppure no. Supponiamo inoltre di essere nell’ambito di apprendimento supervisionato. Il primo passo da compiere è quello di raccogliere un insieme possibilmente variegato di email e costruire il dataset. Il passo successivo riguarderà la determinazione e il modellamento del classificatore di riferimento.

Come è stato accennato nell’articolo precedente, non avendo nessuna informazione oggettiva rispetto al “mondo di classificatori antispam”, ci basiamo sulla possibilità di definire un mondo ipotetico di possibili classificatori. Denotiamo con $\mathcal{H}$ lo spazio di funzioni ipotetiche e con $\mathcal{F} \subseteq \mathcal{X}$ lo spazio dei vettori di features che rappresentano un’email. Quest’ultimo è un insieme indipendente e identicamente distribuito, ovvero ogni punto ha la stessa probabilità di essere scelta, e la scelta di ogni punto può essere fatta indipendentemente da altri punti. Questa è una supposizione forte che facciamo e normalmente nelle applicazioni reali non è facile realizzarla, ma dal dal punto di vista matematico e probabilistico può semplificare molti calcoli che altrimenti sarebbero irrealizzabili.

Per semplicità scegliamo di rappresentare ogni email con due features: $x_1$ che rappresenta numero di volte appare la parola “offerta imperdibile” e $x_2$ il numero delle immagini presenti nel testo. È facile da vedere che il dominio di entrambe è l’insime dei numeri reali. Ogni email può essere rappresentata in forma di un vettore $X = (x_1, x_2)$, che contiene i valori riferiti a queste particolari caratteristiche. Essendo nell’ambito di supervised learning, abbiamo anche il label spam/non-spam per ogni email. L’insieme di $n$ punti  $X^1, \cdots, X^n$ costituiscono le righe della matrice $3 \times n$. Notare che con $X^i$ per $i =1, \cdots, n$ identifichiamo l’email nel rigo $i$-esimo, avente in questo caso tre valori.

Una volta che abbiamo il dataset, per ragioni che scopriremo nella seconda parte di questo articolo lo suddividiamo in due parti. Il sottoinsieme del dataset usato nella fase di addestramento e per il disegno del classificatore è riconosciuto come $\textit{Training Set}$. Il nostro obbiettivo è quello di scegliere una funzione $f^* \in \mathcal{H}$ che possa predire in maniera corretta l’appartenenza di un’email mai vista fino a quel momento ad una delle due classi. La parte rimanente del dataset viene normalmente usato per valutare la capacità predittiva del $f^*$ ed è riconosciuto come $\textit{Test set}$. Dato che nel mondo reale non possiamo mai avere l’accesso al Test set, il secondo sottoinsieme del dataset che abbiamo a disposizione è chiamato anche$\textit{Validation set}$, e viene usato nel caso in cui abbiamo bisogno di determinare gli \textit{iperparametri} e i parametri del modello.

Qui sotto possiamo vedere un esempio semplice di un calssificatore. Nella asse $x$ abbiamo la prima feature (#”offerta impredibile”) e nella asse $y$ la seconda feature (#foto). Consideriamo la classe 1 come email non-spam e segnate con la croce rossa e la classe 2 come spam e segnate con quadretti turchesi. Possiamo vedere che abbiamo scelto due features che hanno collocato le due categorie in due sottospazi distinti dello spazio. Le email che hanno poche foto e dove non ci sono publicità sulle offerte imperdibili sono appartenenti alla categoria non-spam e viceversa. Questo esempio è un caso particolarmente fortunato perché abbiamo uno spazio metrico dove possiamo dividere i punti semplicemente con una funzione lineare, come raffigurato nella figura. In questo caso diciamo che i dati sono $\textit{linearmente separabili}$.

Un classificatore lineare per un insieme di dati linearmente separabili ed appartenenti a due classi distinti.

 La prima domanda però che sorge è: riuscirà il classificatore a predire la classe per futuri email che riceviamo nella casella di posta elettronica? Questa domanda conduce la discussione verso un concetto fondamentale che è conosciuto come Bias-Variance tradoff, che vedremo nella seconda parte di questo articolo. Per ora, Stay tuned!

A proposito di me

Tina Raissi

Studentessa di Master di Computer Science presso RWTH Aachen University (Germania), lavora contemporaneamente come assistente di ricerca facendo il full-stack javascript developer. All’università porta avanti inoltre la sua passione per Machine Learning, con l'applicazione nell'ambito di segnale musicale e voce.
Prima di iscriversi all'Ingegneria Informatica all'università di Firenze, dove ha concluso il triennio, si è diplomata al conservatorio di Ferrara e si è laureata in DAMS, lasciandosi alle spalle diversi anni di esperienza come insegnante e performer professionista.
Ora sogna di addestrare le macchine perché possano produrre ed elaborare la musica.

Di Tina Raissi

I nostri Partner

Gli articoli più letti

Articoli recenti

Commenti recenti