1 / 25

Bioinformatica Classificazione

Bioinformatica Classificazione. Dr. Giuseppe Pigola – pigola@dmi.unict.it. Classificazione e Predizione. CLASSIFICAZIONE Processo di individuazione di una etichetta della classe categoriale di appartenenza di un oggetto;

garth
Download Presentation

Bioinformatica Classificazione

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BioinformaticaClassificazione Dr. Giuseppe Pigola – pigola@dmi.unict.it

  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. Bioinformatica

  3. Classificazione CLASSIFICAZIONE: TRE FASI • ADDESTRAMENTO: Costruzione del modello tramite un training set; • STIMA DELL’ACCURATEZZA: Calcolo della percentuale di correttezza nell’individuazione 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; Bioinformatica

  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, l’altra verrà usata per testare il modello; Bioinformatica

  5. Support Vector Machines - SVM Bioinformatica

  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: • http://www.csie.ntu.edu.tw/~cjlin/libsvm/ • http://bengio.abracadoudou.com/SVMTorch.html Bioinformatica

  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; Bioinformatica

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

  9. SVM – Classificazione Lineare • Trovare l’iperpiano che separa «meglio», cioè l’iperpiano che rende massimo il margine, ovvero la distanza tra l’iperpiano e il punto di classe C1 (o C2) più vicino ad esso; • Tale iperpiano è detto Maximum Marginal Hyperplane (MMH); • Per R2 bisogna trovare la retta che rende massima la distanza dal punto più vicino di C1 o C2; Bioinformatica

  10. SVM – Classificazione Lineare • H1,H2 = i due iperpiani passanti, rispettivamente, per i punti di C1 e C2 più vicini al MMH. • I punti di C1 e C2 per cui passano H1 e H2 sono detti vettori di supporto e m è il margine. Bioinformatica

  11. SVM – Classificazione Lineare • Date m coppie (x,y) con xRn e y{-1,1}, vogliamo trovare wRn e bR tali che: • L’iperpiano separatore H è l’insieme di punti tali che Bioinformatica

  12. SVM – Classificazione Lineare • Osserviamo che l’iperpiano H1 passa per un punto (una tupla) (xi,yi) con yi=1 mentre H2 passa per un punto (xi,yi) con yi = -1. Dunque: • Gli elementi del training set (xi,yi) soddisferanno i vincoli • O equivalentemente Bioinformatica

  13. SVM – Classificazione Lineare • Vogliamo allora rendere massima • Sia P un vettore di supporto e H l’iperpiano separatore. Nel caso di R2 P=(x1,x2) e se H è una retta • Generalizzando in Rn, se P(x,y) è un vettore di supporto con xRn avremo Bioinformatica

  14. SVM – Classificazione Lineare • Il segno + (-) indica che x giace sul lato positivo (negativo) dell’iperpiano; • 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 Bioinformatica

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

  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 b0 sono parametri legati a W e sono ottenuti col il metodo dei moltiplicatori di Lagrange; • Se allora X verrà classificata come C2; • Altrimenti sta in C1; Bioinformatica

  17. SVM – Classificazione Non Lineare Bioinformatica

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

  19. SVM – Classificazione Non Lineare • Potremo esprimere allora i vincoli • O euqivalentemente Bioinformatica

  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); Bioinformatica

  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 Bioinformatica

  22. SVM – Classificazione Non Lineare • Ad esempio un vettore tridimensionale X=(x1,x2,x3) 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 Bioinformatica

  23. SVM – Classificazione Non Lineare • Il mapping è però un’operazione 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 Bioinformatica

  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 R2) le tuple con delle curve e non rette. Bioinformatica

  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; Bioinformatica

More Related