Blog.

Linear Regression e The Normal Equation | Italiano


Autore
Andrea Provino
Data
Tempo di lettura
4 minuti
Categoria
machine-learning

the-normal-equation-linear-regression-formula-data-science-data-scientist-teoria-guida-italiano-regressione-lineare-

Un modello di Linear Regression (Regressione Lineare) è in grado di effettuare previsioni calcolando la somma pesata (weighted sum) delle features (input features), più un parametro costante definito bias term chiamato anche intercept term.

La nostra meravigliosa concisa definizione è come sempre presente.

È arrivato il momento di sviscerare l’argomento!

Linear Regression

Conoscere il funzionamento matematico / statistico di quei sistemi che permettono il corretto svolgimento dei progetti di machine learning non è fondamentale al loro completamento.

Saremmo però dei pessimi Data Scientist se avessimo queste lacune.

Per questa ragione, anche il più basilare dei modelli, quello di Linear Regression, deve avere un suo posto nel nostro bagaglio di conoscenza.

La matematica di un modello di regressione lineare è basilare: una semplice funzione i cui parametri corrispondono al valore, opportunamente processato, delle features.

Chiariamo la terminologia e il formalismo matematico:

  • Ŷ è il valore predetto (predicted value), la nostra label
  • n corrisponde al numero di features
  • Xi è la feature i-esima
  • θ0 è il bias term
  • θi è il parametro J-esimo (include il bias term e le feature weights)

Per completezza d’informazione, la lettera greca è theta.

La formula di cui sopra può essere scritta in modo conciso usando la vectorised form (forma vettoriale). L’equazione di lienar regression diventa quindi:

linear-regression-formula-vectorised-data-science-data-scientist-teoria-guida-italiano-regressione-lineare

Ancora una volta chiariamo il formalismo matematico, specificando che:

  • θ è parametro vettoriale del modello (parameter vector), contenente il bias term θ0 e le features da θ1 a θn
  • x è il vettore delle features (features vector) contenente i valori da x0 a xn con x0 sempre uguale a 1.
  • θ · x è il prodotto scalare (dot product) del vettore θ e di quello x
  • hθ è la funzione d’ipotesi (hypothesis function) uando il parametro del modello θ.

L’obiettivo della fase di training è proprio quello di calcolare quei valori dei parametri tali per cui la funzione generata meglio descriva i dati presenti.

Per questa ragione abbiamo bisogno di un sistema che ci permetta di stabilire quanto bene (o male) il modello rappresenti i dati.

La performance measure più comunemente usata nella regressione lineare è la Root Mean Squared Error (RMSE).

Questo significa trovare quei valori di θ che minimizzino RMSE.

All’atto pratico è più semplice però minimizzare un’altra metrica la Mean Squared Error, che comunque produce lo stesso risultato.

Il minimo di una funzione è anche quello del suo quadrato.

Abbiamo spiegato il motivo per cui questa funzione è particolarmente utile descrivendo il Gradient Descent, un generico e molto efficiente algoritmo di ottimizzazione.

ATTENZIONE
Tieni a mente che è frequente usare come metrica della fase di training una differente da quella impiegata per valutare le prestazioni globali del modello, chiamata performance measure.

The Normal Equation

Per calcolare i valori di θ che minimizzino la cost function esiste una closed-form solution ossia un’equazione matematica che restituisce in modo diretto il risultato: è la normal queation.

Come sempre un minimo di spiegazione:

  • theta hat è il valore di theta che minimizza la cost function (per hat intendiamo il cappellino sopra la lettera)
  • y è il vettore contenente i valori target da y(1) a y(m)

Computational Complexity

La Normal Equation è quindi una tra le molteplici funzioni impiegabili per il calcolo dei parametri di un modello lineare.

Ha un però un difetto: la sua velocità decresce rapidamente all’aumentare del numero di features. Quando ci avviciniamo a 100k osservazioni questo problema diventa particolarmente significativo.

Per misurare la complessità di calcolo di un algoritmo si usa una notazione denominata “o grande“. Approfondiremo questo concetto prossimamente.

Per il momento ci basta sapere che quando il numero di features o quello delle osservazioni aumenta, dobbiamo fare affidamento a nuovi metodi per il calcolo dei parametri.

Uno tra questi è il Gradient Descent.

Ce ne sono però molti altri. Te ne presento 20:

  • Linear Regression
  • Polynomial Regression
  • Poisson Regression
  • Ordinary Least Squares (OLS) Regression
  • Ordinal Regression
  • Support Vector Regression
  • Gradient Descent Regression
  • Stepwise Regression
  • LASSO Regression
  • Ridge Regression
  • Elastic Net Regression
  • Bayesan Linear Regression
  • Least-Angled Regression (LARS)
  • Neural Network Regression
  • Locally Estimated Scatterplot Smoothing (LOESS)
  • Multivariate Adaptive Regression Splines (MARS)
  • Locally Weighted Regression (LWL)
  • Quantile Regression
  • Principal Component Regression (PCR)
  • Partial Least Squares Regression

Un caldo abbraccio, Andrea.

Taggeddata scienceteoria


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum