• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
machine-learning

Linear Regression e The Normal Equation | Italiano

Linear Regression e The Normal Equation | Italiano

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.

Written by Andrea Provino - Novembre 25, 2019
Tags | data science, teoria

You Might Also Like

bias-variance-tradeoff-italiano-generalization-error-models-machine-leaning-blog-data-science-blog-italia-irreducible-error-guida

The Bias / Variance Tradeoff

Dicembre 3, 2019
apheris-ai-machine-learning-deep-leaniing-data-science-deep-learning-differential-privacy-distributed-analysis-federated-learning

Apheris AI: analisi su dati distribuiti e tutela della privacy

Maggio 23, 2020
reidentification-anonymization-vs-preudonimization-privacy-preserving-machine-learning-data-science-ai-italia-arkhn

Anonymization vs Pseudonymization in Semplice Italiano

Settembre 27, 2020
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino