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!