Analisi di pazienti con S.L.A. tramite l'approcio multiview learning utilizzando SVM. Si è effettuata la selezione del modello tramite nested crossvalidation
Classificazione pazienti con la SLA tramite SVM integration
1. Classificazione pazienti con la S.L.A.
tramite integrazioni di SVM
Luciano Giuseppe
Corso di Reti Neurali - 2015
Specialistica in Informatica @UniSA
3. Introduzione
I dati
• Dataset iniziali:
– DTI
– DMN (estratto tramite ICA dal fMRI).
• Sample: 71 persone divisi in due classi
– controlli (sani): 23 sample
– pazienti : 48 sample
• Preprocessing
– Riduzione delle dimensioni: da 50k a 15k voxel
– Aggregazione dei voxel adiacenti tramite clustering
• Risultato finale
• Diffusion tensor imaging: 71 x 400 feature
• Default-mode network: 71 x 400 feature
Dati scalati
4. Introduzione
Il problema
• Voglio classificare i dati usando entrambi i
dataset.
• Poiché ci sono più feature che sample ci
potrebbe essere il problema di overfitting
1. Riduciamo le feature
2. Ottimiziamo i paramentri del
classificatore
5. Feature selection
Panoramica
• Date le due classi, si effettua il ranking delle
feature analizzando il loro potere
discriminatiorio tramite:
– T-score
– Correlation Adjusted t-score (CAT score)
• Selezione delle feature tramite FDR/FNDR: dal
ranking prese le feature che hanno un False
Non-Discovery Rate (FNDR) < 0.2
• E’ stata usata la libreria di R sda.
6. Feature selection
T-score
• Si utilizza per valutare il potere discriminativo di
una feature, date due classi.
• Ogni feature è considerata indipendentemente
dalle altre.
• Data una feature si prendono le medie dei valori
per le due classi: μ1 e μ2
– Hypothesis testing
• H1: la media delle feature differisce significantemente μ1 ≠ μ2
• H0: la media delle feature non differisce significantemente μ1 = μ2
Si assume vera
7. Feature selection
CAT score
• Correlation-adjusted t-scores (CAT-score) è la
versione decorrelata del t-score.
• Stima il contributo di ogni feature nella separazione
di due classi, dopo aver rimosso l’effetto di tutte le
altre feature
• Se non c’è correlazione si riduce al t-score.
t-score tra la media della feature k e la media
“pooled”
Matrice di
correlazione
8. Feature selection
FDR e FNDR
• Il metodo del False Discovery Rate (FDR) gioca un ruolo importante
nell’analisi di dati ad alta dimensionalità: serve a selezionare le
feature per la classificazione
FDR = FP / (FP + TP)
• False Non-Discovery Rate (FNDR) serve per identificare l’insieme
delle feature nulle, cioè quelle che non sono informative rispetto
alla separazioni delle classi, in modo da non usarle per la
classificazione:
– si identificano le feature nulle controllando FNDR e quindi si useranno
tutte le altre feature.
FNDR = FN / (FN + TP)
FNDR = 1 – FDR
Classe 1 Classe 0
Predizione 1 T.P. F.P
Predizione 0 F.N. T.N.
Matrice di confusione:
9. Feature selection
Esperimenti
• Ranking effetutato con:
– CAT score
– t-score
• Si sono selezionate le feature che hanno un
FNDR < 0.2 (FDR < 0.8).
• Risultati:
– DMN
• CAT score: solo 8 feature selezionate
• t-score: 42 feature selezionate
– DTI
• CAT score: 0 feature selezionate
• t-score: 76 feature selezionate
Si è usato il t-score
12. MultiView Learning
• Ogni sorgente provvede a una “vista” (view)
sullo stesso dominio, ma potenzialmente
codifica un differente pattern rilevante.
• L’effettiva integrazione di tali viste può portare
ad un modello più ricco di informazioni
rispetto alla singola vista.
13. MultiView Learning
Tipi di integrazione
• Early Integration: si concatenano i dati di
diverse vista, e poi si analizza il nuovo dataset
• Intermediate Integration: si concatenano i
risultati delle analisi nei passi intermedi
• Late Intergration: si usano i risultati delle
analisi sulle singole viste
15. MultiView Learning
Integrazione di SVM
• Come classificatore si è deciso di usare SVM.
• Si è utilizzata la libreria di R kernlab, che
supporta sia le funzioni kernel più diffuse
(lineare, gaussiano, …), che l’uso di funzioni
kernel create ad hoc, che di kernel matrix
16. MultiView Learning
Integrazione di SVM: Intermediate Integration
Si è effettuata l’intermediate integration tramite
questa procedura
1. Calcolo della kernel matrix dei dataset
– K1 = DMN * DMN’ : matrice 71x71
– K2 = DTI * DTI’ : matrice 71x71
2. Si è fatta la mistura delle matrici
– Kinput = p*K1+(1-p)*K2
– 0 ≤ p ≤ 1
17. MultiView Learning
Integrazione di SVM: Late Integration
• Non si è potuto optare per un meccanismo di
voting: ci sono solo due view.
• Si sono sfruttati i decision values dati dalla
predizione del SVM.
z è il decision value
18. SVM: selezione del modello
• Si è scelto di usare un classificatore lineare.
– Selezionare il valore C migliore per i dati:
Provati valori tra 1 e 10
• Pochi sample problemi di overfitting
• Per generalizzare scelta dei C migliori
tramite CrossValidation
19. CrossValidation
• K-fold CrossValidation:
– Si divide il dataset in k parti
– Si effettua k volte l’addestramento, ogni volta su fold
di validazione diverso
• Leave-One-Out:
– Viene usato un solo sample alla volta per la
validazione del modello
• Nested CrossValidation:
– Si effettua il K-Fold CrossValidation, dove sul training
set si effettua il L.O.O. per scegliere le C migliori
– E’ stata creata una funzione ad hoc in R
(METODO UTILIZZATO)
21. K Fold
• Il dataset non è bilanciato: 23 controlli (32%) e 48
pazienti (68%).
• In ogni fold ci deve essere:
– 1/k dei controlli
– 1/K dei pazienti
• K scelti: 10 e 7
• E’ stata creata una funzione ad hoc in R
• Oltre l’accuratezza si sono misurati:
– Recall: TP su tutte le predizioni positive
– Precision: TP su tutti i sample positivi
– P-value: l’accuratezza è maggiore del No Information Rate
Se entrambi i valori
sono alti, ho un
buon risultato (nel
caso di dataset
sbilanciati)
Classe 1 Classe 0
Predizione 1 T.P. F.P
Predizione 0 F.N. T.N.
26. Risultati Intemediate Integration su 10 Fold
• La mistura migliore ha risultati peggiori del
SVM sul singolo dataset DTI
– Come Pavlidis et all in “Gene functional
classification from heterogeneous data” (2001)
ho riscontrato che: “the intermediate integration
scheme fails to learn to classify only two classes”
• Con 10 Fold ci sono troppi pochi sample nel
validation set
27. Intermediate Integration - C migliori:
7 Fold CrossValidation sul DMN
Accuratezza: 0.81601, Recall: 0.875, Precision: 0.8571429,
P-Value: 0.006086
28. Intermediate Integration - C migliori:
7 Fold CrossValidation sul DTI
Accuratezza: 0.804617, Recall: 0.8958333, Precision: 0.8269231,
P-Value: 0.01296
32. Late Integration
I decision values della predizione su ogni fold di
validazione vengono salvati, così da combinarli
ed usarli per il Late Integration:
newDecisionValues = B1*dvDTI + B2*dvDMN
33. Late Integration
DTI 10 Fold CrossValidation
Risultati SVM con kernel lineare
Risultati delle C migliori con SVM su DTI.
Accuratezza: 0.8591549
Recall: 0.8958333
Precision: 0.8958333
P-value: 0.0003677
34. Late Integration
DMN 10 Fold CrossValidation
Risultati SVM con kernel lineare
Risultati delle C migliori con SVM su DMN.
Accuratezza: 0.7887324
Recall: 0.8333333
Precision: 0.8510638
P-Value: 0.01404
35.
36. DMN DTI
I voxel colorati sono quelli individuati con la feature selection.
L’intensità del colore dei voxel (giallo è il valore più alto) è dato dal peso che gli assegna SVM durante il training
37. Late Integration
10 Fold CrossValidation
Risultati con media e regressione dei decision values
• Viene fatta la media dei vettori dei decision values
– B1 e B2 = 1/2
– Risultato:
• Accuratezza: 0.8732394
• Recall: 0.9166667
• Precision: 0.8979592
• P-Value: 0.0001612
• Regressione tra il vettore dei decision values e le label.
– B1: 0.542 e B2:0.24
– Risultato:
• Accuratezza: 0.9014085
• Recall: 0.9583333
• Precision: 0.9019608
• P-Value: 0.0002903
38. Late Integration
DTI 7 Fold CrossValidation
Risultati SVM con kernel lineare
Risultati delle C migliori con SVM su DTI.
Accuratezza: 0.8592
Recall: 0.8958333
Precision: 0.8958333
P-value: 0.0003677
39. Late Integration
DMN 7 Fold CrossValidation
Risultati SVM con kernel lineare
Risultati delle C migliori con SVM su DMN.
Accuratezza: 0.8028
Recall: 0.8541667
Precision: 0.8541667
P-Value: 0.01296
40. I voxel colorati sono quelli individuati con la feature selection.
L’intensità del colore dei voxel (giallo è il valore più alto) è dato dal peso che gli assegna SVM durante il training
DMN DTI
41.
42. Late Integration
7 Fold CrossValidation
Risultati con media e regressione dei decision values
• Viene fatta la media dei vettori dei decision values
– B1 e B2 = 1/2
– Risultato:
• Accuratezza: 0.8873239
• Recall: 0.9375
• Precision: 0.9
• P-Value: 0.0002211
• Regressione tra il vettore dei decision values e le label.
– B1: 0.4699144 e B2: 0.2528926
– Risultato:
• Accuratezza: 0.9014085
• Recall: 0.9375
• Precision: 0.9183673
• P-Value: 2.329e-05
43. Late Integration
Riassunto dei risultati
Sia con 7Fold che con 10Fold, il Late Integration
migliora i risultati del SVM sulla vista che ha
dato i risultati migliori:
• 5% di miglioramento dell’accuratezza se si
utilizza la regressione per calcolare i pesi della
somma.
• 2% se si fa una media pesata dei decision
values.