# 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.