Machine Learning · Regressione Tecnica

Regressione Lineare con Python: Descrizione Tecnica

Dal modello matematico alla sua implementazione in Python, passo per passo.

Torna all'indice generale

Modello matematico

Nella regressione lineare semplice, il modello assume la forma:

ŷ = w * x + b
      

dove x è l'ingresso (una variabile), ŷ è la predizione, w è il coefficiente angolare e b è l'intercetta.

Stima dei parametri

Dato un dataset di n coppie (xi, yi), i parametri w e b vengono scelti minimizzando una funzione di costo, tipicamente l'errore quadratico medio:

J(w, b) = (1 / n) * ∑ (y_i - (w * x_i + b))²
      

L'ottimizzazione può essere fatta in modo analitico (soluzione chiusa) o numerico (es. discesa del gradiente).

Interpretazione dei parametri

  • w rappresenta come cambia la predizione al variare di x (pendenza della retta).
  • b è il valore di ŷ quando x = 0 (intercetta con l'asse delle ordinate).

In un contesto di machine learning applicato, w e b possono essere interpretati anche in termini di sensibilità del modello alle variazioni dell'input.

Implementazione in Python (concettuale)

In Python si può:

  • Implementare manualmente il calcolo di J(w, b) e i gradienti ∂J/∂w, ∂J/∂b.
  • Scrivere un ciclo di aggiornamento:
    • w ← w - η * ∂J/∂w
    • b ← b - η * ∂J/∂b
  • Oppure usare librerie come scikit-learn, concentrandosi sull'interpretazione dei risultati.

Su fuzzypython.org questa pagina può essere collegata a un notebook che mostra la traiettoria di w e b durante la discesa del gradiente e la relazione con le metriche di errore.