Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

Post on 01-May-2015

222 views 0 download

Transcript of Valutazione delle Prestazioni di un Classificatore Performance Evaluation.

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