I Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptx
Presentazione ic progetto_b
1. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Progetto Neuroscienze - B
Alessio Petrozziello1 Simone Romano1
1Università degli studi di Salerno
Supervisori:
Prof. Roberto Tagliaferri
Prof. Fabrizio Esposito
Dott. Giancarlo Valente
Dott. Angela Serra
Esame Intelligenza Computazionale
4. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Esperimento
• Pressione tasto con dito indice (D2) e dito anulare (D4)
della mano destra
• Una pressione ogni 16 secondi (in media)
• 2 run dell’esperimento (14 minuti ciascuna), 24 risposte
per dito per ogni run
• Monitorate solo le aree potenzialmente legate
all’esperimento (Motor and Somatosensory cortex,
contralateral)
7. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Dati
• Un campione ogni 2 secondi
• Dimensione spaziale ~103 voxels
• Il segnale misurato per una singola pressione è
rappresentato con una matrice txv:
• t = time, 8 samples
• v = voxels, approx 103
• Abbiamo 48 risposte per ogni dito per un totale di 96
risposte
8. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Compressione dati
Abbiamo lavorato su:
• Raw Data
• Dati compressi
La compressione della matrice è stata così effettuata:
• Media degli elementi 2-7 di ogni trial
9. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Obiettivi
Si vogliono raggiungere i seguenti obiettivi:
• Clusterizzazione mirata a:
• Generazione Mappe Neuroelf
• Stima emodinamica
• Features selection
• Classificazione
10. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Outline
1 Introduzione
2 Analisi dei dati
3 Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
4 Risultati
5 Conclusioni
11. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Algoritmi utilizzati
Gli algoritmi di clustering utilizzati sono elencati di seguito:
• Linkage
• Metodo Ward
• PAM (Partitioning Around Medoids)
Le matrici di dissimilarità utilizzate:
• Pearson
• Spearman
Nota:
• Linkage restituisce i centroids (punti non appartenenti
al dataset)
• PAM restituisce i medoids (punti appartenenti al
dataset)
12. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Linkage
Approccio di clustering che mira a costruire una gerarchia di
cluster. 2 sono le strategie:
• Agglomerativo: ogni elemento in un cluster differente;
si accorpano i cluster a 2 a 2
• Divisivo: si parte da un unico cluster; si divide
ricorsivamente in sotto-cluster
13. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Linkage - Metriche
Diverse sono le metriche di accorpamento/divisione degli
elementi:
• Single: minima distanza tra un’osservazione in un
cluster ed una in un altro cluster
• Average: la distanza tra 2 cluster è data dalla distanza
media tra le osservazioni in 2 cluster differenti
• Complete: massima distanza tra un’osservazione in un
cluster ed una in un altro cluster
• Ward: la distanza tra 2 cluster, A e B, è data
dall’incremento della somma dei quadrati avuta dopo
l’unione dei 2 cluster
14. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
PAM - Partition around centroid
• Fa parte dei k-medoids algorithm
• Sceglie un punto del dataset come centro
• Lavora con un’arbitraria matrice di dissimilarità
Pseudo-algoritmo:
1 Seleziona in maniera casuale k degli n punti come medoids
2 Assegna ogni punto al medoid più vicino (con una valida misura di distanza)
3 Per ogni medoid m:
1 Per ogni non-medoid o:
1 Effettua uno swap di m ed o e calcola il costo della nuova configurazione
4 Seleziona la configurazione a costo minore
5 Ripeti gli step 2-4 fin quando non c’è swap di medoid.
15. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Matrici di dissimilarità
Le matrici di dissimilaritá utilizzate sono:
• Pearson: assume che le variabili analizzate siano
normali (variabili quantitative)
• Spearman: stima una eventuale funzione che descrive
la relazione tra 2 variabili, senza fare assunzione sulla
loro distribuzione
Nota: se non si è sicuri della normalità dei dati non
conviene usare Pearson.
16. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Matrici di dissimilarità - Pearson
Date due variabili statistiche X e Y, l’indice di correlazione di
Pearson è definito come:
ρX Y = σX Y /σX σY
dove:
• σX Y : covarianza tra X ed Y
• σX e σY : deviazioni standard
inoltre:
−1 ≤ ρX Y ≤ 1
17. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Matrici di dissimilarità - Spearman
• Caso particolare del coefficiente di correlazione di
Pearson
• Valori convertiti in ranghi prima di calcolare il
coefficiente
ρs = i (ri −r)(si −s)
√
i (ri −r)2
√
i (si −s)2
18. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
PAM clustering - dati compressi
Il clustering con PAM sui dati compressi è stato ottenuto
utilizzando il metodo:
kmedoids(matrix4cluster’, numberOfCluster, ’Algorithm’, ’pam’, ’Distance’, ’spearman’);
Valori restituiti:
• Matrice 96xk
• Vettore 2018x1 - indice del cluster per ogni
osservazione
19. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
PAM clustering - dati RAW
Il clustering con PAM sui dati RAW è stato ottenuto
utilizzando il metodo:
pam(x = dissimilarityMatrix, k = #cluster, diss = TRUE)
Valori restituiti:
• Matrice 96x8xk
• Vettore 2018x1 - indice del cluster per ogni
osservazione
20. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
LINKAGE clustering - dati compressi
Il clustering con LINKAGE sui dati compressi è stato
ottenuto utilizzando il metodo:
linkage(Y,’ward’);
Dove:
• Y - matrice di dissimilarità
• ward - metodo Linkage utilizzato
Valori restituiti:
• Vettore 2018x1 - indice del cluster per ogni
osservazione
Nota: bisogna ricavare i medoids
21. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
LINKAGE clustering - dati RAW
Il clustering con LINKAGE sui dati RAW è stato ottenuto
utilizzando il metodo:
hc = hclust(d = dissimilarityMatrix, method = "ward")
cutree(tree = hc, k = #cluster)
Valori restituiti:
• Matrice 96x8xk
• Vettore 2018x1 - indice del cluster per ogni
osservazione
Nota: bisogna ricavare i medoids
22. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
LINKAGE clustering - Medoids
Per ricavare i medoids è stata utilizzata la matrice di
dissimilarità ed il vettore output del linkage:
• ∀cluster
• Estrae gli indici degli elementi appartenenti al cluster
• Ricava dalla matrice delle distanze le distanze tra quei
punti
• Somma (o fa la media), riga per riga, gli elementi della
sottomatrice delle distanze
• Prende l’elemento che massimizza la somma (o
differenza) come medoid di quel cluster
23. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Generazione mappe - matrice
compressa
Utilizzando gli output del clustering, in particolare
• Vettori 2018x1 - indice del cluster per ogni
osservazione
sono state generate le mappe in formato .vmp visualizzabili
in Neuroelf
26. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Risposta emodinamica
Per stimare la risposta emodinamica siamo tornati alla
matrice iniziale:
96x8x2018
dove:
• l’ultima dimensione è stata ridotta utilizzando i risultati
del clustering
• per ottenere una matrice 8xk è stata fatta la media sulla
prima colonna
ottenendo in output diversi grafici, uno per ciascun
algoritmo di clustering e per ciascuna matrice di
dissimilarità utilizzata (Pearson, Spearman)
29. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
k-fold Cross-Validation
Tecnica per stimare le performanca di un classificatore.
Dato un dataset con m osservazioni:
• Divide i dati in k folds
• ∀osservazione
• Effettua il train del classificatore con i dati che non
appartengono al fold
• Testa il classificatore con i dati rimanenti
• Restituisce la media degli errori
Nel caso specifico è stato usato:
• 10-fold validation ripetuto 5 volte
30. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
SVM - Support Vector Machine
• Un classificatore SVM costruisce un iperpiano (o
insieme di iperpiani) che possono essere usati per fare
classificazione.
• Una buona separazione è data dall’iperpiano che
massimizza la distanza dal punto dei dati più vicino
32. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
SVM - Kernels
Spesso si ha a che fare con classi non separabili
linearmente:
Kernels: rendono utilizzabili modelli lineari con dati non
linearmente separabili
• Mapping dei dati in dimensioni più alte
• Applicano un modello lineare nel nuovo spazio
33. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
SVM - Kernels - 2
• Ongi kernel k ha associato un mapping φ delle features
• φ prende in input x ∈ X (spazio iniziale) ed effettua il
mapping di x in F (spazio delle features)
• Un Kernel k(x,z) prende 2 input e restituisce la loro
similarità nello spazio F
Radial Basis Function (RBF) Kernel:
k(x, z) = exp[−γ x − z ]2
34. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Classificazione - dati compressi
La classificazione è stata effettuata sulle matrici contenenti i
soli medoids output dei diversi clustering:
• Pam - Pearson
• Pam - Spearman
• Linkage - Pearson
• Linkage - Spearman
Nota: sulla matrice con i medoids è stato utilizzato un svm
lineare
35. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Classificazione - dati compressi - 2
Per migliorare i risultati del clustering:
• Features selection
In fase di classificazione:
• ∀split
• Features selection su training test
• Classificazione su test set (utilizzando le features
estratte)
Il numero di features estratte è pari al 20%
• Cluster da 10 - 2 features
• Cluster da 20 - 4 features
• ...
Nota: classifcatore non lineare (kernel rbf)
36. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Classificazione - dati RAW
La classificazione è stata effettuata stimando:
• i medoidi tramite la media dei voxel in ogni cluster, da
matrici 8x96x#voxelInCluster -> 8x96
• i medoidi trovati dal clustering
output dei diversi clustering:
• Pam - Pearson
• Pam - Spearman
• Linkage - Pearson
• Linkage - Spearman
Nota: sulla matrice con i medoids è stato utilizzato un svm
lineare
37. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Metodologie
• Scalar Feature Selection: ridurre il numero di features
eliminando quelle che danno meno informazioni
• Vector Feature Selection: selezionare la migliore
combinazione delle features selezionate al passo
precedente
Raw data:
• t-test
• Sequetial Forward selection
Dati compressi:
• Sequential Backward Selection
38. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
T-test
Domanda: la differenza fra le medie dei due campioni è
significativa? Dati due campioni, è possibile stabilire che
appartengano a popolazioni diverse riguardo alla variabile
considerata?
Quando applicare il t-test
• Raccogliamo dei dati da due popolazioni
• Facciamo la media dei due gruppi
• Confrontiamo la media
• Stabiliamo se la differenza è significativa o dovuta al
caso
39. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
T-test 2
Ragionamento da seguire:
• Confrontare le due medie
• IPOTESI NULLA: la differenza è dovuta al caso
• accettare o rifiutare l’ipotesi
• Effettuare il test t di student
t =
ma − mb
S
nanb
na + nb
• ma e mb medie
• S deviazione standard media
• 2◦ termine è il fattore di dimensione
40. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Significatività
La misura del rischio di cadere in errore è detta "livello di
significatività" del test
• può essere scelto arbitrariamente (in genere 0.05 o
0.01)
• il valore più basso al quale l’ipotesi nulla può essere
respinta di chiama "P value"
Nota bene: il P-value è una probabilità. Un valore di P che
si avvicina a 0 rappresenta la bassa probabilità che la
differenza osservata sia casuale.
41. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Correzione di Bonferroni
La correzione di Bonferroni afferma che:
• Se stiamo analizzando n ipotesi su una serie di dati, il
livello di significatività statistica che dovrebbe essere
usato per ogni ipotesi è 1/n volte quello che sarebbe
loro attribuito se anche solo una ipotesi fosse
empiricamente testata
La correzione del P-Value con Bonferroni è stata effettuata
applicando la seguente formula
Pvalue = Pvalue ∗ #Voxel
42. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Feature Selection - dati RAW
• Divisi i campioni di classe 1 da quelli di classe 2
• Calcolato il T-test rispetto alla media 0 con i campioni
delle due classi
• Effettuata la correzione di Bonferroni
• Ordinati per ranking le features con p-value < 0.01
• Presi il 5% delle features (con p-value minore) da
ognuna delle due classi (circa 200 features totali)
• Applicata la Sequential Forward Selection prendendo
100 features
53. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Inferenza statistica
Procedimento per cui si inducono le caratteristiche di una
popolazione dall’osservazione di un campione.
Dati n soggetti possiamo vedere la variabilità dei risultati
come:
• within-subject: differenze tra diversi trial dello stesso
soggetto - Fixed effects analysis
• between-subject: differenze tra diversi soggeti -
Random effects analysis
Note: RFx andrebbe applicato su molti soggetti
54. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Inferenza statistica - dati compressi
Risultati classificatore per i 3 soggetti (caso linkage -
Spearman)
55. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Inferenza statistica - dati compressi - 2
Per ogni soggetto è stata calcolata la media e l’errore
standard
56. Progetto B
Alessio
Petrozziello,
Simone
Romano
Introduzione
Analisi dei dati
Metodologie
Clustering
Mappe Neuroelf
Stima emodinamica
Classificazione
Features Selection
Risultati
Conclusioni
Inferenza statistica - dati compressi - 3
È stata dunque calcolata la media dei 3 soggetti e l’errore
standard secondo:
• FFx: SE = sqrt(mean(var)/N*M)
• RFx: SE = sqrt(mean(var)/N)
dove:
• M sono le osservazioni
• N sono i soggetti