Regressione
I modelli di regressione vengono sottoposti a training per stimare i valori numerici delle etichette in base ai dati di training che includono sia funzionalità che etichette note. Il processo per il training di un modello di regressione (o di qualsiasi modello di Machine Learning supervisionato) prevede più iterazioni in cui si usa un algoritmo appropriato (in genere con alcune impostazioni parametrizzate) per eseguire il training di un modello, valutarne le prestazioni predittive e perfezionarlo ripetendo il processo di training con algoritmi e parametri diversi fino a raggiungere un livello accettabile di accuratezza predittiva.
Il diagramma mostra quattro elementi chiave del processo di training per i modelli di Machine Learning supervisionati:
- Suddividere i dati di training (in modo casuale) per creare un set di dati con cui eseguire il training del modello conservando un subset di dati da usare per convalidare il modello sottoposto a training.
- Applicare un algoritmo per adattare i dati di training a un modello. Nel caso di un modello di regressione, usare un algoritmo di regressione, ad esempio la regressione lineare.
- Usare i dati di convalida conservati per testare il modello stimando le etichette per le funzionalità.
- Confrontare le etichette effettive note nel set di dati di convalida con le etichette stimate dal modello. Aggregare quindi le differenze tra i valori di etichetta stimati e quelli effettivi al fine di calcolare una metrica che indichi l'accuratezza della previsione del modello per i dati di convalida.
Dopo ogni iterazione di training, validazione e valutazione, è possibile ripetere il processo con algoritmi e parametri diversi fino a raggiungere una metrica di valutazione accettabile.
Example - regressione
Esaminiamo la regressione con un esempio semplificato in cui verrà eseguito il training di un modello per stimare un'etichetta numerica (y) in base a un singolo valore di funzionalità (x). La maggior parte degli scenari reali coinvolge più valori di funzionalità, il che aggiunge una certa complessità; tuttavia il principio non cambia.
Per questo esempio, riprendiamo lo scenario della vendita di gelati di cui si è parlato in precedenza. Per quanto riguarda la funzionalità, verrà presa in considerazione la temperatura (si suppone che il valore sia la temperatura massima di un determinato giorno), e l'etichetta di cui si vuole eseguire il training di un modello di stima corrisponde al numero di gelati venduti quel giorno. Si inizierà con alcuni dati storici che includono record di temperature giornaliere (x) e vendite di gelato (y):
![]() |
![]() |
---|---|
Temperatura (x) | Vendite di gelato (y) |
51 | 1 |
52 | 0 |
67 | 14 |
65 | 14 |
70 | 23 |
69 | 20 |
72 | 23 |
75 | 26 |
73 | 22 |
81 | 30 |
78 | 26 |
83 | 36 |
Training di un modello di regressione
Si inizierà con la suddivisione dei dati e usando un subset di essi per eseguire il training di un modello. Di seguito è riportato il set di dati di training:
Temperatura (x) | Vendite di gelato (y) |
---|---|
51 | 1 |
65 | 14 |
69 | 20 |
72 | 23 |
75 | 26 |
81 | 30 |
Per ottenere informazioni dettagliate sul modo in cui questi valori x e y potrebbero essere correlati tra loro, è possibile tracciarli come coordinate lungo due assi, nel modo illustrato di seguito:
Ora è possibile applicare un algoritmo ai dati di training e adattarlo a una funzione che applica un'operazione a x per calcolare y. Un algoritmo di questo tipo è la regressione lineare, che si basa sulla derivazione di una funzione in grado di produrre una linea retta attraverso le intersezioni dei valori x e y, riducendo al minimo la distanza media tra la linea e i punti tracciati, come nel caso seguente:
La linea è una rappresentazione visiva della funzione in cui la pendenza della linea descrive come calcolare il valore di y per un determinato valore di x. La linea intercetta l'asse x a 50, quindi quando x è 50, y è 0. Come si può notare osservando i marcatori degli assi nel grafico, la retta è inclinata in modo tale che ogni aumento di 5 lungo l'asse delle x comporta un aumento di 5 sull'asse delle y; quindi quando x è 55, y è 5; mentre quando x è 60, y è 10, e così via. Per calcolare il valore di y corrispondente a un determinato valore di x, la funzione si limita a sottrarre 50; in altre parole, la funzione può essere espressa nel modo seguente:
f(x) = x-50
È possibile usare questa funzione per stimare il numero di gelati venduti in un giorno con una determinata temperatura. Si supponga, ad esempio, che le previsioni del tempo annuncino che domani ci saranno 77 gradi. È possibile applicare il modello per calcolare 77-50 e prevedere che domani verranno venduti 27 gelati.
Fino a che punto il modello è accurato?
Valutazione di un modello di regressione
Per convalidare il modello e valutare l'efficacia della sua previsione, sono stati conservati alcuni dati di cui si conosce il valore dell'etichetta ( y ). Di seguito sono riportati i dati conservati:
Temperatura (x) | Vendite di gelato (y) |
---|---|
52 | 0 |
67 | 14 |
70 | 23 |
73 | 22 |
78 | 26 |
83 | 36 |
È possibile usare il modello per stimare l'etichetta relativa a ogni osservazione di questo set di dati in base al valore della funzionalità ( x ) e quindi confrontare l'etichetta stimata ( ŷ ) con il valore effettivo dell'etichetta noto (y).
Se si utilizza il modello sottoposto a training in precedenza, che racchiude la funzione f (x) = x-50, si ottengono le stime seguenti:
Temperatura (x) | Vendite effettive (y) | Vendite stimate (ŷ) |
---|---|---|
52 | 0 | 2 |
67 | 14 | 17 |
70 | 23 | 20 |
73 | 22 | 23 |
78 | 26 | 28 |
83 | 36 | 33 |
È possibile tenere traccia delle etichette stimate e di quelle effettive in base ai valori delle funzionalità, nel modo seguente:
Le etichette stimate vengono calcolate tramite il modello, in modo che si trovino sulla linea della funzione, sebbene sia presente una certa varianza tra i valori ŷ calcolati tramite la funzione e i valori y effettivi del set di dati di convalida; ciò viene rappresentato nel grafico come una linea tra i valori ŷ e y che mostra quanto la stima si sia allontanata dal valore effettivo.
Metriche di valutazione della regressione
In base alle differenze tra i valori stimati e effettivi, è possibile calcolare alcune metriche comuni usate per valutare un modello di regressione.
Errore assoluto medio (MAE)
In questo esempio, la varianza indica il numero di gelati per cui ogni stima è stata sbagliata. Non importa se la stima era superiore o inferiore al valore effettivo (quindi, ad esempio, -3 e +3 indicano entrambi una varianza di 3). Questa metrica è nota come errore assoluto per ogni stima e può essere riepilogata per l'intero set di convalida come errore assoluto medio (MAE).
Nell'esempio del gelato, la media degli errori assoluti (2, 3, 3, 1, 2 e 3) è 2,33.
Errore quadratico medio
La metrica dell'errore medio assoluto tiene conto allo stesso modo di tutte le discrepanze tra le etichette stimate e quelle effettive. Tuttavia, potrebbe essere più auspicabile disporre di un modello che sbaglia costantemente di poco, piuttosto che di uno che commette un numero minore di errori, ma di maggiore entità. Un modo per produrre una metrica che "amplifica" gli errori di maggiore entità è quello di elevare al quadrato i singoli errori e calcolare la media dei valori al quadrato. Tale metrica è denominata errore quadratico medio (MSE).
Nell'esempio del gelato, la media dei valori assoluti al quadrato ( ovvero 4, 9, 9, 1, 4 e 9) è 6.
Radice errore quadratico medio (RMSE)
L'errore quadratico medio consente di prendere in considerazione l'entità degli errori ma, poiché eleva al quadrato i valori degli errori, la metrica risultante non rappresenta più la quantità misurata dall'etichetta. In altre parole, è possibile affermare che il valore di MSE del modello è pari a 6, sebbene ciò non misuri la sua accuratezza in termini di numero di gelati previsti in modo errato. In realtà, 6 rappresenta solo un punteggio numerico che indica il livello di errore nelle stime di convalida.
Se si vuole misurare l'errore in termini di numero di gelati, è necessario calcolare la radice quadrata del valore di MSE, che produce una metrica definita, non a caso, Root Mean Squared Error (errore quadratico medio). In questo caso √6, ovvero 2,45 (gelati).
Coefficiente di determinazione (R2)
Tutte le metriche descritte finora confrontano la discrepanza tra i valori stimati e quelli effettivi per valutare il modello. Tuttavia, in realtà, è presente una naturale varianza casuale nelle vendite giornaliere di gelato di cui il modello tiene conto. In un modello di regressione lineare, l'algoritmo di training si adatta a una linea retta che riduce al minimo la varianza media tra la funzione e i valori di etichetta noti. II coefficiente di determinazione (più comunemente denominato R2 o R-Squared) è una metrica che misura la proporzione di varianza nei risultati della convalida che può essere spiegata dal modello, in contrapposizione a qualche aspetto anomalo dei dati di convalida (ad esempio, un giorno con un numero molto insolito di vendite di gelati a causa di una festa locale).
Il calcolo di R2 è più complesso rispetto alle metriche precedenti. Confronta la somma dei quadrati delle differenze tra le etichette stimate e quelle effettive con la somma dei quadrati delle differenze tra i valori effettivi delle etichette e la loro media nel modo seguente:
R2 = 1- ∑(y-ŷ)2 ÷ ∑(y-ȳ)2
Non ci si deve preoccupare troppo se questo calcolo sembra complicato; la maggior parte degli strumenti di apprendimento automatico è in grado di eseguirlo direttamente. A tal proposito, ciò che conta è che il risultato sia un valore compreso tra 0 e 1 in grado di descrivere la percentuale di varianza spiegata dal modello. Più semplicemente, più questo valore si avvicina a 1, meglio il modello si adatta ai dati di convalida. Nel caso del modello di regressione del gelato, la R2 calcolata dai dati di convalida è 0,95.
Training iterativo
Le metriche descritte in precedenza vengono comunemente usate per valutare un modello di regressione. Nella maggior parte degli scenari reali, un data scientist userà un processo iterativo per eseguire ripetutamente il training e valutare un modello, variando:
- Selezione e preparazione delle funzionalità (scelta delle funzionalità da includere nel modello e calcoli applicati alle stesse per garantire un migliore adattamento).
- Selezione dell'algoritmo: nell'esempio precedente è stata esaminata la regressione lineare, ma sono presenti molti altri algoritmi di regressione.
- Parametri dell'algoritmo: impostazioni numeriche per controllare il comportamento dell'algoritmo, più precisamente denominati iperparametri per differenziarli dai parametri x e y.
Dopo diverse iterazioni, viene selezionato il modello che produce la migliore metrica di valutazione accettabile per lo scenario specifico.