142 lines
7.2 KiB
Markdown
142 lines
7.2 KiB
Markdown
|
|
|||
|
Solamente note generate da Gemini 2.0 sulla base del PDF, un po' così...
|
|||
|
Leggete 3 e 3.1, coprono già praticamente tutto e sono scritti bene.
|
|||
|
|
|||
|
|
|||
|
# Generalizzazione per Classificazione Multiclasse (C > 2)
|
|||
|
|
|||
|
## Softmax
|
|||
|
|
|||
|
* **Scopo:** Mappare un vettore di *logits* (output non normalizzati di una rete neurale) in un vettore di probabilità che somma a 1. Questo permette di interpretare l'output come una distribuzione di probabilità sulle classi.
|
|||
|
* **Formula:**
|
|||
|
$$
|
|||
|
softmax(a_i) = exp(a_i) / Σ_j exp(a_j)
|
|||
|
$$
|
|||
|
dove:
|
|||
|
* $a_i$ è l'i-esimo logit.
|
|||
|
* $exp(a_i)$ è l'esponenziale del logit.
|
|||
|
* $Σ_j exp(a_j)$ è la somma degli esponenziali di tutti i logits (fattore di normalizzazione).
|
|||
|
* **Proprietà:**
|
|||
|
* **Esponenziale:** Valori di $a_i$ più alti risultano in probabilità più alte. Valori più bassi vengono ridimensionati verso lo zero.
|
|||
|
* **Normalizzazione:** Assicura che la somma di tutte le probabilità sia uguale a 1.
|
|||
|
* **Relazione con i Logits:** $f(x) = softmax(Θ^T x)$ dove $Θ^T x$ rappresenta i logits.
|
|||
|
|
|||
|
## Probabilità e Funzione di Verosimiglianza (Likelihood)
|
|||
|
|
|||
|
* **Distribuzione di Probabilità:** In un contesto di classificazione, rappresenta la probabilità che un'istanza appartenga a ciascuna delle classi.
|
|||
|
* **Codifica One-Hot:** Le etichette di classe $y$ sono spesso rappresentate con vettori one-hot (es. cat=[1, 0, 0], dog=[0, 1, 0], giraffe=[0, 0, 1]).
|
|||
|
* **Funzione di Verosimiglianza per una Singola Istanza:**
|
|||
|
$$
|
|||
|
P(y | f(x)) = Π_i [f(x)_i]^{y_i}
|
|||
|
$$
|
|||
|
dove:
|
|||
|
* $f(x)_i$ è la probabilità predetta per la classe $i$.
|
|||
|
* $y_i$ è l'elemento corrispondente nel vettore one-hot (vale 1 per la classe corretta, 0 altrimenti).
|
|||
|
* Solo la probabilità della classe corretta contribuisce al prodotto grazie alla codifica one-hot.
|
|||
|
* **Funzione di Verosimiglianza per l'Intero Dataset:**
|
|||
|
$$
|
|||
|
L = Π_n P(y^i | f(x^i))
|
|||
|
$$
|
|||
|
dove $n$ indica l'indice del campione nel dataset.
|
|||
|
|
|||
|
## Log-Verosimiglianza (Log-Likelihood) e Negative Log-Likelihood (NLL)
|
|||
|
|
|||
|
* **Log-Verosimiglianza:** È il logaritmo della funzione di verosimiglianza. Utilizzato per semplificare i calcoli e trasformare prodotti in somme.
|
|||
|
$$
|
|||
|
log L = Σ_n log P(y^i | f(x^i)) = Σ_n Σ_c y^i_c log f(x^i)_c
|
|||
|
$$
|
|||
|
* **Negative Log-Likelihood (NLL):** È l'opposto della log-verosimiglianza. Viene minimizzata durante l'addestramento.
|
|||
|
$$
|
|||
|
NLL = - log L = - Σ_n Σ_c y^i_c log f(x^i)_c
|
|||
|
$$
|
|||
|
* **Cross-Entropy:** La NLL è equivalente alla Cross-Entropy nel contesto della classificazione multiclasse con codifica one-hot.
|
|||
|
|
|||
|
## Esempio di Calcolo della Cross-Entropy
|
|||
|
|
|||
|
* Viene fornito un esempio con due istanze ($π_1$, $π_2$) e tre classi (cat, dog, giraffe).
|
|||
|
* Si calcola la Cross-Entropy per ciascuna istanza e poi la Cross-Entropy media $CE(Θ)$.
|
|||
|
* L'obiettivo è **massimizzare la probabilità della classe vera** a scapito delle altre.
|
|||
|
|
|||
|
## Instabilità Numerica del Softmax
|
|||
|
|
|||
|
* **Problema:** Il calcolo dell'esponenziale di numeri grandi può portare a overflow, mentre la somma di esponenziali può portare a underflow.
|
|||
|
* **Soluzione:** Sottrarre una costante $c$ (tipicamente il massimo dei logits) a ciascun logit prima di calcolare l'esponenziale.
|
|||
|
$$
|
|||
|
log(Σ_i exp(p_i)) = log(Σ_i exp(p_i - c)) + c
|
|||
|
$$
|
|||
|
* **Beneficio:** Evita che valori molto grandi influenzino negativamente l'ottimizzazione e previene l'instabilità numerica.
|
|||
|
|
|||
|
## Funzione di Costo (Loss Function)
|
|||
|
|
|||
|
* **Cross-Entropy:** La Cross-Entropy è comunemente usata come funzione di costo per la classificazione multiclasse.
|
|||
|
* **Alternativa (per regressione):** $-1/(2n) * (Loss)$ è menzionata come funzione di costo per la regressione (differenza dei quadrati).
|
|||
|
* **Normalizzazione:** La funzione di costo viene normalizzata per il numero di campioni nel dataset.
|
|||
|
|
|||
|
## Regressione Logistica Multiclasse
|
|||
|
|
|||
|
* $f(x) = softmax(Θ^T x)$ è la formulazione della regressione logistica multiclasse.
|
|||
|
* L'obiettivo è trovare il **miglior set di parametri $Θ$** minimizzando la funzione di costo (Cross-Entropy).
|
|||
|
|
|||
|
## Entropia, Cross-Entropy e Divergenza KL
|
|||
|
|
|||
|
* **Entropia (H(P)):** Misura l'incertezza di una distribuzione di probabilità $P$.
|
|||
|
$$
|
|||
|
H(P) = - Σ_i p_i log p_i
|
|||
|
$$
|
|||
|
* **Cross-Entropy (CE(P, Q)):** Misura l'incertezza della distribuzione $P$ quando la codifichiamo usando la distribuzione $Q$.
|
|||
|
$$
|
|||
|
CE(P, Q) = - Σ_i p_i log q_i
|
|||
|
$$
|
|||
|
* **Divergenza KL (KL(P||Q)):** Misura quanta informazione si perde quando si usa la distribuzione $Q$ al posto di $P$.
|
|||
|
$$
|
|||
|
KL(P||Q) = Σ_i p_i log (p_i / q_i)
|
|||
|
$$
|
|||
|
* **Relazione:** $CE(P, Q) = H(P) + KL(P||Q)$
|
|||
|
* $H(P)$: Incertezza della distribuzione vera.
|
|||
|
* $KL(P||Q)$: Costo aggiuntivo di usare $Q$ invece di $P$.
|
|||
|
|
|||
|
## Calibrazione del Modello
|
|||
|
|
|||
|
* **Logits vs. Probabilità:** I logits non possono essere interpretati direttamente come probabilità.
|
|||
|
* **Calibrazione:** Misura quanto bene le probabilità predette dal modello corrispondono alle frequenze osservate.
|
|||
|
* **Procedura:**
|
|||
|
1. Selezionare un set di validazione.
|
|||
|
2. Dividere l'intervallo [0, 1] in $m$ bin.
|
|||
|
3. $B_m$: Numero di campioni la cui confidenza cade nel bin $m$.
|
|||
|
4. $P_m$: Confidenza media per ciascun bin.
|
|||
|
5. $a_m$: Accuratezza media per ciascun bin.
|
|||
|
* **Expected Calibration Error (ECE):** Misura l'errore di calibrazione atteso.
|
|||
|
$$
|
|||
|
ECE = Σ_m |B_m / n| * |a_m - P_m|
|
|||
|
$$
|
|||
|
|
|||
|
## Iperpiani
|
|||
|
|
|||
|
* **Spazio N-dimensionale:** Un iperpiano in uno spazio N-dimensionale è un sottospazio piatto di dimensione N-1.
|
|||
|
* **Esempi:**
|
|||
|
* 2D -> Linea 1D
|
|||
|
* 3D -> Piano 2D
|
|||
|
* **Proprietà:**
|
|||
|
1. Possono separare linearmente le classi che sono linearmente separabili.
|
|||
|
2. La distanza dal campione di dati più vicino all'iperpiano è chiamata **margine**.
|
|||
|
|
|||
|
## Bias-Varianza
|
|||
|
|
|||
|
* **Underfitting:** Il modello è troppo semplice e non riesce a catturare le relazioni nei dati.
|
|||
|
* **Perfect-fit:** Il modello trova un buon equilibrio tra bias e varianza.
|
|||
|
* **Overfitting:** Il modello è troppo complesso e si adatta troppo bene ai dati di addestramento, imparando anche il rumore. Ciò porta a una scarsa generalizzazione su dati nuovi.
|
|||
|
* **Errore (Error):** Rappresenta la discrepanza tra la previsione del modello e il valore vero.
|
|||
|
* **Bias²:** Differenza tra la previsione media del modello e il valore corretto. Un bias alto indica che il modello fa ipotesi troppo semplificate.
|
|||
|
* **Varianza (Variance):** Variabilità della previsione del modello per un dato dataset. Alta varianza significa che il modello è sensibile alle fluttuazioni nei dati di addestramento.
|
|||
|
* **Capacità del Modello (Model Capacity):** La capacità del modello di apprendere relazioni complesse nei dati.
|
|||
|
* **Trade-off Bias-Varianza:** C'è un compromesso tra bias e varianza. Aumentare la capacità del modello generalmente riduce il bias ma aumenta la varianza, e viceversa.
|
|||
|
* **Errore Irriducibile (σ²):** Errore intrinseco ai dati che non può essere ridotto dal modello.
|
|||
|
* **Decomposizione dell'Errore Quadratico Medio (MSE):**
|
|||
|
$$
|
|||
|
E[(Y - f(X))^2] = Bias(f(X))^2 + Variance(f(X)) + σ^2
|
|||
|
$$
|
|||
|
* **Minimizzazione del Rischio:**
|
|||
|
* **Rischio Atteso:** Minimizzato per ottenere i parametri ottimali $Θ*$.
|
|||
|
* **Rischio Empirico:** Minimizzato per ottenere i parametri $Θ_hat$.
|
|||
|
|
|||
|
Spero che questi appunti ti siano utili per prepararti al tuo esame! Inserendoli in Obsidian, potrai anche collegare concetti correlati per una comprensione più approfondita. In bocca al lupo!
|