25
Bioinformatica Classificazione Dr. Giuseppe Pigola – [email protected]

Bioinformatica Classificazione

  • Upload
    garth

  • View
    55

  • Download
    0

Embed Size (px)

DESCRIPTION

Bioinformatica Classificazione. Dr. Giuseppe Pigola – [email protected]. Classificazione e Predizione. CLASSIFICAZIONE Processo di individuazione di una etichetta della classe categoriale di appartenenza di un oggetto; - PowerPoint PPT Presentation

Citation preview

Page 1: Bioinformatica Classificazione

BioinformaticaClassificazione

Dr. Giuseppe Pigola – [email protected]

Page 2: Bioinformatica Classificazione

Classificazione e PredizioneCLASSIFICAZIONEProcesso 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);

PREDIZIONELa predizione modella una funzione continua (mentre la classificazione ha a che fare con valori discreti) e consente di individuare dati sconosciuti o mancanti.

Bioinformatica2

Page 3: Bioinformatica Classificazione

ClassificazioneCLASSIFICAZIONE: 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;

Bioinformatica3

Page 4: Bioinformatica Classificazione

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;

Bioinformatica4

Page 5: Bioinformatica Classificazione

Support Vector Machines - SVM

Bioinformatica5

Page 6: Bioinformatica Classificazione

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

Bioinformatica6

Page 7: Bioinformatica Classificazione

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

Page 8: Bioinformatica Classificazione

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;

Bioinformatica8

Page 9: Bioinformatica Classificazione

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;

Bioinformatica9

Page 10: Bioinformatica Classificazione

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.

Bioinformatica10

Page 11: Bioinformatica Classificazione

SVM – Classificazione Lineare Date m coppie (x,y) con xRn e y{-1,1}, vogliamo trovare

wRn e bR tali che:

L’iperpiano separatore H è l’insieme di punti tali che

Bioinformatica11

1 Se 0

1 Se 0

ii

ii

ybxw

ybxw

}0|{ bxwRxH n

Page 12: Bioinformatica Classificazione

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

Bioinformatica12

2

1

Per 1

Per 1

Hbxw

Hbxw

i

i

1 quando 1

1 quando 1

ii

ii

ybxw

ybxw

1)( bxwy ii

Page 13: Bioinformatica Classificazione

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 xRn avremo

Bioinformatica13

22

21

22110),(),(ww

xwxwwrPdHPd

222

221 ...

),(w

bxw

www

bxwHPd

n

Page 14: Bioinformatica Classificazione

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

Bioinformatica14

ibxwy ii 1)(

222

221 ...

),(w

bxw

www

bxwHPd

n

1 se 1

2

yw

1 se 1

2

yw

2

12w

m

Page 15: Bioinformatica Classificazione

SVM – Classificazione Lineare Possiamo formulare la massimizzazione del margine come

un problema di ottimizzazione quadratica vincolata

Con vincoli

Metodo dei moltiplicatori di Lagrange

Bioinformatica15

ibxwy ii 1)(

2min

2

2,

wbw

Page 16: Bioinformatica Classificazione

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;

Bioinformatica16

Page 17: Bioinformatica Classificazione

SVM – Classificazione Non Lineare

Bioinformatica17

Page 18: Bioinformatica Classificazione

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

Bioinformatica18

Page 19: Bioinformatica Classificazione

SVM – Classificazione Non Lineare Potremo esprimere allora i vincoli

O euqivalentemente

Bioinformatica19

1 quando 1

1 quando 1

ii

ii

ybxw

ybxw

1 quando 1

1 quando - 1

i

ii

iii

ybxw

ybxw

iii bxwy 1)(

Page 20: Bioinformatica Classificazione

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

i

iF )(

Page 21: Bioinformatica Classificazione

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

Page 22: Bioinformatica Classificazione

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

Bioinformatica22

Page 23: Bioinformatica Classificazione

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

Bioinformatica23

Page 24: Bioinformatica Classificazione

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.

Bioinformatica24

Page 25: Bioinformatica Classificazione

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