SlideShare a Scribd company logo
1 of 50
Classificazione pazienti con la S.L.A.
tramite integrazioni di SVM
Luciano Giuseppe
Corso di Reti Neurali - 2015
Specialistica in Informatica @UniSA
Outline
• Introduzione
• Feature selection
– T-score e CAT score
– FDR e FNDR
• MultiView Learning
– SVM
– CrossValidation
• Esperimenti
– Intermediate Integration
• 10 fold
• 7 fold
– Late Integration
• 10 fold
• 7 fold
– Altri esperimenti
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
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
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.
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
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
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:
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
PLOT dei t-score del DMN dato le classi
PLOT dei t-score del DTI dato le classi
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.
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
MultiView Learning
Tipi di integrazione (2)
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
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
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
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
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)
Nested CrossValidation
K FOLD
CROSSVALIDATION
LEAVE ONE OUT
VALIDATION SET
TRAINING SET
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.
Esperimenti
Intermediate Integration - C migliori:
10 Fold CrossValidation sul DMN
Accuratezza: 0.79583, Recall: 0.8541667, Precision: 0.8367347,
P-Value: 0.02547
Intermediate Integration - C migliori:
10 Fold CrossValidation sul DTI
Accuratezza: 0.8369, Recall: 0.875, Precision: 0.893617,
P-Value: 0.001032
Intermediate Integration - C migliori:
10 Fold CrossValidation su mistura migliore
Peso DTI: 0.7 , Peso DMN: 0.3  Accuratezza: 0.82083, Recall: 0.8541667, Precision: 0.8723404,
P-Value: 0.006086
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
Intermediate Integration - C migliori:
7 Fold CrossValidation sul DMN
Accuratezza: 0.81601, Recall: 0.875, Precision: 0.8571429,
P-Value: 0.006086
Intermediate Integration - C migliori:
7 Fold CrossValidation sul DTI
Accuratezza: 0.804617, Recall: 0.8958333, Precision: 0.8269231,
P-Value: 0.01296
Intermediate Integration - C migliori:
7 Fold CrossValidation su mistura migliore
Peso DTI: 0.7 , Peso DMN: 0.3;
Accuratezza: 0.83189, Recall: 0.8958333,
Precision: 0.86,
P-Value: 0.002624
Peso DTI: 0.2 , Peso DMN: 0.8;
Accuratezza: 0.83189, Recall: 0.8541667,
Precision: 0.8913043,
P-Value: 0.002624
Risultati Intemediate Integration su 7 Fold
In questo caso si sono avute due misture con
accuratezza migliore delle singole viste
Confronto tra Intermediate Integration
10 Fold 7 Fold
DMN Accuratezza: 0.79583,
Recall: 0.8541667,
Precision: 0.8367347,
P-Value: 0.02547
Accuratezza: 0.81601,
Recall: 0.875,
Precision: 0.8571429,
P-Value: 0.006086
DTI Accuratezza: 0.8369,
Recall: 0.875,
Precision: 0.893617,
P-Value: 0.001032
Accuratezza: 0.804617,
Recall: 0.8958333,
Precision: 0.8269231,
P-Value: 0.01296
Peso DTI: 0.7
Peso DMN: 0.3
Accuratezza: 0.82083,
Recall: 0.8541667,
Precision: 0.8723404,
P-Value: 0.006086
Accuratezza: 0.83189,
Recall: 0.8958333,
Precision: 0.86,
P-Value: 0.002624
Peso DTI: 0.2
Peso DMN: 0.8
Accuratezza: 0.83189,
Recall: 0.8541667,
Precision: 0.8913043,
P-Value: 0.002624
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
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
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
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
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
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
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
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
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
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.
Confronto dei Fold CrossValidation (1)
DMN
7 FOLD
DMN
10 FOLD
Confronto dei Fold CrossValidation (2)
DTI
7 FOLD
DTI
10 FOLD
7 FOLD
10 FOLD
10 Fold
• Media:
– B1 e B2 = 1/2
– Risultato:
• Accuratezza: 0.8732394
• Recall: 0.9166667
• Precision: 0.8979592
• P-Value: 0.0001612
• Regressione:
– B1: 0.542
– B2:0.24
– Risultato:
• Accuratezza: 0.9014085
• Recall: 0.9583333
• Precision: 0.9019608
• P-Value: 0.0002903
7 Fold
• Media:
– B1 e B2 = 1/2
– Risultato:
• Accuratezza: 0.8873239
• Recall: 0.9375
• Precision: 0.9
• P-Value: 0.0002211
• Regressione :
– B1: 0.4699144
– B2: 0.2528926
– Risultato:
• Accuratezza: 0.9014085
• Recall: 0.9375
• Precision: 0.9183673
• P-Value: 2.329e-05
Confronto dei Fold CrossValidation (4)
ALTRI ESPERIMENTI
Late Integration: Risultati senza feature selection
10 Fold Nested Cross
Validation con SVM Linear
Kernel sul DTI
Accuratezza: 0.6056338
Recall: 0.75
Precision:0.6923077
10 Fold Nested Cross
Validation con SVM Linear
Kernel sul DMN
Accuratezza: 0.6338028
Recall: 0.7291667
Precision: 0.7291667
Late integration
• B1: 0.4682439 e B2 0.4713204
•Accuratezza: 0.6619718
•Recall: 0.8333333
•Precision: 0.7142857
FINE!

More Related Content

Similar to Classificazione pazienti con la SLA tramite SVM integration

Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...
Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...
Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...ICL - Image Communication Laboratory
 
Mobile price classification
Mobile price classificationMobile price classification
Mobile price classificationMircoBarbero
 
Financial Recommender System
Financial Recommender SystemFinancial Recommender System
Financial Recommender SystemSimone Tiso
 
Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...Antonio Notarangelo
 
La metodologia statistica nel data mining
La metodologia statistica nel data miningLa metodologia statistica nel data mining
La metodologia statistica nel data miningFrancesco Tamburini
 
Machine learning - Schede
Machine learning - SchedeMachine learning - Schede
Machine learning - SchedeNicola Gentili
 
Programmazione Genetica per l'Inferenza di Reti di Kauffman
Programmazione Genetica per l'Inferenza di Reti di KauffmanProgrammazione Genetica per l'Inferenza di Reti di Kauffman
Programmazione Genetica per l'Inferenza di Reti di KauffmanDaniele Bellavista
 
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...Desirée Rigonat
 
Presentazione Tesi di Laurea Magistrale - NAEVUS
Presentazione Tesi di Laurea Magistrale - NAEVUSPresentazione Tesi di Laurea Magistrale - NAEVUS
Presentazione Tesi di Laurea Magistrale - NAEVUSFrancesco Garofalo
 
Instance-based learning and Numeric prediction
Instance-based learning and Numeric predictionInstance-based learning and Numeric prediction
Instance-based learning and Numeric predictionDavide Ciambelli
 
Comparazione di Modelli Machine Learning
Comparazione di Modelli Machine LearningComparazione di Modelli Machine Learning
Comparazione di Modelli Machine LearningARIANET
 
Data Profiling with Metanome
Data Profiling with MetanomeData Profiling with Metanome
Data Profiling with MetanomeMatteo Senardi
 
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”StefanoChen1
 
Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...
Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...
Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...Vrije Universiteit Brussel
 
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesDavidePanarella
 
Presentazione ic progetto_b
Presentazione ic progetto_bPresentazione ic progetto_b
Presentazione ic progetto_bSimone Romano
 

Similar to Classificazione pazienti con la SLA tramite SVM integration (20)

Db scan multiview
Db scan multiviewDb scan multiview
Db scan multiview
 
Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...
Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...
Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind ...
 
Mobile price classification
Mobile price classificationMobile price classification
Mobile price classification
 
Financial Recommender System
Financial Recommender SystemFinancial Recommender System
Financial Recommender System
 
Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...
 
La metodologia statistica nel data mining
La metodologia statistica nel data miningLa metodologia statistica nel data mining
La metodologia statistica nel data mining
 
Machine learning - Schede
Machine learning - SchedeMachine learning - Schede
Machine learning - Schede
 
SVM
SVMSVM
SVM
 
Programmazione Genetica per l'Inferenza di Reti di Kauffman
Programmazione Genetica per l'Inferenza di Reti di KauffmanProgrammazione Genetica per l'Inferenza di Reti di Kauffman
Programmazione Genetica per l'Inferenza di Reti di Kauffman
 
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
 
Presentazione Tesi di Laurea Magistrale - NAEVUS
Presentazione Tesi di Laurea Magistrale - NAEVUSPresentazione Tesi di Laurea Magistrale - NAEVUS
Presentazione Tesi di Laurea Magistrale - NAEVUS
 
Instance-based learning and Numeric prediction
Instance-based learning and Numeric predictionInstance-based learning and Numeric prediction
Instance-based learning and Numeric prediction
 
Comparazione di Modelli Machine Learning
Comparazione di Modelli Machine LearningComparazione di Modelli Machine Learning
Comparazione di Modelli Machine Learning
 
AV_tesi_v5
AV_tesi_v5AV_tesi_v5
AV_tesi_v5
 
Presentazione ufficiale
Presentazione ufficialePresentazione ufficiale
Presentazione ufficiale
 
Data Profiling with Metanome
Data Profiling with MetanomeData Profiling with Metanome
Data Profiling with Metanome
 
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
 
Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...
Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...
Uno studio empirico sulla parametrizzazione dell'algoritmo slsq per la compre...
 
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
 
Presentazione ic progetto_b
Presentazione ic progetto_bPresentazione ic progetto_b
Presentazione ic progetto_b
 

More from Giuseppe Luciano

Big Data Economy - Linux Day 2017 a Avellino
Big Data Economy - Linux Day 2017 a AvellinoBig Data Economy - Linux Day 2017 a Avellino
Big Data Economy - Linux Day 2017 a AvellinoGiuseppe Luciano
 
Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...
Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...
Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...Giuseppe Luciano
 
Le Espressioni Regolari e gli Automi
Le Espressioni Regolari e gli AutomiLe Espressioni Regolari e gli Automi
Le Espressioni Regolari e gli AutomiGiuseppe Luciano
 
RDFa 1.1 - Seminario Web Semantico 2015
 RDFa 1.1 - Seminario Web Semantico 2015 RDFa 1.1 - Seminario Web Semantico 2015
RDFa 1.1 - Seminario Web Semantico 2015Giuseppe Luciano
 

More from Giuseppe Luciano (6)

Big Data Economy - Linux Day 2017 a Avellino
Big Data Economy - Linux Day 2017 a AvellinoBig Data Economy - Linux Day 2017 a Avellino
Big Data Economy - Linux Day 2017 a Avellino
 
Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...
Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...
Soluzioni distribuite per l’analisi di dati biomedici in ambiente Virtual Dat...
 
Le Espressioni Regolari e gli Automi
Le Espressioni Regolari e gli AutomiLe Espressioni Regolari e gli Automi
Le Espressioni Regolari e gli Automi
 
The road to php7
The road to php7The road to php7
The road to php7
 
RDFa 1.1 - Seminario Web Semantico 2015
 RDFa 1.1 - Seminario Web Semantico 2015 RDFa 1.1 - Seminario Web Semantico 2015
RDFa 1.1 - Seminario Web Semantico 2015
 
Seminario VMWare 2014
Seminario VMWare 2014Seminario VMWare 2014
Seminario VMWare 2014
 

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
  • 2. Outline • Introduzione • Feature selection – T-score e CAT score – FDR e FNDR • MultiView Learning – SVM – CrossValidation • Esperimenti – Intermediate Integration • 10 fold • 7 fold – Late Integration • 10 fold • 7 fold – Altri esperimenti
  • 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
  • 10. PLOT dei t-score del DMN dato le classi
  • 11. PLOT dei t-score del DTI dato le classi
  • 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
  • 14. MultiView Learning Tipi di integrazione (2)
  • 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)
  • 20. Nested CrossValidation K FOLD CROSSVALIDATION LEAVE ONE OUT VALIDATION SET TRAINING SET
  • 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.
  • 23. Intermediate Integration - C migliori: 10 Fold CrossValidation sul DMN Accuratezza: 0.79583, Recall: 0.8541667, Precision: 0.8367347, P-Value: 0.02547
  • 24. Intermediate Integration - C migliori: 10 Fold CrossValidation sul DTI Accuratezza: 0.8369, Recall: 0.875, Precision: 0.893617, P-Value: 0.001032
  • 25. Intermediate Integration - C migliori: 10 Fold CrossValidation su mistura migliore Peso DTI: 0.7 , Peso DMN: 0.3  Accuratezza: 0.82083, Recall: 0.8541667, Precision: 0.8723404, P-Value: 0.006086
  • 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
  • 29. Intermediate Integration - C migliori: 7 Fold CrossValidation su mistura migliore Peso DTI: 0.7 , Peso DMN: 0.3; Accuratezza: 0.83189, Recall: 0.8958333, Precision: 0.86, P-Value: 0.002624 Peso DTI: 0.2 , Peso DMN: 0.8; Accuratezza: 0.83189, Recall: 0.8541667, Precision: 0.8913043, P-Value: 0.002624
  • 30. Risultati Intemediate Integration su 7 Fold In questo caso si sono avute due misture con accuratezza migliore delle singole viste
  • 31. Confronto tra Intermediate Integration 10 Fold 7 Fold DMN Accuratezza: 0.79583, Recall: 0.8541667, Precision: 0.8367347, P-Value: 0.02547 Accuratezza: 0.81601, Recall: 0.875, Precision: 0.8571429, P-Value: 0.006086 DTI Accuratezza: 0.8369, Recall: 0.875, Precision: 0.893617, P-Value: 0.001032 Accuratezza: 0.804617, Recall: 0.8958333, Precision: 0.8269231, P-Value: 0.01296 Peso DTI: 0.7 Peso DMN: 0.3 Accuratezza: 0.82083, Recall: 0.8541667, Precision: 0.8723404, P-Value: 0.006086 Accuratezza: 0.83189, Recall: 0.8958333, Precision: 0.86, P-Value: 0.002624 Peso DTI: 0.2 Peso DMN: 0.8 Accuratezza: 0.83189, Recall: 0.8541667, Precision: 0.8913043, P-Value: 0.002624
  • 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.
  • 44. Confronto dei Fold CrossValidation (1) DMN 7 FOLD DMN 10 FOLD
  • 45. Confronto dei Fold CrossValidation (2) DTI 7 FOLD DTI 10 FOLD
  • 47. 10 Fold • Media: – B1 e B2 = 1/2 – Risultato: • Accuratezza: 0.8732394 • Recall: 0.9166667 • Precision: 0.8979592 • P-Value: 0.0001612 • Regressione: – B1: 0.542 – B2:0.24 – Risultato: • Accuratezza: 0.9014085 • Recall: 0.9583333 • Precision: 0.9019608 • P-Value: 0.0002903 7 Fold • Media: – B1 e B2 = 1/2 – Risultato: • Accuratezza: 0.8873239 • Recall: 0.9375 • Precision: 0.9 • P-Value: 0.0002211 • Regressione : – B1: 0.4699144 – B2: 0.2528926 – Risultato: • Accuratezza: 0.9014085 • Recall: 0.9375 • Precision: 0.9183673 • P-Value: 2.329e-05 Confronto dei Fold CrossValidation (4)
  • 49. Late Integration: Risultati senza feature selection 10 Fold Nested Cross Validation con SVM Linear Kernel sul DTI Accuratezza: 0.6056338 Recall: 0.75 Precision:0.6923077 10 Fold Nested Cross Validation con SVM Linear Kernel sul DMN Accuratezza: 0.6338028 Recall: 0.7291667 Precision: 0.7291667 Late integration • B1: 0.4682439 e B2 0.4713204 •Accuratezza: 0.6619718 •Recall: 0.8333333 •Precision: 0.7142857
  • 50. FINE!