1. Introduzione
Il percettrone venne proposto da Frank Rosenblatt nel 1958. La struttura è la seguente:
Considerando un numero p di predittori, il vettore X = [x1, x2, ... , xp] rappresenta l'input del percettrone. Quest'ultimo viene poi moltiplicato per il vettore dei pesi W = [w1, w2, ... , wp] . Detto ciò, l'output può essere espresso matematicamente dalla formula:
in cui la funzione g(), detta funzione di attivazione , è spesso rappresentata dalla funzione sigmoidea matematicamente esprimibile in questo modo:
Quest'ultima ha un dominio di valori nel range [0,1] rendendo così il percettrone un classificatore binario. In particolare, supponendo di avere due classi A e B, il valore ritornato dalla funzione sigmoidea esprime la probabilità di appartenenza dell'esempio X alla classe A o B.
Di estrema importanza è il vettore dei pesi W. Il loro valore viene determinato durante la fase di apprendimento (training) , in maniera tale che la differenza (target - output) sia la più piccola possibile. Ma quanto piccola? Considerando (target - output) come la funzione di loss, l'obiettivo è quello di raggiungere il minimo globale . In particolare con il termine target ci riferiamo al valore con cui labelliamo l'osservazione X (valore atteso) , al contrario, con il termine output ci riferiamo al valore restituito dal percettrone (predizione) .
I pesi vengono determinati attraverso la regola di aggiornamento delta rule (discesa del gradiente). Considerando un solo neurone (appunto il percettrone) possiamo esprimere la delta rule in questo modo:
el i conseguente aggiornamento del vettore peso:
2. Regressione
Modificando la funzione di attivazione possiamo ottenere un modello regressivo. In particolare, sostituiamo la funzione sigmoidea con la funzione ReLU. Quest'ultima viene ad esprimersi matematicamente:
<
Detto ciò, il nostro percettrone costituirà un modello definito dal seguente hyperpiano:
in cui w0 rappresenta l'intercetta mentre w1, ... , wp le relative pendenze.
3. Plot residui
Di seguito posto il plot dei residui calcolato sul training set sia del percettrone sia eseguendo una LinearRegression. Il dataset utilizzato è Boston house-prices
Perceptron | LinearRegression |