valutazione delle prestazioni di un classificatore performance evaluation
TRANSCRIPT
Valutazione delle Prestazionidi un Classificatore
Performance Evaluation
Valutazione delle Prestazioni
Una volta appreso un classificatore è di fondamentale importanza valutarne le prestazioni
La valutazione delle prestazioni richiede un attento esame del problema e delle componenti per cui ha senso effettuare una valutazione
E’ necessario utilizzare in modo ragionato le misure di valutazione disponibili Giustificare perché utilizzare una misura piuttosto che
un’altra o perché complementare una misura con un’altra al fine di avere un quadro completo delle prestazioni
Modalità di test di un classificatore Sul training set stesso
overfitting! Su un test set disgiunto dal training set Mediante cross validation
Suddivido il training set in k sottoinsiemi (k-fold) Testo il classificatore k volte allenandolo su k-1 sottoinsiemi e
testandolo sul sottoinsieme rimanente Le prestazioni complessive possono essere calcolate mediando
sui k esperimenti k = 10 risulta sperimentalmente un buon numero di fold
Mediante split Suddividiamo l’insieme di dati disponibile in training e test set
(normalmente il primo è più grande del secondo, es. 66% e 34%)
Matrice di Confusione Applicando il classificatore al test set possiamo
visualizzare la distribuzione delle istanze rispetto alla classificazione predetta e a quella reale
Utilizziamo la cosiddetta matrice di confusione Es. se la classificazione è binaria:
TP = true positive TN = true negative FN = false negative FP = false positive
TP FN
FP TN
Classe predettaPositivo Negativo C
lasse realeP
ositivo Negativo
Misure per valutare le prestazioni (1)
Test Set T Istanze positive
Istanze negativeIstanze con predizionepositiva
TPTNFP
FN
Misure per valutare le prestazioni (2)
Precisione P = TP/(TP+FP) Percentuale di predizioni positive corrette
Test Set T Istanze positive
Istanze negativeIstanze con predizionepositiva
TPTNFP
FN
Misure per valutare le prestazioni (3)
Recall R = TP/(TP+FN) Percentuale di istanze realmente positive
classificate come positive
Test Set T Istanze positive
Istanze negativeIstanze con predizionepositiva
TPTNFP
FN
Misure per valutare le prestazioni (4)
TP rate = TP/(TP+FN) = Recall Percentuale di istanze realmente positive classificate come
positive
Test Set T Istanze positive
Istanze negativeIstanze con predizionepositiva
TPTNFP
FN
Misure per valutare le prestazioni (5)
FP rate = FP/(FP+TN) Percentuale di istanze realmente negative classificate
erroneamente come positive
Test Set T Istanze positive
Istanze negativeIstanze con predizionepositiva
TPTNFP
FN
Misure per valutare le prestazioni (6)
Accuratezza = (TP+TN)/(TP+TN+FP+FN) Percentuale di istanze sia positive sia negative classificate
correttamente
Test Set T Istanze positive
Istanze negativeIstanze con predizionepositiva
TPTNFP
FN
F1 measure F1 = 2PR / (P+R) E’ una media armonica tra precisione e recall
F1
Come utilizzare le misure
Quando utilizzare la accuracy Quando ho un problema multiclasse e tutte le classi
sono di interesse Quando ho un problema binario, le due classi sono
bilanciate e interessanti Quando utilizzare P, R e F1
Se c'è almeno una classe non interessante Se voglio studiare l’andamento del classificatore su
una classe in particolare
Esempio 1 Classificazione binaria
Esempio: il classificatore emette sempre classificazione negativa
Accuracy = 0.95 P = 0 R = 0
Test Set T Istanze positive
Istanze negative
95%5%
Esempio 2 Classificazione binaria
Esempio: il classificatore emette sempre classificazione positiva
Accuracy = 0.05 P = 0.05 R = 1
Test Set T Istanze positive
Istanze negative
95%5%
Esempio 3 Classificazione binaria
Accuracy = 50/100 = 0.5 P = 50/70 = 0.71 R = 50/80 = 0.62
Test Set T Istanze positive
Istanze negative
20%
80%
70% istanze classificatecome positive (di cui 20% FP e 50% TP)
70% = 20%+50%
Esempio 4 Classificazione n-aria
Caso: Il classificatore classifica correttamente tutta la classe di interesse, ma assegna classe rossa agli azzurri e azzurra ai rossi
Accuracy = 5/100 = 0.05!!! P (rispetto alla classe verde) = 5/5 = 1 R (rispetto alla classe verde) = 5/5 = 1
Test Set T Classe di interesse
55%5%
40%
Confrontare i Risultati
Come verificare se le prestazioni di un classificatore sono “simili” (ovvero “stabili”) su insiemi di dati differenti?
Dati 2 classificatori C1 e C2: come verificare se, sperimentando sullo stesso test
set, otteniamo prestazioni differenti?
Significatività Statistica
Differenze tra percentuali che “saltano all’occhio” sono grandi abbastanza da essere “importanti”? Es. supponiamo che due sistemi abbiano
prestazioni rispettivamente del 70% e del 73%: c’è differenza di prestazioni?
Dobbiamo chiederci: le differenze di prestazioni sono statisticamente significative?
Significatività statistica: le differenze osservate sono tanto significativamente diverse da 0 che non potrebbero verificarsi per caso?
Indipendenza Statistica: Esempio
Ascolta Rock
Ascolta Classica Totale
sotto
40 anni100 30 130
sopra
40 anni40 40 80
Totale 140 70 210
C’è differenza (statisticamente significativa) di comportamento nell’ascolto della musica tra chi è sotto i 40 e chi è sopra i 40 anni sul campione analizzato?
Test di Indipendenza Statistica 2
Il test chi quadro verifica l’indipendenza tra due variabili
H0: ipotesi di indipendenza statistica (ipotesi nulla) Es. non ci sono differenze nell’ascolto di musica secondo la
fascia d’età La statistica chi quadro consiste nel confronto tra le
frequenze osservate fo e le frequenze che ci si aspetterebbero se le due variabili fossero statisticamente indipendenti fe (frequenze attese, expected frequencies) E’ una misura della deviazione del campione dal valore
atteso ed è dimostrato che la distribuzione limite è una distribuzione chi quadro
La distribuzione chi quadro describe la distribuzione della varianza di una campione ottenuto da una popolazione con distribuzione normale
Che cos’è 2
E’ una distribuzione di probabilità compresa tra 0 e infinito E’ asimmetrica Con l’aumentare dei gradi di libertà (diremo dopo cosa sono), la
curva diventa sempre più vicina a una distribuzione normale Utilizzata per verificare l’indipendenza di due criteri di
classificazione
Test di Indipendenza Statistica 2
Passi: Stabilire l’ipotesi nulla Calcolare le frequenze attese (sotto l’ipotesi nulla) Calcolare la statistica chi quadro Determinare i gradi di libertà e scegliere il livello di
significatività statistica per il test Confrontare il valore ottenuto con il valore critico chi
quadro
Test di Indipendenza Statistica 2
La frequenza attesa è ottenuta dalle distribuzioni marginali delle due variabili:
http://ccnmtl.columbia.edu/projects/qmss/chi_intro.html
ncolonnatotalerigatotale
fe
*
Indipendenza Statistica: Esempio
Ascolta Rock
Ascolta Classica Totale
sotto
40 anni
100(140*130/210)
30(70*130/210)
130
sopra
40 anni
40(140*80/210)
40(70*80/210)
80
Totale 140 70 210
C’è differenza (statisticamente significativa) di comportamento nell’ascolto della musica tra chi è sotto i 40 e chi è sopra i 40 anni sul campione analizzato?
Indipendenza Statistica: Esempio
Ascolta Rock
Ascolta Classica Totale
sotto
40 anni
100
(86,66)
30
(43,33)130
sopra
40 anni
40
(53,33)
40
(26,66)80
Totale 140 70 210
C’è differenza (statisticamente significativa) di comportamento nell’ascolto della musica tra chi è sotto i 40 e chi è sopra i 40 anni sul campione analizzato?
Test di Indipendenza Statistica 2
Chi quadro è calcolato come segue:
Nel nostro esempio:
e
eo
f
ff 22 )(
15,1667,633,31,405,2
66,26)66,2640(
33,53)33,5340(
33,43)33,4330(
66,86)66,86100( 2222
2
Determinare i gradi di libertà Data una tabella di contingenza a n righe e m
colonne, il numero di gradi di libertà è dato da (n-1)*(m-1) Nell’esempio: (2-1)*(2-1)=1 grado di libertà
Perché? I gradi di libertà rappresentano il numero di celle che sono sufficienti a determine le altre celle della tabella di contingenza supponendo di conoscere i totali marginali Nell’esempio, se conosco i totali di righe e colonne,
è sufficiente ottenere il valore di una singola cella (gradi di libertà = 1) per poter riempire il resto della tabella
Confronto della statistica 2
con il valore critico 2
Dati i gradi di libertà df e il livello di confidenza p, si consulta una tabella standard che ci fornisce il valore critico di 2
df p = 0.05 p = 0.01 p = 0.001
1 3.84 6.64 10.83
2 5.99 9.21 13.82
3 7.82 11.35 16.27
4 9.49 13.28 18.47
5 11.07 15.09 20.52
6 12.59 16.81 22.46
7 14.07 18.48 24.32
8 15.51 20.09 26.13
9 16.92 21.67 27.88
10 18.31 23.21 29.59
...
Confronto della statistica 2
con il valore critico 2
Se il 2 calcolato è maggiore di quello critico Rifiutiamo l’ipotesi nulla (differenze statisticamente
significative) Nell’esempio, 2=16,15 > 10,83, per cui la probabilità
p che l’ipotesi nulla sia verificata è < 0,001 Altrimenti, non rifiutiamo l’ipotesi nulla
P(X2 P(20.05,1 2)<0.05
0.95
Alcune regole per la statistica 2
Dati estratti casualmente dalla popolazione in esame
Utilizzare conteggi e non frequenze Numero di casi analizzati 30 per rendere il
test affidabile e almeno 5 casi per cella nella tabella di contingenza
p <= 0.05
Applicazione agli esperimenti (1)
Supponiamo di applicare lo stesso classificatore a due campioni dello stesso insieme di dati:
corretti errati totale
campione 180 100 180
campione 295 115 210
totale175 225 390
Applicazione agli esperimenti (1)
Supponiamo di applicare lo stesso classificatore a due campioni dello stesso insieme di dati:
corretti errati totale
campione 1 80
(80,77)
100
(103,85)180
campione 2 95
(94,23)
115
(121,15)210
totale175 225 390
Applicazione agli esperimenti (1)
Calcoliamo il valore di 2
Questo valore è ben al di sotto di 3.84, il valore critico di 2 con 1 grado di libertà e p = 0.05
In altre parole, la probabilità dell’ipotesi nulla è > 0.05, quindi non possiamo rigettarla
I risultati dei due esperimenti non differiscono in modo statisticamente significativo Ovvero, il classificatore si comporta “più o meno” allo stesso
modo sui due campioni
467,0312,0006,0142,00073,0
15,121
)15,121115(
23,94
)23,9495(
85,103
)85,103100(
77,80
)77,8080( 22222
Applicazione agli esperimenti (2)
Supponiamo di applicare due classificatori diversi allo stesso insieme di dati:
corretti errati totale
classificatore 1 700
(725)
300
(275)1000
classificatore 2 750
(725)
250
(275)1000
totale1450 550 2000
Applicazione agli esperimenti (2)
Calcoliamo il valore di 2
Questo valore è ben al di sopra di 3.84, il valore critico di 2 con 1 grado di libertà e p = 0.05
In altre parole, la probabilità dell’ipotesi nulla è < 0.05, quindi possiamo rigettarla
Le due prestazioni differiscono in modo statisticamente significativo Ovvero, i due classificatori hanno prestazioni che
differiscono in modo statisticamente significativo
26,627,286,027,286,0275
)275260(
725
)725740(
275
)275300(
725
)725700( 22222