La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Bioinformatica Classificazione Dr. Giuseppe Pigola –

Presentazioni simili


Presentazione sul tema: "Bioinformatica Classificazione Dr. Giuseppe Pigola –"— Transcript della presentazione:

1 Bioinformatica Classificazione Dr. Giuseppe Pigola –

2 Classificazione e Predizione CLASSIFICAZIONE Processo di individuazione di una etichetta della classe categoriale di appartenenza di un oggetto; Se una banca deve decidere se assegnare o meno un prestito ad un correntista, «lo classifica» assegnando una etichetta categoriale (ad es. affidabile / non affidabile); Il medico che deve fare una diagnosi su un paziente «lo classifica» assegnando una etichetta (ad es. malato / sano); PREDIZIONE La predizione modella una funzione continua (mentre la classificazione ha a che fare con valori discreti) e consente di individuare dati sconosciuti o mancanti. Bioinformatica2

3 Classificazione CLASSIFICAZIONE: TRE FASI ADDESTRAMENTO: Costruzione del modello tramite un training set; STIMA DELLACCURATEZZA: Calcolo della percentuale di correttezza nellindividuazione della classe durante il processo di classificazione. Velocità; Robustezza: Capacità di discriminare dati corretti e errati; Scalabilità; Interpretabilità di ciò che si ottiene dal classificatore; UTILIZZO: Il modello viene utilizzato per classificare input sconosciuti; Bioinformatica3

4 Classificazione: Preparazione dei Dati DATA CLEANING: Si cerca di eliminare o ridurre il rumore provvedendo a risolvere il problema di dati mancanti; RELEVANCE ANALYSIS: Analizzare i dati e mantenere solo quelli effettivamente discriminanti per la fase di classificazione; DATA TRANSFORMATION AND REDUCTION: Si normalizzano alcuni tipi di dati. La normalizzazione consiste nello scalare i valori di un attributo in un range predefinito (ad esempio [0,1]); Dato un set di dati generalmente viene suddiviso in due parti: Una parte verrà utilizzata per addestrare il modello, laltra verrà usata per testare il modello; Bioinformatica4

5 Support Vector Machines - SVM Bioinformatica5

6 Support Vector Machines - SVM Le SVM machines sono state sviluppate negli AT&T Bell Laboratories da Vapnik e Chervonenkis; Prime applicazioni: OCR (optical character recognition); Riconoscimento di oggetti [Blanz et al., 1996]; Indentificazione di oratori [Schmidt, 1996]; Identificazione di facce in immagini [Osuna, et al. 1997]; Classificazione di testi [Joachims, 1997]. Software: Bioinformatica6

7 Support Vector Machines - SVM Sono metodi di classificazione che garantiscono una elevata accuratezza della predizione; Necessitano di pochi dati. Non sono generalmente affette da overfitting; Spesso però è difficile modellare un problema con le SVM, specialmente quando si ha a che fare con spazi multidimensionali; Obiettivo del metodo è quello di costruire una «funzione di classificazione» che si spera possa classificare nuovi dati; Considereremo il caso di classificazione con 2 classi, ma tutto può essere esteso al caso di k classi; Bioinformatica7

8 Support Vector Machines - SVM Per il calcolo della funzione f distinguiamo due casi: Classificazione Lineare (I dati sono linearmente separabili): Esiste nello spazio R n almeno un iperpiano in grado di separare le tuple del training set (punti di R n ) di classe C 1 da quelle di classe C 2 ; Classificazione non Lineare (I dati non sono linearmente separabili): Non esiste nello spazio R n un iperpiano in grado di separare le tuple di classi diverse; Bioinformatica8

9 SVM – Classificazione Lineare Trovare liperpiano che separa «meglio», cioè liperpiano che rende massimo il margine, ovvero la distanza tra liperpiano e il punto di classe C 1 (o C 2 ) più vicino ad esso; Tale iperpiano è detto Maximum Marginal Hyperplane (MMH); Per R 2 bisogna trovare la retta che rende massima la distanza dal punto più vicino di C 1 o C 2 ; Bioinformatica9

10 SVM – Classificazione Lineare H 1,H 2 = i due iperpiani passanti, rispettivamente, per i punti di C 1 e C 2 più vicini al MMH. I punti di C 1 e C 2 per cui passano H 1 e H 2 sono detti vettori di supporto e m è il margine. Bioinformatica10

11 SVM – Classificazione Lineare Date m coppie (x,y) con x R n e y {-1,1}, vogliamo trovare w R n e b R tali che: Liperpiano separatore H è linsieme di punti tali che Bioinformatica11

12 SVM – Classificazione Lineare Osserviamo che liperpiano H 1 passa per un punto (una tupla) (x i,y i ) con y i =1 mentre H 2 passa per un punto (x i,y i ) con y i = -1. Dunque: Gli elementi del training set (x i,y i ) soddisferanno i vincoli O equivalentemente Bioinformatica12

13 SVM – Classificazione Lineare Vogliamo allora rendere massima Sia P un vettore di supporto e H liperpiano separatore. Nel caso di R 2 P=(x 1,x 2 ) e se H è una retta Generalizzando in R n, se P(x,y) è un vettore di supporto con x R n avremo Bioinformatica13

14 SVM – Classificazione Lineare Il segno + (-) indica che x giace sul lato positivo (negativo) delliperpiano; Il problema di massimizzare il margine m allora si riduce al problema di minimizzare la norma 2 del vettore dei pesi W con la condizione Bioinformatica14

15 SVM – Classificazione Lineare Possiamo formulare la massimizzazione del margine come un problema di ottimizzazione quadratica vincolata Con vincoli Metodo dei moltiplicatori di Lagrange Bioinformatica15

16 SVM – Classificazione Lineare Potremo classificare una nuova tupla X mediante la funzione di classificazione: Dove è un prodotto scalare riga per colonna; Gli i e b 0 sono parametri legati a W e sono ottenuti col il metodo dei moltiplicatori di Lagrange; Se allora X verrà classificata come C 2 ; Altrimenti sta in C 1 ; Bioinformatica16

17 SVM – Classificazione Non Lineare Bioinformatica17

18 SVM – Classificazione Non Lineare Nello spazio di R n non esiste un iperpiano in grado di separare le tuple di classi diverse; Soluzione «soft margin»: Si cerca liperpiano che divide i punti nel modo più pulito possibile, introducendo delle costanti di scarto i per ogni tupla t i. Se H 1 e H 2 sono gli iperplani passanti per i vettori di supporto: i ha valore zero se la tupla t i sta nelle regioni esterne a H 1 e H 2 (cioè è correttamente classificata); i avrà un valore maggiore di zero (corrispondente alla distanza di t i dal vettore di supporto) se ti è classificata male (ovvero si trova nella regione compresa tra gli iperpiani H 1 e H 2 ); Bioinformatica18

19 SVM – Classificazione Non Lineare Potremo esprimere allora i vincoli O euqivalentemente Bioinformatica19

20 SVM – Classificazione Non Lineare La funzione Diventa un limite superiore sul numero di errori possibili; Assegnando un costo agli errori (e tenendo conto dei vincoli) la funzione da minimizzare diverrà Con c parametro (c elevato = alta penalità assegnata agli errori); Bioinformatica20

21 SVM – Classificazione Non Lineare Un modo alternativo consiste nel proiettare il training set in uno spazio dimensionale maggiore in cui sia possibile fare una classificazione lineare Bioinformatica21

22 SVM – Classificazione Non Lineare Ad esempio un vettore tridimensionale X=(x 1,x 2,x 3 ) può essere mappato in uno spazio a 6 dimensioni utilizzando una funzione di mapping La tupla nel nuovo spazio sarà allora La funzione di classificazione sarà allora trasformata in Bioinformatica22

23 SVM – Classificazione Non Lineare Il mapping è però unoperazione molto complessa; E possibile utilizzare invece le cosiddette «funzioni kernel»; Se X è lo spazio dei dati originale e Z è quello dei dati mappati, una funzione kernel K è tale che per ogni x,y Cioè K restituisce il prodotto tra le immagini di x e y. Con funzione di mapping allora possiamo calcolare la funzione di classificazione come Bioinformatica23

24 SVM – Classificazione Non Lineare A ciò segue che, invece di applicare il mapping possiamo direttamente usare una funzione kernel K (che deve soddisfare le proprietà del prodotto scalare come commutativa, distributiva, etc etc); Alcune tipiche funzioni Kernel: Una funzione Kernel non lineare separerà (ad es. in R 2 ) le tuple con delle curve e non rette. Bioinformatica24

25 SVM – Applicazioni alla Bioinformatica Una sequenza proteica può essere convertita in un punto 20-dimensionale considerando la composizione aminoacidica (vettore di frequenze); Predire la struttura secondaria e 3D di proteine; Individuazione di omologie remote fra proteine; Classificazione funzionale di geni e proteine; Ricerca di pattern in sequenze biologiche; Analisi di dati di espressione genica provenienti da microarrays; Bioinformatica25


Scaricare ppt "Bioinformatica Classificazione Dr. Giuseppe Pigola –"

Presentazioni simili


Annunci Google