master-degree-notes/Foundation of data science/notes/2 Linear Regression.md

78 lines
No EOL
3 KiB
Markdown

# Linear Regression
## Definizione
La regressione lineare è un metodo per modellare la relazione tra variabili indipendenti (input,$x$) e una variabile dipendente (output,$y$) assumendo che questa relazione sia approssimativamente lineare.
### Notazione
-$m$: Numero di esempi di training.
-$n$: Numero di caratteristiche (features).
-$x^{(i)}$: Input del$i$-esimo esempio.
-$y^{(i)}$: Output del$i$-esimo esempio.
-$\theta$: Parametri del modello.
### Ipotesti del modello
La funzione ipotesi per un modello con una variabile è:
$$h_\theta(x) = \theta_0 + \theta_1x$$
Per più variabili (multivariata):
$$h_\theta(x) = \theta_0 + \theta_1x_1 + \dots + \theta_nx_n = \theta^T x$$
## Funzione di costo
Misura l'errore tra le predizioni del modello e i valori reali:
$$J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} \left( h_\theta(x^{(i)}) - y^{(i)} \right)^2$$
## Gradient Descent
Algoritmo iterativo per minimizzare$J(\theta)$:
$$\theta_j := \theta_j - \alpha \frac{\partial J(\theta)}{\partial \theta_j}$$
Dove:
- $\alpha$ è il learning rate.
- $\frac{\partial J(\theta)}{\partial \theta_j}$è il gradiente rispetto a$\theta_j$.
### Varianti
1. **Batch Gradient Descent**: Usa tutti gli esempi per calcolare il gradiente.
2. **Stochastic Gradient Descent (SGD)**: Aggiorna $\theta$usando un solo esempio per iterazione.
3. **Mini-batch Gradient Descent**: Combina i due approcci sopra usando piccoli gruppi (mini-batch).
### Feature Scaling
Per migliorare la convergenza del gradient descent, è utile normalizzare le feature:
$$x_j := \frac{x_j - \mu_j}{s_j}$$
Dove:
- $\mu_j$: Media della feature$j$.
- $s_j$: Range o deviazione standard della feature $j$.
## Equazione Normale
Un metodo analitico per calcolare i parametri $\theta$:
$\theta = (X^T X)^{-1} X^T y$
Utile quando il dataset è piccolo, ma inefficiente per grandi dataset.
## Metrica di Valutazione
- **MSE (Mean Squared Error)**: Valuta l'errore medio quadratico.
- **Coefficiente di correlazione (Pearson)**: Misura la relazione lineare tra $x$ e $y$:
$$r = \frac{\text{Cov}(x, y)}{\sigma_x \sigma_y}$$
Valori:
- $r = 1$: Massima correlazione positiva.
- $r = 0$: Nessuna correlazione.
- $r = -1$: Massima correlazione negativa.
- **R^2 (Coefficient of Determination)**:
$R^2 = 1 - \frac{\text{SSE}}{\text{SST}}$
Dove:
- $\text{SSE}$: Somma degli errori quadrati.
- $\text{SST}$: Somma totale dei quadrati.
## Locally weighted regression (Loess/Lowess)
Tecnica non parametrica che pesa gli esempi locali:
$$w^{(i)} = \exp\left(-\frac{(x - x^{(i)})^2}{2\tau^2}\right)$$
Dove $\tau$ è un parametro di larghezza (bandwidth).
## Interpretazione Probabilistica
Assumendo un errore gaussiano:
$$y^{(i)} = \theta^T x^{(i)} + \epsilon^{(i)}, \quad \epsilon^{(i)} \sim \mathcal{N}(0, \sigma^2)$$
La massimizzazione della verosimiglianza equivale alla minimizzazione di$J(\theta)$.
## Overfitting e Underfitting
- **Overfitting**: Modello troppo complesso; alta varianza.
- **Underfitting**: Modello troppo semplice; alto bias.
Soluzioni:
- Selezione delle feature.
- Regolarizzazione.