VALUTAZIONE DELLE PERFORMANCE
MATRICE DI CONFUZIONE→
Metriche:
SENSIBILITA’: True Positive Rate
➢ → = /
SPECIFICITA’: True Negative Rate
➢ → = /
ERRORE DI TIPO I: False Positive Rate
➢ → = /
ERRORE DI TIPO II: False Negative Rate
➢ → = /
+
ACCURACY
➢ → = +
PRECISIONE (fedeltà)
➢ → = +
RECALL (completezza)
➢ → = + ∙
F1 SCORE (accuratezzaa)
➢ → 1 = 2 ∙ +
SCHEMA GENERALE della valutazione delle
performance --------------------------------------------->
Addestrare un algoritmo di apprendimento
automatico e valutarne le prestazioni sul medesimo
dataset è un errore metodologico.
Quando si sbaglia l’addestramento del modello si va
incontro a 2 rischi principali: overfitting e
underfitting.
1. OVER-FITTING:
Un modello «complesso» con elevate performance
in fase di training potrebbe non estenderle (generalizzare)
a dati originali, non riuscendo a realizzare una predizione
accurata su dati estranei a quelli «visti» in fase di
addestramento. Un tale scenario viene definito di
overfitting (high variance): il modello si sta sovra-
adattando ai pattern specifici del dataset di addestramento
2. UNDER-FITTING
un algoritmo eccessivamente «semplice» potrebbe
non essere in grado di rappresentare i pattern
presenti nei dati (high bias). Un tale modello
mostrerà performance carenti non solo sul test set,
ma anche sullo stesso dataset di addestramento deve trovare un COMPROMESSO TRA BIAS E VARIANZA. È
si
impossibile minimizzare entrambi, quindi si cerca di trovarsi nel
punto in cui il classificatore dà un errore minimo per entrambi
ovvero nella zona “modello ottimo”.
K-FOLD CROSS-VALIDATION
LA k-fold cross-validation è un metodo
utilizzato per valutare le PRESTAZIONI di un
modello di apprendimento automatico.
(in genere si usa in modo empirico K=10 o
K=5→quindi in questo caso si può scegliere
noi il k). Passaggi:
1. Creazione dei fold: il dataset viene
diviso in k sottoinsiemi di
dimensioni uguali, detti FOLD.
Nell’esempio K=5, quindi il dataset è
diviso in 5 fold.
2. Iterazione: in ogni iterazione un fold
viene utilizzato come set di test (VALIDAZIONE) e i restanti k-1 fold vengono utilizzati come test di
TRAINING.
Nell’esempio di vede che nella partizione #1, i fold da 1 a 4 sono utilizzati per il training e il fold 5 per il
test.
3. Training: nella fase di training, il modello di apprendimento automatico viene addestrato utilizzando i
dati nel set di training. Quindi il modello cerca di apprendere le relazioni tra le caratteristiche (variabili
indipendenti) e l’obiettivo (variabile dipendente) nel set di training
4. Testing: il modello viene testato sul set di test. Quindi il modello utilizza le relazioni che ha appreso
durante la fase di training per fare previsioni sui dati nel set di tests
5. Valutazione: le prestazioni del modello vengono valutate confrontando le previsioni del modello con i
valori reali nel set di test. Questa valutazione fornisce una misura di quanto bene il modello sia in grado
di generalizzare sui nuovi dati.
6. Ripetizione: il processo viene ripetuto, in modo tale che ogni punto sia nel set di test 1 volta e nel set di
training k-1 volte.
7. Prestazioni medie: le prestazioni del modello in tutte le k iterazioni vengono mediate per ottenere una
stima finale delle prestazioni del modello.
Per scegliere tra due modelli diversi, ad esempio SVM con kernel lineare e SVM con kernel RBF, si può eseguire
la cross-validation separatamente per ciascun modello e confrontare le loro performance medie.
LEAVE-ONE-OUT CROSS VALIDATION (LOOCV)
Nel LOOCV il numero di fold k è = al
numero totale di punti dati nel dataset;
quindi se il dataset ha N punti, avrò N fold
in questo caso NON si sceglie noi
→quindi
il k.
Il LOOCV è utile quando si lavora con
piccoli dataset, perché massimizza la
quantità di dati utilizzati per il training.
Tuttavia può essere costoso a livello
computazionale se si lavora con grandi
dataset (richiede di addestrare il modello
N volte).
SCELTA DEL NUMERO DI FOLD PER LA K-FOLD
CROSS VALIDATION
Si assume che il valore massimo di accuracy che si
può avere per la k-fold cross validation è quello del
LOOCV.
Si sceglie il numero di fold che permette di
avvicinarsi alla prestazione massima, ma allo
stesso tempo che permette di avere tempi di
training accettabile.
Di base solitamente si usa k=5/10
3 modelli principali del k-fold cross validation:
1) REPEATED K-FOLD CROSS VALIDATION: La k-fold cross
validation viene ripetuta N volte e dopo ogni validazione si
randomizza il dataset.
2) STRATIFIED K-FOLD CROSS VALIDATION: le varie
partizioni preservano la proporzione originale dei
campioni appartenenti a una determinata classe in
entrambi i set di training e validazione.
3) GROUP K-FOLD CROSS VALIDATION: i set di training e
validazione non comprendono campioni associati allo
stesso gruppo/soggetto. I dati di un determinato gruppo
sono compresi in una sola delle K fold di validazione.
PERMUTATION TEST SCORE
Per verificare se i risultati ottenuti in fase di cross-validation sono casuali o no si esegue un TEST DI
PERMUTAZIONE.
Si esegue un numero elevato di randomizzazione del dataset e si riclassificano i dati. Si va a distruggere le
relazioni tra caratteristiche e i labels. Quindi si fa una permutazione dei labels e si rifacciamo la cross
validation, questo permette di valutare se la classificazione ovvero i labels ottenuti sono casuali oppure
significativi.
Se l’accuratezza scelta è mediamente simile sia nel caso reale sia nel caso delle permutazioni avrò un
➢ p-value alto e un test poco significativo.
Se l’accuratezza nel caso reale è >> rispetto al caso delle permutazioni, la classificazione NON è
➢ casuale.
SELEZIONE CLASSIFICATORE E TUNING DEGLI IPER-PARAMETRI
Utilizzare i medesimi dati per valutare le performance di un classificatore e individuare la combinazione
«ottima» dei suoi iper-parametri, può condurre a un overfitting del training set.
Per scegliere il tipo di classificatore si utilizza la K-FOLD CROSS VALIDATION ANNIDATA:
Dentro ogni partizione si
fa un’altra cross
validation (cv) con un k +
piccolo (k=2/3).
In questa cv si valuta la
performance di 2
modelli (es. SVM RBF e
SVM lineare) e si
seleziona il modello
migliore su quel training
set.
Questo modello viene
poi usato per fare la cv
su la partizione… e si continua così per tutte le k partizioni.
Dopo la cv annidata con cui scelgo il modello migliore, si può scegliere la miglior combinazione degli IPER-
PARAMETRI:
GRID SEARCH: ricerca sistematica della combinazione ottimale di iper-parametri su una griglio di
➢ valori discreti
+: esaustività, -: scarsa efficienza
RANDOM SEARCH: numero (non esaustivo) di combinazioni, campionato da distribuzioni
➢ probabilistiche.
+: efficienza, -: ricerca non sistematica
SEARCH WITH SUCCESSIVE HALVING (grid o random): processo iterativo di selezione in cui le
➢ combinazioni candidate vengono valutate con una ridotta quantità di risorse alla prima iterazione
+: efficienza
2) DECISION TREES (ALBERO DECISIONALE)
ALBERO DECISIONALE= modello in cui ogni biforcazione (nodo) corrisponde a una decisione binaria basata su
valori di soglia applicati a determinate feature.
Ogni arco (ramo) discendente corrisponde a 2 alternative possibili, fino al raggiungimento dei nodi terminali
(foglie) che mostrano la classe prevista per un particolare gruppo di dati.
MECCANISMO: Un albero decisionale partiziona in modo ricorsivo lo spazio delle feature in modo da
raggruppare i dati associati alla stessa classe. Per ogni suddivisione dei dati in ingresso al nodo m sono create 2
partizioni. La qualità di ogni suddivisione viene valutata in termini di IMPURITA’ (l’impurità cresce quando una
partizione contiene elementi di classi diverse).
Vantaggi
+ Il meccanismo degli alberi decisionali è semplice da interpretare
+ Costo computazionale in fase di predizione = logaritmico rispetto al numero di campioni
+ Non è richiesta una preparazione del dataset in ingresso
Svantaggi
- Gli alberi decisionali possono essere instabili rispetto a piccole variazioni del training set
- Elevato rischio di overfitting
- Si deve bilanciare le classi di dati prima dell’addestramento
Accorgimenti
Ridurre la dimensionalità dei dati (PCA) per impiegare solo featire informative
▪ Assicurarsi che molti campioni informino ogni decisione (nodo) nell’albero
▪ -->un numero basso porta all’overfitting del training set
-->un numero elevato facilita l’apprendimento di pattern generali presenti nei dati
contenere in fase iniziale la profondità dell'albero per sondare le sue prestazioni: il numero di campioni
▪ necessari per popolare i nodi dell'albero raddoppia per ogni livello aggiuntivo, e si può cadere
facilmente in regimi di overfitting
3) RANDOM FORESTS
RANDOM FOREST= algoritmi di apprendimento automatico di
insieme che combinano l’output di + alberi decisionali. La classe
predetta viene determinata dalla precisione maggioritaria prodotta
dai singoli alberi.
Obiettivo: generare il numero massimo di alberi scorrelati.
La mutua correlazione degli alberi viene contenuta tramite il BAGGING del training set:
• Un campione casuale di dati del training set viene selezionato per addestrare un particolare albero del
random forest
• Ogni albero considera solo un subset aleatorio delle feature originali
• La selezione del training set di ciascun albero esclude un particolare campione di dati (detto OUT OF
BAG), utilizzato per validare la bontà della previsione del random forest.
Vantaggi :
+ Ridotto rischio di overfitting
+ Le metriche di impurità possono essere sfruttate per valutare la diminuzione dell’accuratezza del modello
quando viene esclusa una determinata feature
Svantaggi
- Previsione lenta (perché devono eseguire una previsione per ogni singolo albero decisionale al loro interno)
- maggiore opacità nel meccanismo di classificazione
4) NEURAL NETWORKS (RETI NEURALI) PERCETTRONE= rete ad un singolo layer nascosto che
usa la funzione di attivazione di Heavyside→ non molto
efficace quindi non si usa più.
Ogni neurone (nodo) della rete coinci
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Bioingegneria per la decisione clinica
-
Appunti Bioingegneria e fisiologia
-
Appunti Tecnologie per la bioingegneria (prima parte)
-
Seconda parte appunti Tecnologie per la bioingegneria