78 lines
No EOL
3 KiB
Markdown
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. |