Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

35
Valutazione delle Prestazioni di un Classificatore Performance Evaluation

Transcript of Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

Page 1: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

Valutazione delle Prestazionidi un Classificatore

Performance Evaluation

Page 2: Valutazione delle Prestazioni di 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

Page 3: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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%)

Page 4: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 5: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

Misure per valutare le prestazioni (1)

Test Set T Istanze positive

Istanze negativeIstanze con predizionepositiva

TPTNFP

FN

Page 6: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 7: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 8: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 9: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 10: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 11: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

F1 measure F1 = 2PR / (P+R) E’ una media armonica tra precisione e recall

F1

Page 12: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 13: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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%

Page 14: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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%

Page 15: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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%

Page 16: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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%

Page 17: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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?

Page 18: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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?

Page 19: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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?

Page 20: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 21: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 22: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 23: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

*

Page 24: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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?

Page 25: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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?

Page 26: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 27: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 28: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

...

Page 29: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 30: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 31: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 32: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 33: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 34: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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

Page 35: Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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