Valutazione dei Modelli Corso di Apprendimento Automatico Laurea Magistrale in Informatica Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari 10 dicembre 2009 Corso di Apprendimento Automatico Valutazione dei Modelli Sommario Principi di conservazione ed indeterminazione Errore, Bias e Varianza Intervalli di confidenza per l’errore osservato dell’ipotesi Stimatori Distribuzioni: Binomiale, Normale Teorema del Limite Centrale t-Test a coppie Confronto di algoritmi di apprendimento Metodi di campionamento per la stima Altri metodi Corso di Apprendimento Automatico Valutazione dei Modelli Valutazione Quant’è predittivo il modello appreso? L’errore sui dati di training non è un buon indicatore della performance su dati futuri Altrimenti 1-NN sarebbe un classificatore ottimale Soluzione semplice usabile se si hanno a disposizione molti esempi classificati: Suddividere i dati in training e test set Tuttavia: i dati (soprattutto se classificati) sono in genere in numero limitato Si necessitano tecniche più sofisticate Corso di Apprendimento Automatico Valutazione dei Modelli Confronto di algoritmi Domande 1 Se si è interessati alla performance sulla generalizzazione, ci sono ragioni per preferire un classificatore o un algoritmo piuttosto che un altro ? 2 Se non si fanno assunzioni supplementari, ci si può aspettare che un algoritmo sia globalmente superiore (o inferiore) rispetto agli altri ? 3 Si può trovare un algoritmo che risulti in generale superiore (o inferiore) ad una procedura di classificazione casuale ? Risposte 1-2-3: NO L’apparente superiorità di un algoritmo dipende dal particolare problema e dalla distribuzione dei dati Corso di Apprendimento Automatico Valutazione dei Modelli Principio di conservazione dell’errore I Supponendo di lavorare nel discreto, sia P(h) la probab. a priori di h ∈ H e sia P(h|S) la probab. di costruire h in base al campione S, con n = |S| Errore atteso: E[err |S] = XX P(x)[1 − δ(f (x), h(x))]P(h|S)P(f |S) h,f x 6∈S dato S, è correlato alla somma degli input, pesati dalla loro probabilità P(x), e all’allineamento della risposta dell’ipotesi con la risposta corretta, pesati, risp., da P(h|S) e P(f |S) Quindi: non conoscendo P(f |S) a priori, si può concludere poco sulla performance dell’alg. di classificazione P(h|S) Corso di Apprendimento Automatico Valutazione dei Modelli Principio di conservazione dell’errore II Errore atteso off-training del k -esimo algoritmo: X E[errk |f , n] = P(x)[1 − δ(f (x), hk (x))]P(hk (x)|S) x 6 ∈S Le assunzioni sul dominio del problema sono molto rilevanti Anche per alg. apparentemente ottimali, vi sono problemi per i quali le prestazioni sono basse: quelli in cui algoritmo e probab. a posteriori non collimano Si dimostra infatti una sorta di ”teorema di conservazione” per la generalizzazione: per ogni alg. di apprendimento, la somma delle prestazioni rispetto a tutte le possibili funzioni obiettivo è nulla più formalmente... Corso di Apprendimento Automatico Valutazione dei Modelli Teorema No Free Lunch Theorem (No Free Lunch) Dati due algoritmi, con probab. P(h1 (x)|S) e P(h2 (x)|S), indipendentemente dalla distribuzione dei campioni P(x) e dal loro numero n, sono vere le seguenti asserzioni: 1 Mediando uniformemente su tutte le funzioni f : E(err1 |f , n) − E(err2 |f , n) = 0; 2 Per ogni campione fissato S, mediando uniformemente su tutte le funzioni f : E(err1 |f , S) − E(err2 |f , S) = 0; 3 Mediando uniformemente sulle probab. a priori P(f ): E(err1 |n) − E(err2 |n) = 0; 4 Per ogni campione fissato S, mediando uniformemente sulle probab. a priori P(f ): E(err1 |f , S) − E(err2 |f , S) = 0 Corso di Apprendimento Automatico Valutazione dei Modelli No Free Lunch – osservazioni I 1 Stesso errore se si media su tutte le funzioni possibili: XX P(S|f )[E(err1 |f , n) − E(err2 |f , n)] = 0 f S se le funzioni sono equiprobabili, allora in generale un algoritmo (buono) non supera mai un altro (cattivo) 2 Fissato S, nessun algoritmo porta a migliorare l’errore off-training rispetto agli altri: X [E(err1 |f , D) − E(err2 |f , D)] = 0 f 3 come 1. per distribuzioni delle funzioni target non uniformi 4 come 2. per distribuzioni delle funzioni target non uniformi Corso di Apprendimento Automatico Valutazione dei Modelli impossibili + 0 sopra la media sotto la media in media spazi dei problemi possibili No Free Lunch – osservazioni II a) buona accuratezza su pochi problemi, ma molto bassa sugli altri b) eccellente accuratezza su molti problemi, ma scarsa su molti altri c) media accuratezza generale, con punte molto alte o molto basse d) eccellenti prestazioni su tutto e),f) impossibile andar mediamente bene su tutti i problemi Corso di Apprendimento Automatico Valutazione dei Modelli Similarità e indeterminazione I Supponiamo di lavorare ancora nel discreto in logica proposizionale Dati due esempi, supponiamo di usare un numero finito feature (e quindi di pattern) per descriverli In assenza di informazione a priori sulla distribuzione, una misura di similarità tra esempi potrebbe semplicemente contare il numero di pattern condivisi Si stabilisce un risultato di indeterminazione basato sulla uguale similarità di tutti gli esempi, se non si fanno assunzioni ulteriori in base alla conoscenza di fondo sul dominio Corso di Apprendimento Automatico Valutazione dei Modelli Similarità e indeterminazione II Esempio Istanze xi come triple di feature fi binarie: a) f1 : ha_gambe, f2 : ha_braccio_dx, f3 : ha_mano_dx (notare che f3 ⇒ f2 ) b) ... c) f1 : arancio, f2 : marrone, f3 : blu mutualmente esclusive Corso di Apprendimento Automatico Valutazione dei Modelli Similarità e indeterminazione III Le feature fi corrispondono ad insiemi elementari, le formule / pattern ad insiemi complessi Diagramma generale per un problema con 2 feature Corso di Apprendimento Automatico Valutazione dei Modelli Similarità e indeterminazione IV es. 4 insiemi descritti da formule congiuntive: x1 ∈ f1 ∧ ¬f2 x2 ∈ f1 ∧ f2 x3 ∈ ¬f1 ∧ f2 x4 ∈ ¬f1 ∧ ¬f2 Corso di Apprendimento Automatico Valutazione dei Modelli Similarità e indeterminazione V Rango (rank) r di un pattern: numero di elementi che descrive/contiene NB. rank 0 ( 4 0 = 0): ∅ = f1 ∧ ¬f1 ∨ f2 ∧ ¬f2 Rank 1 2 3 4 = 4: 1 {x1 } = f1 ∧ ¬f2 {x2 } = f1 ∧ f2 {x3 } = ¬f1 ∧ f2 {x4 } = ¬(f1 ∨ f2 ) 4 = 6: 2 {x1 , x2 } = f1 {x1 , x3 } = f1 ∧ ¬f2 ∨ ¬f1 ∧ f2 {x1 , x4 } = ¬f2 {x2 , x3 } = f2 {x2 , x4 } = (f1 ∧ f2 ) ∨ ¬(f1 ∨ f2 ) {x3 , x4 } = ¬f1 4 = 4: 3 {x1 , x2 , x3 } = f1 ∨ f2 {x1 , x2 , x4 } = f1 ∨ ¬f2 {x1 , x3 , x4 } = ¬(f1 ∧ f2 ) {x2 , x3 , x4 } = ¬f1 ∨ f2 Corso di Apprendimento Automatico Valutazione dei Modelli Similarità e indeterminazione VI 4 4 = 1: 4 {x1 , x2 , x3 , x4 } = > = f1 ∨ ¬f1 ∨ f2 ∨ ¬f2 In assenza di ulteriori informazioni: Misura di similarità basata sul numero di pattern condivisi Osservazioni Date d le istanze, # di pattern distinti condivisi: 0 di rank 1, 1 di rank 2, d −1 = d − 2 di rank 3, . . . 1 In generale, dato r (r ≤ d), # pattern condivisi: d −1 r −2 Per cui il numero totale di predicati condivisi risulta: d d − 2 X = (1 + 1)d −2 = 2d −2 r − 2 r =1 indipendentemente dalla scelta delle feature / pattern Corso di Apprendimento Automatico Valutazione dei Modelli Teorema del brutto anatroccolo – Ugly Duckling Theorem (Ugly Duckling) Dato un insieme finito di pattern atto a distinguere gli esempi, il numero di pattern condivisi da due generici esempi risulta costante e indipendente dalla loro scelta. Se la similarità dipende dal totale di pattern condivisi, allora tutte le coppie di esempi sono ugualmente simili. Corso di Apprendimento Automatico Valutazione dei Modelli Definizioni di errore I L’errore vero dell’ipotesi h rispetto alla funzione target f ed alla distribuzione D è la probabilità che h misclassificano un’istanza presa a caso seguendo D: errD (h) ≡ Px ∈D [f (x) 6= h(x)] L’errore sul campione di h rispetto ad f ed al campione di dati S è la proporzione di esempi che h misclassifica: errS (h) ≡ 1X n x ∈S δ(f (x), h(x)) dove δ(f (x), h(x)) vale 1 se f (x) 6= h(x) e 0 altrimenti Quanto si riesce a stimare bene errD (h) con errS (h)? Corso di Apprendimento Automatico Valutazione dei Modelli Definizioni di errore II In caso di regressione (f , h a valori reali) Si definisce una loss function: L(f (x), h(x)) Tipicamente: (f (x) − h(x))2 errore quadratico L(f (x), h(x)) = |f (x) − h(x)| errore assoluto Quindi l’errore di generalizzazione sarà: errD (h) ≡ E[L(f (x), h(x))] Mentre l’errore di training è: errS (h) ≡ 1X n x ∈S Corso di Apprendimento Automatico L(f (x), h(x)) Valutazione dei Modelli Problemi di stima dell’errore I bias alto bassa varianza errore di predizione bias basso alta varianza alta complessità del modello bassa errS (h) non è una buona stima di errD (h): decresce al crescere della complessità del modello, arrivando a 0 per modelli complessi Tali modelli, però risultano sovradattati (overfit) sul campione di training: scarsa generalizzazione Corso di Apprendimento Automatico Valutazione dei Modelli Problemi di stima dell’errore II In caso i dati abbondino: suddivisione del dataset in 3 parti: training set: per costruire i modelli; validation set: per stimare l’errore di predizione al fine di selezionare il modello migliore; test set: per stabilire l’errore di generalizzazione del modello finale scelto Idealmente, il test set andrebbe preservato ed usato solo alla fine del processo Se si usasse il test set per la scelta del modello con il minimo errore di test, allora sottostimerebbe il vero errore Suddivisione tipica: training 50% Corso di Apprendimento Automatico validation 25% Valutazione dei Modelli test 25% Problemi di stima dell’errore III Bias Se S è il training set, errS (h) è una stima troppo ottimista (biased) bias ≡ E[errS (h)] − errD (h) Per una stima non falsata (unbiased), h e S devono essere scelti in modo indipendente Varianza Anche con un campione S falsato, errS (h) potrebbe nondimeno differire da errD (h) Corso di Apprendimento Automatico Valutazione dei Modelli Bias vs. Varianza I Supponendo che h(x) = f (x) + ϵ con E(ϵ) = 0 e Var (ϵ) = σϵ2 allora l’errore atteso sarà: errD (h(x)) = E[L(h(x), f (x))] = E (h(x) − f (x))2 = σϵ2 + (E[h(x)] − f (x))2 + E (h(x) − E[h(x)])2 = σϵ2 + [Bias(h(x))]2 + Var [h(x)] = errore irriducibile + Bias2 + Varianza Adottando una loss function 0/1 il compromesso bias/varianza si comporta diversamente Corso di Apprendimento Automatico Valutazione dei Modelli Bias vs. Varianza II S1 S2 S3 Corso di Apprendimento Automatico Valutazione dei Modelli Stimatori Esperimento: 1 scegliere il campione S di cardinalità n secondo la distribuzione D 2 misurare errS (h) errS (h) è una variabile aleatoria (ossia, il risultato di esperimento) errS (h) è uno stimatore non falsato (unbiased) di errD (h) Dato il valore di errS (h) osservato, cosa si può concludere su errD (h) ? Corso di Apprendimento Automatico Valutazione dei Modelli Intervalli di confidenza I SE S contiene n esempi, scelti indipendentemente da h e da ognuno degli altri n ≥ 30 ALLORA con probabilità di circa il 95%, errD (h) cade nell’intervallo È errS (h) ± 1.96 Corso di Apprendimento Automatico errS (h)(1 − errS (h)) n Valutazione dei Modelli Intervalli di confidenza II SE S contiene n esempi, scelti indipendentemente da h e da ognuno degli altri n ≥ 30 ALLORA con probabilità di circa N%, errD (h) cade nell’intervallo È errS (h)(1 − errS (h)) errS (h) ± zN n dove N%: zN : 50% 0.67 68% 1.00 80% 1.28 Corso di Apprendimento Automatico 90% 1.64 95% 1.96 Valutazione dei Modelli 98% 2.33 99% 2.58 Predire le prestazioni Assumendo che il tasso di errore stimato sia del 25% Quant’è vicino questo valore al tasso d’errore reale ? dipende dal numero di dati La predizione è come il lancio di una monetina (falsata) ad es. testa sta per ”successo”, croce sta per ”errore” In statistica, una sequenza di eventi indipendenti come questa si chiama processo di Bernoulli La teoria della statistica fornisce intervalli di confidenza per la vera proporzione nascosta Corso di Apprendimento Automatico Valutazione dei Modelli errS (h) come variabile aleatoria Ripetere l’esperimento con diversi campioni S estratti casualmente (di card. n) Probabilità di osservare r esempi misclassificati: P(r ) = n! r !(n − r )! errD (h)r (1 − errD (h))n−r Corso di Apprendimento Automatico Valutazione dei Modelli Distribuzione binomiale Probabilità P(r ) di r teste in n lanci (con p = P(testa)) P(r ) = n! r !(n − r )! pr (1 − p)n−r Valore atteso, o media, di X : n X E[X ] ≡ rP(r ) = np r =0 Varianza di X : Var (X ) ≡ E[(X − E[X ])2 ] = np(1 − p) Deviazione standard di X : p p σX ≡ E[(X − E[X ])2 ] = np(1 − p) Corso di Apprendimento Automatico Valutazione dei Modelli Approssimazione della binomiale tramite normale I errS (h) segue una distribuzione Binomiale, con media: μerrS (h) = errD (h) deviazione standard: È σerrS (h) = errD (h)(1 − errD (h)) n Per approssimare con una Normale media: μerrS (h) = errD (h) deviazione standard: È σerrS (h) ≈ Corso di Apprendimento Automatico errS (h)(1 − errS (h)) n Valutazione dei Modelli Approssimazione della binomiale tramite normale II Per usare la normale N(0, 1) si riduce la var. casuale X in modo da avere una media pari a 0 e varianza unitaria: trasformazione di X : f −p p p(1 − p)/ N (ossia si sottrae la media e si divide per la dev. standard) Equazione risultante P[−z ≤ p f −p p(1 − p)/ N Corso di Apprendimento Automatico ≤ z] = c Valutazione dei Modelli Approssimazione della binomiale tramite normale III Soluzione: p=X + z2 2N È ± X N Corso di Apprendimento Automatico − X2 N + z2 4N 2 / Valutazione dei Modelli 1+ z2 N Distribuzione normale I p(x) = p 1 2πσ 2 exp − 1 2 x −μ 2 σ La probabilità che X cada nell’intervallo [a, b] è data da Zb p(x)dx a Corso di Apprendimento Automatico Valutazione dei Modelli Distribuzione normale II Valore atteso o media di X : E[X ] = μ Varianza di X : Var (X ) = σ 2 Deviazione standard di X : σX = σ Corso di Apprendimento Automatico Valutazione dei Modelli Distribuzione normale III L’80% della superficie (probabilità) cade nell’intervallo μ ± 1.28σ N% della superficie (probabilità) cade nell’intervallo μ ± zN σ N% zN 50% 0.67 68% 1.00 80% 1.28 Corso di Apprendimento Automatico 90% 1.64 95% 1.96 Valutazione dei Modelli 98% 2.33 99% 2.58 Intervalli di confidenza I SE S contiene n esempi, estratti in modo indipendente da gli altri e da h n ≥ 30 ALLORA con circa il 95% di probabilità, errS (h) ricade nell’intervallo È errD (h) ± 1.96 Corso di Apprendimento Automatico errD (h)(1 − errD (h)) n Valutazione dei Modelli Intervalli di confidenza II Equivalentemente, errD (h) ricade nell’intervallo È errS (h) ± 1.96 errD (h)(1 − errD (h)) n che è approssimativamente p errS (h) ± 1.96 errS (h)(1 − errS (h))/ n Corso di Apprendimento Automatico Valutazione dei Modelli Teorema del Limite Centrale Si considera un insieme di variabili indipendenti ed identicamente distribuite (i.i.d.) Y1 . . . Yn , che seguono una distribuzione arbitraria con media μ e varianza finita σ 2 Media campionaria n 1X Yi Ȳ ≡ n i=1 Theorem (Teorema del Limite Centrale) Al tendere di n → ∞, la distribuzione di Ȳ si avvicina alla 2 Normale, con media μ e varianza σn ossia, la somma di un gran numero di variabili i.i.d. segue una distribuzione che è approssimativamente Normale Corso di Apprendimento Automatico Valutazione dei Modelli Calcolo degli intervalli di confidenza 1 Si considera il parametro p da stimare 2 Scegliere uno stimatore errD (h) errS (h) 3 Determinare la distribuzione che segue lo stimatore errS (h) segue una distribuzione Binomiale, approssimata da una Normale quando n ≥ 30 4 Trovare l’intervallo [L, U] tale che il N% della massa di probabilità ricada nell’intervallo Si usa la tavola dei valori di zN Corso di Apprendimento Automatico Valutazione dei Modelli Valutare ipotesi differenti I Testare h1 sul campione S1 e h2 su S2 1 Scegliere il parametro da stimare d ≡ errD (h1 ) − errD (h2 ) 2 Scegliere uno stimatore d̂ ≡ errS1 (h1 ) − errS2 (h2 ) 3 Determinare la distribuzione che regola lo stimatore È errS1 (h1 )(1 − errS1 (h1 )) errS2 (h2 )(1 − errS2 (h2 )) σd̂ ≈ + n1 n2 Corso di Apprendimento Automatico Valutazione dei Modelli Valutare ipotesi differenti II 4 Trovare l’intervallo [L, U] tale che l’N% della massa di probabilità ricada nell’intervallo È d̂ ± zN errS1 (h1 )(1 − errS1 (h1 )) n1 Corso di Apprendimento Automatico + errS2 (h2 )(1 − errS2 (h2 )) Valutazione dei Modelli n2 t-Test accoppiato per confrontare hA e hB I 1 Partizionare i dati in k test set disgiunti T1 , T2 , . . . , Tk di pari cardinalità (≥ 30) 2 Per i da 1 a k , eseguire: δi ← errTi (hA ) − errTi (hB ) 3 Restituire il valore δ̄, dove δ̄ ≡ Corso di Apprendimento Automatico k 1X k δi i=1 Valutazione dei Modelli t-Test accoppiato per confrontare hA e hB II Stima dell’intervallo per d con confidenza dell’N% : δ̄ ± tN,k −1 sδ̄ v u u sδ̄ ≡ t 1 k (k − 1) k X (δi − δ̄)2 i=1 Nota: δi ha approssimativamente una distribuzione Normale Corso di Apprendimento Automatico Valutazione dei Modelli Confronto degli algoritmi LA e LB I Cosa si deve stimare: ES⊂D [errD (LA (S)) − errD (LB (S))] dove L(S) è l’ipotesi in output da L sul training set S ossia, la differenza attesa, in termini di errore reale, tra le ipotesi prodotte dagli algoritmi LA e LB , addestrati su campioni di training casuali S costruiti secondo la distribuzione D Corso di Apprendimento Automatico Valutazione dei Modelli Confronto degli algoritmi LA e LB II Ma, dato il numero limitato dei dati D0 , qual è un buono stimatore ? Si potrebbe partizionare D0 in un training set S e un test set T0 , e quindi misurare errT0 (LA (S0 )) − errT0 (LB (S0 )) Ancor meglio se si ripete la procedura molte volte e si mediano i risultati Corso di Apprendimento Automatico Valutazione dei Modelli Confronto degli algoritmi LA e LB III 1 2 Partizionare i dati D0 in k test set disgiunti T1 , T2 , . . . , Tk di pari cardinalità (≥ 30) Per i da 1 a k , eseguire: Usare Ti come test set e i dati rimanenti per il training set Si Si ← {D0 − Ti } hA ← LA (Si ) hB ← LB (Si ) δi ← errTi (hA ) − errTi (hB ) 3 Restituire il valore δ̄, dove δ̄ ≡ Corso di Apprendimento Automatico k 1X k δi i=1 Valutazione dei Modelli Confronto degli algoritmi LA e LB IV Si noti che si dovrebbe usare il t-test accoppiato su δ̄ per ottenere un intervallo di confidenza Ma questo non è del tutto corretto poichè i training set in questo algoritmo non sono indipendenti (si sovrappongono) È più corretto considerare l’output dell’algoritmo come una stima di ES⊂D0 [errD (LA (S)) − errD (LB (S))] anizichè di ES⊂D [errD (LA (S)) − errD (LB (S))] a volta anche l’approssimazione può almeno dare un’idea Corso di Apprendimento Automatico Valutazione dei Modelli Stima Holdout Che fare se i dati sono pochi ? Il metodo holdout riserva un certo quantitativo per il test e usa il resto per il training In genere: 1/ 3 per il test, 2/ 3 per il training Problema: i campioni potrebbero non essere rappresentativi Ad es. la classe target potrebbe mancare nei dati di test Una versione avanzata usa la stratificazione Assicura che ogni classe sia rappresentata in proporzione equa (approssimativamente) in entrambi i sottoinsiemi Corso di Apprendimento Automatico Valutazione dei Modelli Metodo di Holdout Ripetuto La stima Holdout può essere resa più affidabile ripetendo il processo con differenti sottoinsiemi di dati Ad ogni iterazione, si seleziona casualmente una certa proporzione è per il training (possibilmente con la stratificazione) I tassi d’errore nelle diverse iterate sono mediati in modo da produrre un tasso globale Questo metodo si dice anche holdout ripetuto Ancora non rappresenta il metodo ottimo: i diversi test set si sovrappongono Come prevenire tale sovrapposizione ? Corso di Apprendimento Automatico Valutazione dei Modelli Cross-validation I La Cross-validation evita le sovrapposizioni di test set 1 2 primo passo: dividere i dati in k sottoinsiemi di pari cardinalità secondo passo: usare un sottoinsieme alla volta per il test, ed il resto per il training 1: train 2: train 3: test 4: train 5: train 6: train Si chiama anche k -fold Cross-Validation (CV) Le varie stime dell’errore sono mediate per produrre una stima dell’errore globale Corso di Apprendimento Automatico Valutazione dei Modelli Cross-validation II Stima dell’errore CV = n 1X n L(f (xi ), h−π(i) (xi )) i=1 dove π : {1, . . . , n} 7−→ {1, . . . , k } fa da indice della partizione nella quale l’i-esimo esempio è casualmente assegnato e h−p viene costruita togliendo la p-esima parte Spesso i sottoinsiemi sono stratificati prima di eseguire il metodo di cross-validation In caso di pochi esempi, si può usare la leave-one-out CV: il numero di fold corrisponde a quello degli esempi k = n Corso di Apprendimento Automatico Valutazione dei Modelli Cross-validation III cv errore misclassificazione err dim. sottoinsieme Corso di Apprendimento Automatico Valutazione dei Modelli Bootstrap La CV usa il campionamento senza rimpiazzo: una stessa istanza, una volta selezionata, non può figurare di nuovo in un particolare training/test set Per costituire il training set, il metodo di bootstrap usa il campionamento con rimpiazzo Training set: campionare un dataset di n istanze n volte con rimpiazzo in modo da costituire un nuovo dataset di n istanze Testing set: usare le istanze dal dataset originario che non figurino nel training set Corso di Apprendimento Automatico Valutazione dei Modelli 0.632 Bootstrap Questo metodo si chiama anche 0.632 bootstrap Una data istanza ha probabilità pari a 1 − 1/ n di non essere selezionata Pertanto la probabilità di finire nel test set sarà: 1− 1 n n ≈ e −1 ≈ 0.368 Ciò significa che il training set conterrà approssimativamente il 63.2% delle istanze Corso di Apprendimento Automatico Valutazione dei Modelli Stima dell’errore nel metodo Bootstrap La stima dell’errore sul test set sarà molto pessimistica Addestramento solo su circa il 63% delle istanze Pertanto, Si combina tale errore con quello di rimpiazzo: err = 0.632 × errtest + 0.368 × errtraining Notare che errtraining ha un peso inferiore di errtest Si ripete il processo diverse volte con differenti campioni (con rimpiazzo) Infine, si mediano i risultati Corso di Apprendimento Automatico Valutazione dei Modelli Osservazioni sul metodo di Bootstrap È tra i metodi migliori quando i dati sono limitati Problemi, ad es. si consideri un dataset casuale un classificatore che semplicemente memorizzi gli esempi avrà errtraining = 0% e errtest =∼ 50% la stima del metodo di bootstrap sarà: 0.632 × 50% + 0.368 × 0% ≈ 31.6% mentre l’errore vero atteso è del 50% Si ricorre in tali casi a metodi più complessi come il Bootstrap 0.632+ vedere anche metodo Jacknife Corso di Apprendimento Automatico Valutazione dei Modelli Altri metodi Lift chart Curve ROC Altre misure Corso di Apprendimento Automatico Valutazione dei Modelli Lift chart I Metodo grafico per il confronto tra diversi scenari Si crea una tabella ordinando le istanze secondo la probabilità della previsione di positività Probabilità prevista .95 .94 .93 .92 .88 .87 .. . Corso di Apprendimento Automatico Classificazione reale + + + + .. . Valutazione dei Modelli Lift chart II Si costruisce un grafico con: sulle ascisse la dim. del campione e sulle ordinate il numero TP di veri positivi Corso di Apprendimento Automatico Valutazione dei Modelli Curve ROC I Le curve ROC sono simili alle lift charts ROC sta per ”Receiver Operating Characteristic” Si usano in teoria del segnale per mostrare il compromesso tra tasso di successi e falsi allarmi su canale rumoroso Differenze con le lift chart: sulle ordinate: percentuale dei veri positivi TP nel campione sulle ascisse: percentuale dei falsi positivi FP nel campione Corso di Apprendimento Automatico Valutazione dei Modelli Curve ROC II uso della cross validation set di dati di test generico Corso di Apprendimento Automatico Valutazione dei Modelli Curve ROC III Per ricavare la ROC curve dalla CV: Raccogliere le probabilità delle istanze nelle ripetizioni (fold) di test Ordinare le istanze secondo le loro probabilità Un’altro modo consiste nel generare una ROC curve per ogni fold e poi fare una media Corso di Apprendimento Automatico Valutazione dei Modelli Curve ROC IV campione piccolo: usare il metodo A campione grande: usare il metodo B caso intermedio: scegliere tra A e B usando le probabilità Corso di Apprendimento Automatico Valutazione dei Modelli Altre misure I Dall’Information Retrieval Precision: percentuale di doc. ritrovati che sono rilevanti TP TP + FP Recall: percentuale di doc. rilevanti che sono ritrovati TP TP + FN Le curve di precision e recall hanno una forma iperbolica Corso di Apprendimento Automatico Valutazione dei Modelli Altre misure II Misure riassuntive mediazione della precision a diversi valori della recall (es. 20%, 50% and 80% three-point average recall) F1 -measure 2 × recall × precision recall + precision Sensitivity × Specificity TP TP + FN × TN FP + TN Area sotto la curva ROC (AUC): probabilità che un’istanza positiva scelta casualmente si posizioni al di sopra di una negativa (sempre presa a caso) Corso di Apprendimento Automatico Valutazione dei Modelli Fonti R. Duda, P. Hart, D. Stork: Pattern Classification, Wiley T. Hastie, R. Tibshirani, J. Friedman: The Elements of Statistical Learning, Springer T. M. Mitchell: Machine Learning, McGraw Hill I. Witten & E. Frank: Data Mining: Practical Machine Learning Tools and Techniques, Morgan Kaufmann Corso di Apprendimento Automatico Valutazione dei Modelli