64
Valutazione dei Modelli Corso di Apprendimento Automatico Laurea Magistrale in Informatica Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari 28 gennaio 2009 Corso di Apprendimento Automatico Valutazione dei Modelli

Valutazione dei Modelli

Embed Size (px)

DESCRIPTION

Quant’è predittivo il modello appreso? L’errore sui dati di training non è un buon indicatore della performance su dati futuri Se si è interessati alla performance sulla generalizzazione, ci sono ragioni per preferire un classificatore o un algoritmo piuttosto che un altro ? 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|

Citation preview

Page 1: Valutazione dei Modelli

Valutazione dei Modelli

Corso di Apprendimento AutomaticoLaurea Magistrale in Informatica

Nicola Fanizzi

Dipartimento di InformaticaUniversità degli Studi di Bari

28 gennaio 2009

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 2: Valutazione dei Modelli

Sommario

Principi di conservazione ed indeterminazioneErrore, Bias e VarianzaIntervalli di confidenza per l’errore osservato dell’ipotesi

StimatoriDistribuzioni: Binomiale, NormaleTeorema del Limite Centralet-Test a coppie

Confronto di algoritmi di apprendimentoMetodi di campionamento per la stimaAltri metodi

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 3: Valutazione dei Modelli

Valutazione

Quant’è predittivo il modello appreso?L’errore sui dati di training non è un buon indicatore dellaperformance su dati futuri

Altrimenti 1-NN sarebbe un classificatore ottimaleSoluzione semplice usabile se si hanno a disposizionemolti esempi classificati:

Suddividere i dati in training e test setTuttavia: i dati (soprattutto se classificati) sono in genere innumero limitato

Si necessitano tecniche più sofisticate

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 4: Valutazione dei Modelli

Confronto di algoritmi

Domande1 Se si è interessati alla performance sulla generalizzazione,

ci sono ragioni per preferire un classificatore o unalgoritmo piuttosto che un altro ?

2 Se non si fanno assunzioni supplementari,ci si può aspettare che un algoritmo sia globalmentesuperiore (o inferiore) rispetto agli altri ?

3 Si può trovare un algoritmo che risulti in generale superiore(o inferiore) ad una procedura di classificazione casuale ?

Risposte1-2-3: NO

L’apparente superiorità di un algoritmo dipendedal particolare problema e dalla distribuzione dei dati

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 5: Valutazione dei Modelli

Principio di conservazione dell’errore I

Supponendo di lavorare nel discreto,sia P(h) la probab. a priori di h ∈ H esia P(h|S) la probab. di costruire h in base al campione S,con n = |S|

Errore atteso:

E [err |S] =∑h,f

∑x 6∈S

P(x)[1− δ(f (x),h(x))]P(h|S)P(f |S)

dato S, è correlato alla somma degli input, pesati dalla loroprobabilità P(x), e all’allineamento della risposta dell’ipotesicon la risposta corretta, pesati, risp., da P(h|S) e P(f |S)

Quindi: non conoscendo P(f |S) a priori, si può concluderepoco sulla performance dell’alg. di classificazione P(h|S)

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 6: Valutazione dei Modelli

Principio di conservazione dell’errore IIErrore atteso off-training del k -esimo algoritmo:

E [errk |f ,n] =∑x 6∈S

P(x)[1− δ(f (x),hk (x))]P(hk (x)|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” perla generalizzazione:

per ogni alg. di apprendimento, la somma delle prestazionirispetto a tutte le possibili funzioni obiettivo è nulla

più formalmente...

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 7: 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 dalloro 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

Page 8: Valutazione dei Modelli

No Free Lunch – osservazioni I

1 Stesso errore se si media su tutte le funzioni possibili:∑f

∑S

P(S|f )[E(err1|f ,n)− E(err2|f ,n)] = 0

se le funzioni sono equiprobabili, allora in generale unalgoritmo (buono) non supera mai un altro (cattivo)

2 Fissato S, nessun algoritmo porta a migliorare l’erroreoff-training rispetto agli altri:∑

f

[E(err1|f ,D)− E(err2|f ,D)] = 0

3 come 1. per distribuzioni delle funzioni target non uniformi4 come 2. per distribuzioni delle funzioni target non uniformi

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 9: Valutazione dei Modelli

No Free Lunch – osservazioni II

poss

ibili

impo

ssib

ili spaz

i dei

pro

blem

i+

sopr

a la

med

ia-

sotto

la m

edia

0 in

med

ia

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

Page 10: Valutazione dei Modelli

Similarità e indeterminazione I

Supponiamo di lavorare ancora nel discreto in logicaproposizionale

Dati due esempi, supponiamo di usare un numero finitofeature (e quindi di pattern) per descriverli

In assenza di informazione a priori sulla distribuzione, unamisura di similarità tra esempi potrebbe semplicementecontare il numero di pattern condivisi

Si stabilisce un risultato di indeterminazione basato sullauguale similarità di tutti gli esempi, se non si fannoassunzioni ulteriori in base alla conoscenza di fondo suldominio

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 11: 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

Page 12: Valutazione dei Modelli

Similarità e indeterminazione IIILe feature fi corrispondono ad insiemi elementari,le formule / pattern ad insiemi complessi

Diagramma generale per un problema con 2 feature

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

Page 13: Valutazione dei Modelli

Similarità e indeterminazione IV

Rango (rank) r di un pattern:numero di elementi che descrive/contieneNB. rank 0 (

`40

´= 0): ∅ = f1 ∧ ¬f1 ∨ f2 ∧ ¬f2

Rank1

`41

´= 4:

{x1} = f1∧¬f2 {x2} = f1∧ f2 {x3} = ¬f1∧ f2 {x4} = ¬(f1∨ f2)2

`42

´= 6:

{x1, x2} = f1 {x1, x3} = f1 ∧ ¬f2 ∨ ¬f1 ∧ f2 {x1, x4} = ¬f2{x2, x3} = f2 {x2, x4} = (f1 ∧ f2) ∨ ¬(f1 ∨ f2) {x3, x4} = ¬f1

3`4

3

´= 4:

{x1, x2, x3} = f1 ∨ f2 {x1, x2, x4} = f1 ∨ ¬f2{x1, x3, x4} = ¬(f1 ∧ f2) {x2, x3, x4} = ¬f1 ∨ f2

4`4

4

´= 1:

{x1, x2, x3, x4} = > = f1 ∨ ¬f1 ∨ f2 ∨ ¬f2

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 14: Valutazione dei Modelli

Similarità e indeterminazione V

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

1

)= d − 2 di rank 3, . . .

In generale, dato r (r ≤ d), # pattern condivisi:(d−1

r−2

)Per cui il numero totale di predicati condivisi risulta:

d∑r=1

(d − 2r − 2

)= (1 + 1)d−2 = 2d−2

indipendentemente dalla scelta delle feature / pattern

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 15: 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 risultacostante 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

Page 16: Valutazione dei Modelli

Definizioni di errore I

L’errore vero dell’ipotesi h rispetto alla funzione target f edalla distribuzione D è la probabilità che h misclassificanoun’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 didati S è la proporzione di esempi che h misclassifica:

errS(h) ≡ 1n

∑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

Page 17: 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:

L(f (x),h(x)) =

{(f (x)− h(x))2 errore quadratico|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) ≡ 1n

∑x∈S

L(f (x),h(x))

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 18: Valutazione dei Modelli

Problemi di stima dell’errore I

complessità del modello

erro

re d

i pre

dizi

one

bias altobassa varianza

bias bassoalta varianza

alta bassa

errS(h) non è una buona stima di errD(h): decresce al crescere dellacomplessità 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

Page 19: 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 diselezionare il modello migliore;

test set: per stabilire l’errore di generalizzazione delmodello finale scelto

Idealmente, il test set andrebbe preservato ed usato soloalla fine del processoSe si usasse il test set per la scelta del modello con ilminimo errore di test, allora sottostimerebbe il vero errore

Suddivisione tipica:training validation test

50% 25% 25%

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 20: Valutazione dei Modelli

Problemi di stima dell’errore III

BiasSe 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

VarianzaAnche con un campione S falsato,errS(h) potrebbe nondimeno differire da errD(h)

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 21: 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ε + [Eh(x)− f (x)]2 + {E [h(x)− Eh(x)]}2

= σ2ε + [Bias(h(x))]2 + Var [h(x)]

= Errore irriducibile + Bias2 + Varianza

Adottando una loss function 0/1 il compromesso bias/varianzasi comporta diversamente

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 22: Valutazione dei Modelli

Bias vs. Varianza II

S1

S2

S3

Osservazionibias basso: in media, h rappresenta una buona stima di fusando il campione Svarianza bassa: in media, le stime h di f non cambianomolto al variare del campione S

err

bias

var

0/1

loss

func

tion

sq. l

oss

func

tion

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 23: Valutazione dei Modelli

Stimatori

Esperimento:1 scegliere il campione S di cardinalità n

secondo la distribuzione D2 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

Page 24: 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

√errS(h)(1− errS(h))

n

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 25: Valutazione dei Modelli

Intervalli di confidenza II

SES contiene n esempi,scelti indipendentemente da h e da ognuno degli altrin ≥ 30

ALLORAcon probabilità di circa N%,errD(h) cade nell’intervallo

errS(h)± zN

√errS(h)(1− errS(h))

n

doveN%: 50% 68% 80% 90% 95% 98% 99%zN : 0.67 1.00 1.28 1.64 1.96 2.33 2.58

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 26: Valutazione dei Modelli

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 datiLa 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 sichiama processo di Bernoulli

La teoria della statistica fornisce intervalli di confidenza perla vera proporzione nascosta

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 27: Valutazione dei Modelli

errS(h) come variabile aleatoria

Ripetere l’esperimento con diversi campioni S estratticasualmente (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

Page 28: 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 :

E [X ] ≡n∑

r=0

rP(r) = np

Varianza di X :

Var(X ) ≡ E [(X − E [X ])2] = np(1− p)

Deviazione standard di X :

σX ≡√

E [(X − E [X ])2] =√

np(1− p)

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 29: 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 Normalemedia: µerrS(h) = errD(h)

deviazione standard:

σerrS(h) ≈√

errS(h)(1− errS(h))

n

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 30: Valutazione dei Modelli

Approssimazione della binomiale tramite normale IIPer usare la normale N(0,1) si riduce la var. casuale X inmodo da avere una media pari a 0 e varianza unitaria:

trasformazione di X :

f − p√p(1− p)/N

(ossia si sottrae la media e si divide per la dev. standard)Equazione risultante

P[−z ≤ f − p√p(1− p)/N

≤ z] = c

Soluzione:

p = X +z2

2N±√

XN− X 2

N+

z2

4N2 /

(1 +

z2

N

)

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 31: Valutazione dei Modelli

Distribuzione normale I

p(x) =1√

2πσ2exp

[−1

2

(x − µσ

)2]

La probabilità che X cada nell’intervallo [a,b] è data da∫ b

ap(x)dx

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 32: 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

Page 33: 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% 50% 68% 80% 90% 95% 98% 99%zN 0.67 1.00 1.28 1.64 1.96 2.33 2.58

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 34: Valutazione dei Modelli

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

√errD(h)(1− errD(h))

n

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 35: 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

errS(h)± 1.96√

errS(h)(1− errS(h))/n

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 36: Valutazione dei Modelli

Teorema del Limite Centrale

Si considera un insieme di variabili indipendenti edidenticamente distribuite (i.i.d.) Y1 . . .Yn, che seguono unadistribuzione arbitraria con media µ e varianza finita σ2

Media campionaria

Y ≡ 1n

n∑i=1

Yi

Theorem (Teorema del Limite Centrale)

Al tendere di n→∞, la distribuzione di Y si avvicina allaNormale, con media µ e varianza σ2

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

Page 37: Valutazione dei Modelli

Calcolo degli intervalli di confidenza

1 Si considera il parametro p da stimareerrD(h)

2 Scegliere uno stimatoreerrS(h)

3 Determinare la distribuzione che segue lo stimatoreerrS(h) segue una distribuzione Binomiale,approssimata da una Normale quando n ≥ 30

4 Trovare l’intervallo [L,U] tale cheil N% della massa di probabilità ricada nell’intervallo

Si usa la tavola dei valori di zN

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 38: 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

σd ≈

√errS1(h1)(1− errS1(h1))

n1+

errS2(h2)(1− errS2(h2))

n2

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 39: Valutazione dei Modelli

Valutare ipotesi differenti II

4 Trovare l’intervallo [L,U] tale che l’N% della massa diprobabilità ricada nell’intervallo

d±zN

√errS1(h1)(1− errS1(h1))

n1+

errS2(h2)(1− errS2(h2))

n2

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 40: Valutazione dei Modelli

t-Test accoppiato per confrontare hA e hB I

1 Partizionare i dati in k test set disgiunti T1,T2, . . . ,Tk dipari cardinalità (≥ 30)

2 Per i da 1 a k , eseguire:

δi ← errTi (hA)− errTi (hB)

3 Restituire il valore δ, dove

δ ≡ 1k

k∑i=1

δi

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 41: 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δ

sδ ≡

√√√√ 1k(k − 1)

k∑i=1

(δi − δ)2

Nota: δi ha approssimativamente una distribuzione Normale

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 42: 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 leipotesi prodotte dagli algoritmi LA e LB, addestrati su campionidi training casuali S costruiti secondo la distribuzione D

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 43: 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 testset T0, e quindi misurare

errT0(LA(S0))− errT0(LB(S0))

Ancor meglio se si ripete la procedura molte volte e simediano i risultati

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 44: Valutazione dei Modelli

Confronto degli algoritmi LA e LB III

1 Partizionare i dati D0 in k test set disgiunti T1,T2, . . . ,Tk dipari cardinalità (≥ 30)

2 Per i da 1 a k , eseguire:Usare Ti come test set e i dati rimanenti per il training set SiSi ← {D0 − Ti}hA ← LA(Si )hB ← LB(Si )δi ← errTi (hA)− errTi (hB)

3 Restituire il valore δ, dove

δ ≡ 1k

k∑i=1

δi

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 45: Valutazione dei Modelli

Confronto degli algoritmi LA e LB IV

Si noti che si dovrebbe usare il t-test accoppiato su δ perottenere un intervallo di confidenza

Ma questo non è del tutto corretto poichè i training set in questoalgoritmo non sono indipendenti (si sovrappongono)

È più corretto considerare l’output dell’algoritmo come unastima 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

Page 46: Valutazione dei Modelli

Stima Holdout

Che fare se i dati sono pochi ?Il metodo holdout riserva un certo quantitativo per il test eusa il resto per il training

In genere: 1/3 per il test, 2/3 per il trainingProblema: i campioni potrebbero non essererappresentativi

Ad es. la classe target potrebbe mancare nei dati di testUna versione avanzata usa la stratificazione

Assicura che ogni classe sia rappresentata in proporzioneequa (approssimativamente) in entrambi i sottoinsiemi

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 47: Valutazione dei Modelli

Metodo di Holdout Ripetuto

La stima Holdout può essere resa più affidabileripetendo il processo con differenti sottoinsiemi di dati

Ad ogni iterazione, si seleziona casualmente una certaproporzione è per il training (possibilmente con lastratificazione)I tassi d’errore nelle diverse iterate sono mediati in modo daprodurre un tasso globale

Questo metodo si dice anche holdout ripetutoAncora non rappresenta il metodo ottimo:i diversi test set si sovrappongono

Come prevenire tale sovrapposizione ?

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 48: Valutazione dei Modelli

Cross-validation I

La Cross-validation evita le sovrapposizioni di test set1 primo passo: dividere i dati in k sottoinsiemi di pari

cardinalità2 secondo passo: usare un sottoinsieme alla volta per il test,

ed il resto per il training

1: 2: 3: 4: 5: 6:train train test train train train

Si chiama anche k -fold Cross-Validation (CV)

Le varie stime dell’errore sono mediate per produrre unastima dell’errore globale

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 49: Valutazione dei Modelli

Cross-validation II

Stima dell’errore

CV =1n

n∑i=1

L(f (xi),h−π(i)(xi))

dove π : {1, . . . ,n} 7−→ {1, . . . , k} fa da indice della partizionenella quale l’i-esimo esempio è casualmente assegnato eh−p viene costruita togliendo la p-esima parte

Spesso i sottoinsiemi sono stratificati prima di eseguire ilmetodo 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

Page 50: Valutazione dei Modelli

Cross-validation III

dim. sottoinsieme

erro

re m

iscl

assi

ficaz

ione

cverr

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 51: 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 setPer costituire il training set, il metodo di bootstrap usa ilcampionamento con rimpiazzo

Training set:campionare un dataset di n istanze n volte con rimpiazzo inmodo da costituire un nuovo dataset di n istanzeTesting set:usare le istanze dal dataset originario che non figurino neltraining set

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 52: Valutazione dei Modelli

0.632 Bootstrap

Questo metodo si chiama anche 0.632 bootstrapUna data istanza ha probabilità pari a 1− 1/n di nonessere selezionataPertanto la probabilità di finire nel test set sarà:(

1− 1n

)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

Page 53: Valutazione dei Modelli

Stima dell’errore nel metodo Bootstrap

La stima dell’errore sul test set sarà molto pessimisticaAddestramento 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

Page 54: Valutazione dei Modelli

Osservazioni sul metodo di Bootstrap

È tra i metodi migliori quando i dati sono limitatiProblemi,

ad es. si consideri un dataset casualeun classificatore che semplicemente memorizzi gli esempiavrà 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 ilBootstrap 0.632+

vedere anche metodo Jacknife

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 55: Valutazione dei Modelli

Altri metodi

Lift chartCurve ROCAltre misure

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 56: Valutazione dei Modelli

Lift chart I

Metodo grafico per il confronto tra diversi scenari

Si crea una tabella ordinando le istanze secondo laprobabilità della previsione di positività

Probabilità prevista Classificazione reale.95 +.94 +.93 -.92 +.88 -.87 +

......

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 57: Valutazione dei Modelli

Lift chart IISi costruisce un grafico con:

sulle ascisse la dim. del campione esulle ordinate il numero TP di veri positivi

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 58: Valutazione dei Modelli

Curve ROC I

Le curve ROC sono simili alle lift chartsROC sta per ”Receiver Operating Characteristic”

Si usano in teoria del segnale per mostrare ilcompromesso tra tasso di successi e falsi allarmi sucanale rumorosoDifferenze con le lift chart:

sulle ordinate: percentuale dei veri positivi TP nel campionesulle ascisse: percentuale dei falsi positivi FP nel campione

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 59: Valutazione dei Modelli

Curve ROC II

uso della cross validation

set di dati di test generico

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 60: 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 ognifold e poi fare una media

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 61: Valutazione dei Modelli

Curve ROC IV

campione piccolo: usare il metodo Acampione grande: usare il metodo Bcaso intermedio: scegliere tra A e B usando le probabilità

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 62: Valutazione dei Modelli

Altre misure I

Dall’Information Retrieval

Precision: percentuale di doc. ritrovati che sono rilevanti

TPTP + FP

Recall: percentuale di doc. rilevanti che sono ritrovati

TPTP + FN

Le curve di precision e recall hanno una forma iperbolica

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 63: Valutazione dei Modelli

Altre misure II

Misure riassuntivemediazione della precision a diversi valori della recall(es. 20%, 50% and 80% three-point average recall)F1-measure

2× recall × precisionrecall + precision

Sensitivity × Specificity

TPTP + FN

× TNFP + TN

Area sotto la curva ROC (AUC):probabilità che un’istanza positiva scelta casualmente siposizioni al di sopra di una negativa (sempre presa a caso)

Corso di Apprendimento Automatico Valutazione dei Modelli

Page 64: Valutazione dei Modelli

Fonti

R. Duda, P. Hart, D. Stork: Pattern Classification, WileyT. Hastie, R. Tibshirani, J. Friedman: The Elements ofStatistical Learning, SpringerT. M. Mitchell: Machine Learning, McGraw HillI. Witten & E. Frank: Data Mining: Practical MachineLearning Tools and Techniques, Morgan Kaufmann

Corso di Apprendimento Automatico Valutazione dei Modelli