Valutazione dei Modelli

annuncio pubblicitario
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
Scarica