UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

Slides:



Advertisements
Presentazioni simili
Strutture dati per insiemi disgiunti
Advertisements

Le distribuzioni di probabilità continue
Ricorrenze Il metodo di sostituzione Il metodo iterativo
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Il problema del minimo albero ricoprente in un grafo non cooperativo
____________________
6. Catene di Markov a tempo continuo (CMTC)
La scelta del paniere preferito
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
Algoritmi e Strutture Dati
Lez. 3 - Gli Indici di VARIABILITA’
Alberi binari di ricerca
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Cammini minimi con sorgente singola
6. Catene di Markov a tempo continuo (CMTC)
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Esercitazioni su circuiti combinatori
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Algoritmi e Strutture Dati
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
Apprendimento Non Supervisionato
Dip. Economia Politica e Statistica
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
ANALISI DEI GRUPPI seconda parte
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
eliana minicozzi linguaggi1a.a lezione2
Algoritmi e Strutture Dati (Mod. B)
Seminario su clustering dei dati – Parte II
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un insieme di clienti da servire (nodi piccoli). Il costo di afferenza.
1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un insieme di clienti da servire (nodi piccoli). Il costo di afferenza.
Algoritmi e Strutture Dati
Heap binomiali Gli heap binomiali sono strutture dati su cui si possono eseguire efficientemente le operazioni: Make(H) : crea uno heap vuoto Insert(H,
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Analisi dei gruppi – Cluster Analisys
Strutture di controllo in C -- Flow Chart --
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
Lezione 4 Probabilità.
Elementi di Informatica di base
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Passo 3: calcolo del costo minimo
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
14 marzo 2002 Avvisi:.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Classificazione (aka Cluster Analysis)
Metodi matematici per economia e finanza. Prof. F. Gozzi
Lez.13: Unsupervised classification: clustering gerarchico
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN INFORMATICA Corso di APPRENDIMENTO AUTOMATICO Prof. Giancarlo Mauri Lezione Clustering.
Transcript della presentazione:

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 13 Clustering di dati da microarrays

Sommario La tecnologia dei DNA microarrays Introduzione Algoritmi di Clustering algoritmi gerarchici metodo del centroide K-Means Metodi evoluti (CLICK)

Cosa si intende per clustering Il clustering è un procedimento che si pone come obiettivo la suddivisione di un insieme di elementi in sottoinsiemi Gli elementi di ogni sottoinsieme sono accomunati da caratteristiche simili

Dati necessari per il clustering Insieme di elementi da classificare Ogni elemento è specificato da un vettore caratteristico Misura di similarità (o dissimilarità) tra gli elementi Criteri da rispettare: OMOGENEITA’: elementi dello stesso cluster hanno alto livello di similarità SEPARAZIONE: elementi di cluster diversi hanno basso livello di similarità

Cenni matematici (1) Sia N = {e1, …, en} un insieme di n elementi, e sia C = {C1, …, Cn} una partizione di N in sottoinsiemi. Ogni sottoinsieme è chiamato cluster e C è detto clustering di N Due elementi e1 e e2 sono chiamati mates rispetto a C se sono membri dello stesso cluster in C

Il clustering in biologia Elementi  geni Vettore caratteristico  vettore con i livelli di espressione di ogni gene, sotto le diverse condizioni Misura di similarità  distanza tra vettori

Espressione genica Uno dei principali meccanismi di regolazione cellulare è il controllo dell’espressione genica che permette alla cellula di coordinare operazioni complesse adattando la concentrazione di proteine alle variazioni dell’ambiente E’ possibile identificare gruppi di geni coinvolti in un particolare evento (es. shock termico) sperimentalmente (es. riscaldando la colonia cellulare). Vengono misurati i livelli di mRNA di ogni gene nelle ore successive. Confrontando i dati con i livelli di mRNA tipici di ogni gene, è possibile individuare geni sovra o sottoespressi.

Espressione genica Tecniche principali per la generazione di livelli di espressione: Microarray cDNA Microarray oligonucleotidici Fingerprint oligonucletidici Si basano tutte su un alto numero di esperimenti Differiscono: per natura indagini e obiettivi per le tecnologie usate

Microarray cDNA Un insieme di probe univoci (sequenze di DNA a elica singola) vengono immobilizzati su una superificie solida (vetro, nylon, etc.) L’mRNA estratto da campioni cellulari viene trattato in modo da generare un campione di cDNA etichettato con una particolare tintura (fluorescente o radioattiva) Il campione viene poi incubato con l’array così che ogni probe ibridizza con la molecola di cDNA campione complementare (se presente) Esperimenti con mRNA da diversi campioni possono essere realizzati contemporaneamente, usando tinture diverse o diversi array. I risultati vengono poi confrontati per dare una stima qualitativa dell’abbondanza relativa dell’mRNA nella popolazione cellulare in esame

Microarray cDNA

Microarray cDNA L’ibridizzazione non dà una misura quantitativa dell’espressione genica: l’efficienza nell’estrazione di DNA, la sintesi del campione, l’etichettatura del campione e le reazioni di ibridizzazione variano da campione a campione e tra un gene e l’altro. Si può avere solo una stima relativa del tasso di cambiamento della concentrazione di mRNA tra due campioni Matrice dell’Espressione Genica

Microarray cDNA

Algoritmi di clustering - Classificazione Organizzazione dei cluster GERARCHICI NON GERARCHICI Uso di informazioni note, per guidare l’algoritmo SUPERVISIONATI NON SUPERVISIONATI Costruzione della soluzione di clustering AGGLOMERATIVI (si parte dal singolo gene) DIVISIVI (si parte dalla totalità dei geni)

Clustering Gerarchico Questo approccio prova a collocare gli elementi in input in una struttura gerarchica ad albero, in cui le distanze all’interno dell’albero riflettono le similarità degli elementi. Gli elementi sono localizzati sulle foglie dell’albero Vantaggi: Una figura singola, coerente e globale Intuitivo per i biologi Svantaggi: Non ci sono esplicite partizioni nel cluster Anche per un biologo esperto potrebbe risultare impossibile fare intuizioni semplicemente guardando il grafo ad albero, a causa della dimensione dei dati, e del numero di errori

Clustering Gerarchico Viene impiegata una struttura ad albero Radicato Non radicato Una particolare rappresentazione è il dendrogramma

Clustering Gerarchico L’algoritmo di clustering gerarchico fonde cluster simili, e calcola la nuova distanza per i cluster fusi. Se i è clusterizzato con j ed entrambi non sono simili ad r allora D(i,r)=D(j,r) anche se D(i,j)>0. (ricordiamo che D(n,m) è la funzione distanza)

Algoritmi presentati Clustering gerarchico Neighbor joining Metodo del centroide Clustering non gerarchico K-means Basati sulla teoria dei grafi: Highly Connected Subgraph (HCS) CLustering Identification via Connectivity Kernels (CLICK) Euristica per un algoritmo polinomiale: Clustering Affinity Search Technique (CAST) Self-Organizing Maps (SOM)

Clustering gerarchico Può essere supervisionato; è agglomerativo e gerarchico Le soluzioni individuate vengono tipicamente rappresentate con un dendogramma Si procede da una partizione iniziale in cluster singoli ad un merging dei cluster fino a che tutti gli elementi appartengono allo stesso cluster Ogni passo di merge corrisponde all’unione di due cluster

Neighbor Joining Algorithm Input: la matrice delle distanze Dij Trovare gli elementi r,s tali che: Drs = minij(Dij) Fondere i cluster r,s Eliminare gli elementi r,s, e aggiungere un nuovo elemento t con: Ripetere, finché non rimane un solo elemento.

Metodo del Centroide Si tratta di un metodo gerarchico aggregativo nel quale la misura di vicinanza tra due cluster viene valutata sulla base della distanza dei relativi centroidi Il centroide di un cluster è il vettore la cui j-esima coordinata è la media aritmetica delle j-esime variabili di tutti gli elementi del cluster in questione

Esempio Si supponga di avere la matrice X di 5 elementi di dimensione 3: 0 2 5 x1 2 4 0 x2 X = 1 1 4 x3 0 0 2 x4 5 11 0 x5 Presi i cluster A = {x1, x2} e B = {x3, x4, x5}, i loro centroidi sono rispettivamente c(A) = (1, 3, 2.5) e c(B) = (2, 4, 2) e la loro distanza (Manhattan) è d(A,B) = |1-2|+|3-4|+|2.5-2| = 2.5

Metodo del Centroide

Neighbor Joining Algorithm Quindi: inizialmente ogni gene rappresenta un cluster contenente solo sé stesso. Si cercano i 2 cluster r e s con la minima distanza tra loro in modo da fonderli insieme. r viene rimpiazzato con il nuovo cluster mentre s viene eliminato. Le distanze che sono state interessate dalla fusione vengono ricalcolate con la formula mostrata. Si ripetono le fasi 2, 3 e 4 finché il numero totale dei cluster non diviene 1, cioè finché non sono stati presi in considerazione tutti i geni. Vediamo ora un semplicissimo esempio di esecuzione dell’algoritmo, partendo dalla seguente matrice delle distanze:

Neighbor Joining Algorithm Alla 1° iterazione per cui si devono fondere i cluster 1 e 2: Alla 2° iterazione per cui si devono fondere i cluster 3 e 4: Alla 3° iterazione fondiamo i due cluster così ottenuti e otteniamo per cui una matrice con un unico elemento. L’esecuzione quindi termina.

Neighbor Joining Algorithm Vediamo come avviene la generazione dell’albero (ricordando che i pesi degli archi sono determinati tramite ):

Clustering gerarchico (3) Varianti: si basano sul differente Linkage Method usato. Questo metodo è quello utilizzato per calcolare le distanze tra due cluster quando si costruisce il dendrogramma Single Linkage: le distanze sono misurate da ogni membro di un cluster ad ogni membro dell’altro cluster. Si considera come distanza tra i cluster quella minima Average Linkage: la misura della distanza tra due cluster è calcolata come media della distanza di ogni membro del cluster da ogni membro dell’altro Complete Linkage: le distanze sono misurate da ogni membro di un cluster ad ogni membro dell’altro cluster. Si considera come distanza tra i cluster quella massima

Average Linkage L’Average Linkage è una variante del Neighbor Joining algorithm. L’idea è la stessa ma nel momento in cui calcoliamo le nuove distanze dei cluster creati, vengono prese in considerazione le dimensioni dei cluster che sono stati fusi insieme. Input: La matrice distanza Dij, dimensione del cluster iniziale nr iterazione k: come nel Neighbor Joining algorithm con la differenza che la distanza da un nuovo elemento t è definita attraverso: La misura della distanza tra due cluster è considerata la media della distanza di ogni membro del cluster da ogni membro dell’altro

Average Linkage Esistono 2 metodi alternativi: Single Linkage Complete Linkage

Average Linkage Data la seguente matrice delle distanze vediamo un esempio pratico di tutti e tre i metodi sopra citati:

Average Linkage Il seguente è il dendrogramma relativo al Single Linkage dell’esempio riportato sopra. Gli altri due sono differenti ma si ricavano esattamente nello stesso modo.

Una struttura generale Riportiamo la struttura generale del clustering gerarchico: Nell’algoritmo dell’Average Linkage avremo che i parametri assumeranno i seguenti valori:

Metodi non gerarchici I metodi non gerarchici mirano a ripartire le n unità della popolazione in k gruppi, fornendo una sola partizione anziché una successione di partizioni tipica dei metodi gerarchici Es.: metodo di Forgy o delle K-Medie o delle aggregazioni dinamiche

K-means (1) È divisivo e generalmente non supervisionato La soluzione non è visualizzabile attraverso dendogrammi L’algoritmo K-means assume che il numero k di cluster sia noto Si propone di minimizzare le distanze tra elementi e i centroidi dei cluster loro assegnati

K-means (2) Algoritmo Si inizia fissando k centroidi iniziali di altrettanti cluster Per ogni gene si calcola la distanza da ciascun centroide e lo si assegna al più vicino Per la partizione provvisoria così ottenuta si ricalcolano i centroidi di ogni cluster (media aritmetica) Per ogni gene si ricalcola la distanza dai centroidi e si effettuano gli eventuali spostamenti tra cluster Si ripetono le operazioni 3 e 4 finché si raggiunge il numero massimo di iterazioni impostate o non si verificano altri spostamenti

HCS e CLICK I dati di input vengono rappresentati come un grafo di similarità OBIETTIVO: costruzione dei kernel L’algoritmo partiziona ricorsivamente l’insieme corrente di elementi in due sottoinsiemi Prima di una partizione, si considera il sottografo indotto dal corrente sottoinsieme di elementi Se il sottografo soddisfa un criterio di arresto allora viene dichiarato un kernel Altrimenti viene eseguito un taglio minimo pesato su quel sottografo e l’insieme viene diviso in due sottoinsiemi separati dal taglio, su cui verrà ripetuta la procedura di costruzione dei kernel L’output è una lista di kernel che serve come base per gli eventuali cluster

HCS (1) Costruisce un grafo di similarità non pesato (gli archi in realtà hanno peso 1 o 0) in cui esiste un arco tra due vertici sse la similarità tra i loro corrispondenti elementi supera una soglia predefinita Un HCS è un sottografo indotto H di G il cui valore di taglio minimo eccede |V(H)|/2 L’algoritmo identifica gli HCS come kernel Possiede due buone proprietà per il clustering: il diametro di ogni cluster che produce è al massimo due ogni cluster è denso almeno la metà di una cricca

HCS (2) Varianti Iterated-HCS: quando il minimo valore di taglio viene ottenuto da diversi tagli distinti, l’algoritmo HCS ne sceglie uno arbitrariamente. Questo processo potrebbe suddividere piccoli cluster in singoletti. Per superare questo inconveniente, è possibile eseguire diverse (1-5) iterazioni di HCS fino a che nessun nuovo cluster viene trovato Singletons Adoption: i singoletti possono essere “adottati” dai cluster. Per ogni elemento singolo x si calcola il numero dei vicini presenti in ogni cluster e nell’insieme dei singoletti S. Se il massimo numero di vicini è sufficientemente grande ed è ottenuto da uno dei cluster (piuttosto che da S) allora x viene aggiunto a quel cluster. Questo processo viene ripetuto diverse volte

HCS (3) Removing Low Degree Vertices: quando il grafo di similarità contiene vertici con grado basso, un’iterazione dell’algoritmo di taglio minimo potrebbe semplicemente separare i vertici di grado basso dal resto del grafo. Eliminare i vertici di grado basso da G elimina queste iterazioni e riduce in modo significativo il tempo di esecuzione. Il processo è ripetuto con diverse soglie sul grado

CLICK L’informazione iniziale è rappresentata dalla matrice nxp dell’Espressione Genica M. Ogni riga i di M rappresenta l’impronta digitale del gene i-esimo. L’obiettivo dell’algoritmo è quello di determinare cluster di geni tali che i geni in ogni cluster siano altamente simili nell’espressione mentre geni in cluster diversi siano dissimili nell’espressione. Sulla base di M si costruisce un grafo i cui vertici sono i geni mentre gli archi rappresentano la probabilità che i due vertici dell’arco stiano in uno stesso cluster. Ad essa si assegna il valore:

sia in qualità che velocità CLICK: l’algoritmo L’idea dell’algoritmo è la seguente: dato un grafo G si vorrebbe decidere se i suoi vertici rappresentano geni appartenenti ad un solo cluster oppure no. Nel primo caso di dice che G è puro. Per decidere questo si determinano tutti i tagli del grafo G e si valutano le seguenti ipotesi per ogni taglio C del grafo: H0C: il taglio contiene solo geni di uno stesso cluster H1C: il taglio contiene almeno due geni di cluster diversi Se P[H0C]>P[H1C] per ogni taglio C di G allora si dice che G è un kernel Basic-CLICK(G(V,E)) if (V(G)={v}) then sposta v nell’insieme di singoletti R elseif (G è un kernel) then return V(G) else (H,Q,taglio) = Taglio_A_Peso_Minimo(G) Basic-CLICK(H) Basic-CLICK(Q) end if end Le performance di CLICK raffrontate con altri algoritmi di clustering risultano superiori sia in qualità che velocità

Analisi Componenti Principali (PCA) La PCA è una tecnica per la riduzione del numero di variabili casuali che descrivono un fenomeno. L’obiettivo e’ quello di identificare un sottoinsieme di variabili casuali dalle quali dipende la maggiore varianza (‘variabilità’) del fenomeno y descrive meglio di x la variabilità del fenomeno

PCA: i dati x Il sottospazio generato da r(1), …, r(M), Matrice di Covarianza input Componente principale i r(i) è l’autovettore corrispondente all’i-esimo autovalore (i) x Il sottospazio generato da r(1), …, r(M), (M<d), è chiamato sottospazio PCA

Trasformazione di Karhunen-Loéve Obiettivo: mappare vettori x = (x1,…, xd) in vettori z = (z1,…, zM) con M<d. Errore ui sono d vettori ortonormali Somma dei quadrati degli errori L’errore minimo è ottenuto scegliendo i più piccoli d-M autovalori; ogni autovettore ui è chiamato componente principale