Algoritmi di clustering



Documenti analoghi
Dimensione di uno Spazio vettoriale

Lezione 9: Cambio di base

Documentazione esterna al software matematico sviluppato con MatLab

CALCOLO COMBINATORIO

Corso integrato di informatica, statistica e analisi dei dati sperimentali Altri esercizi_esercitazione V

Algoritmi e strutture dati. Codici di Huffman

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

Introduzione al MATLAB c Parte 2

Plate Locator Riconoscimento Automatico di Targhe

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Esercizi per il corso di Algoritmi e Strutture Dati

1 Applicazioni Lineari tra Spazi Vettoriali

LABORATORIO EXCEL XLSTAT 2008 SCHEDE 2 e 3 VARIABILI QUANTITATIVE

LABORATORIO-EXCEL N. 2-3 XLSTAT- Pro Versione 7 VARIABILI QUANTITATIVE

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

Organizzazione degli archivi

Codifiche a lunghezza variabile

Analisi Statistica dei Dati Misurazione e gestione dei rischi a.a

Sistemi Informativi Territoriali. Map Algebra

L analisi dei dati. Capitolo Il foglio elettronico

8.9 CREARE UNA TABELLA PIVOT

Capitolo 13. Interrogare una base di dati

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

Parte 3. Rango e teorema di Rouché-Capelli

Esempi di algoritmi. Lezione III

Informatica. Rappresentazione dei numeri Numerazione binaria

Prof.ssa Paola Vicard

Esercizi su lineare indipendenza e generatori

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

ESERCITAZIONE 13 : STATISTICA DESCRITTIVA E ANALISI DI REGRESSIONE

Il concetto di valore medio in generale

Clustering. Utilizziamo per la realizzazione dell'esempio due tipologie di software:

MINIMI QUADRATI. REGRESSIONE LINEARE

Fasi di creazione di un programma

Complessità Computazionale

Capitolo 2 Distribuzioni di frequenza

Laboratorio di Pedagogia Sperimentale. Indice

4 3 4 = 4 x x x 10 0 aaa

Il calendario di Windows Vista

Indice. pagina 2 di 10

Secondo Compitino di Basi di Dati

Ottimizzazione Multi Obiettivo

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Interpolazione ed approssimazione di funzioni

Alessandro Pellegrini

Introduzione al Foglio Elettronico

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter?

Distributed P2P Data Mining. Autore: Elia Gaglio (matricola n ) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

Cluster. Vicino alla temperatura critica gli spin formano grandi gruppi (cluster)

13. Campi vettoriali

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011

Determinazione del pka per un acido moderatamente debole per via potenziometrica C.Tavagnacco - versione

3. Introduzione all'internetworking

Computational Game Theory

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Interesse, sconto, ratei e risconti

1. PRIME PROPRIETÀ 2

Fogli Elettronici: MS Excel

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

Olga Scotti. Basi di Informatica. Excel

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Funzioni in C. Violetta Lonati

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Word processor funzione Stampa Unione

ANALISI DELLE FREQUENZE: IL TEST CHI 2

Errori di una misura e sua rappresentazione

Convertitori numerici in Excel

FIRESHOP.NET. Gestione del taglia e colore.

Operatori logici e porte logiche

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Approssimazione polinomiale di funzioni e dati

Soluzione di equazioni quadratiche

Parte 2. Determinante e matrice inversa

Basi di dati 9 febbraio 2010 Compito A

Ammortamento di un debito

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra

Uso di base delle funzioni in Microsoft Excel

La distribuzione Normale. La distribuzione Normale

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Capitolo 13: L offerta dell impresa e il surplus del produttore

Matematica generale CTF

Gestione Centro Estetico

Alberi binari di ricerca

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Misure della dispersione o della variabilità

Criteri di Valutazione della scheda - Solo a carattere indicativo -

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Nuova funzione di ricerca del sito WIKA.

Corso di Calcolo Numerico

Sistemi Informativi Territoriali. Vari tipi di immagini

Si sa che la via più breve tra due punti è la linea retta. Ma vi siete mai chiesti, Qual è la via più breve tra tre punti? o tra quattro punti?

Calcolatori: Algebra Booleana e Reti Logiche

Metodi Stocastici per la Finanza

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a)

Strumenti informatici Realizzare grafici e tabelle con Excel e SPSS

La Minimizzazione dei costi

PROGRAMMA SVOLTO NELLA SESSIONE N.

Transcript:

Algoritmi di clustering Dato un insieme di dati sperimentali, vogliamo dividerli in clusters in modo che: I dati all interno di ciascun cluster siano simili tra loro Ciascun dato appartenga a uno e un solo cluster 1

Microarray data Risultati di un esperimento di DNA microarray (di solito log 2 ): E 1 E 2 E 3 E 4 E 5 E 6 G 1 0.0 0.8 1.4 2.0 3.0 2.9 G 2 0.3-0.6 0.4 0.1-0.5 0.6 G 3-0.4 0.9 1.5 2.3 2.5 3.5 G 4 0.0-0.4-2.2-2.8-2.5-3.1 G 5-0.3 0.3-0.5 0.1 0.3 0.6 G 6-0.2 0.2-1.0-1.2-1.2-1.3 G 7-0.4 0.3 1.5 3.2 4.2 3.5 G 8-0.2-0.5 1.8 1.2 1.7 2.3 2

8 6 G1 G2 G3 G4 G5 G6 G7 G8 4 2 0-2 -4 1 2 3 4 5 6 3

Procedimento 1. Definire i vettori da raggruppare in clusters: ogni gene è un vettore G, con componenti G i = espressione nell esperimento i 8 vettori a 6 componenti (clustering delle righe) ogni esperimento è un vettore E, con componenti E j = espressione del gene j (j = 1,..., 8) 6 vettori a 8 componenti (clustering delle colonne) 2. Definire una misura di dissimilarità tra due vettori 3. Formare i clusters di vettori simili Dal punto di vista formale, non c e differenza tra clustering delle righe e delle colonne 4

Distanza euclidea E la generalizzazione dell ordinaria distanza tra punti. d EUC ( x, y) = (x i y i ) 2 i Esempio: G 1 = ( 0.0, 0.8, 1.4, 2.0, 3.0, 2.9) G 6 = (-0.2, 0.2, -1.0, -1.2, -1.2, -1.3) G 7 = (-0.4, 0.3, 1.5, 3.2, 4.2, 3.5) D(G 1, G 6 ): (0.2) 2 + (0.6) 2 + (2.4) 2 + (3.2) 2 + (4.2) 2 + (4.2) 2 = 7.19 D(G 1, G 7 ): (0.4) 2 + (0.5) 2 + (0.1) 2 + (1.2) 2 + (1.2) 2 + (0.6) 2 = 1.91 5

Minkowski distance d MINK ( x, y) = p x i y i p per p = 2 si riduce alla distanza euclidea per p = 1 (taxicab distance) ogni componente contribuisce x i y i alla distanza per grandi valori di p contano solo le componenti molto diverse i Variando il valore di p si può dare maggiore o minore importanza al fatto che alcune componenti siano molto diverse 6

Weighted Euclidean distance d W E ( x, y) = w i (x i y i ) 2 i E una generalizzazione della distanza euclidea: Scegliendo i weights w i si può assegnare maggiore o minore importanza a ciascuna componente. Esempio: clusterando le righe (geni) di un esperimento di microarray si vuole dare peso minore ai chips meno accurati 7

Pearson s linear dissimilarity media di un vettore: x = n i=1 x i n deviazione standard σ x = n i=1 (x i x) 2 n Pearson s linear correlation ρ( x, y) = n i=1 (x i x)(y i ȳ) σ x σ y Pearson s linear dissimilarity d ρ ( x, y) = 1 ρ( x, y) 2 8

Invarianza di scala: per qualunque costante c d ρ (c x, c y) = d ρ ( x, y) mentre invece per la distanza euclidea d EUC (c x, c y) = c d EUC ( x, y) La PLD dà più importanza alla forma dei vettori di espressione rispetto alla distanza euclidea. Per esempio d ρ ( x, 2 x) = 0 ma d EUC ( x, 2 x) = n x 2 i 0 i=1 9

Algoritmi di clustering Hierarchical clustering k-means clustering Self-organizing maps Tutti questi metodi presuppongono che sia stata definita una misura di dissimilarità 10

Hierarchical clustering Questo algoritmo crea un diagramma ad albero binario con radice (come quelli dell analisi filogenetica). La radice e un cluster contenente tutti i dati. Le foglie sono i singoli dati. I nodi intermedi sono i clusters significativi. 11

Costruzione dell albero 1. Inizializzare la lista dei clusters definendo un cluster per ogni dato, contenente soltanto il dato stesso 2. Cercare i due cluster più vicini tra loro e definire un nuovo cluster come la loro unione 3. Aggiungere il nuovo cluster alla lista e togliere i due da cui esso deriva 4. Ripetere dal punto 2 finche non rimane un unico cluster 12

Note: E necessario definire una misura di dissimilarità tra clusters oltre che tra dati (vettori): ció si ottiene, per esempio, assegnando a ogni cluster il vettore media dei vettori che compongono il cluster, e usando poi la distanza tra questi vettori per definire la distanza tra i cluster (average linkage). I cluster significativi si ottengono tagliando l albero a una certa altezza intermedia, a seconda della dimensione dei cluster cercati. 13

K-means clustering Questo metodo raggruppa i dati in un numero fissato k di clusters, e fornisce in output il centro di ciascun cluster. 1. Inizializzare in un modo qualsiasi i k centri dei clusters c 1,..., c k 2. Assegnare ciascun vettore al cluster più vicino secondo la dissimilarità usata. 3. Ricalcolare il centro di ciascun cluster facendo la media dei vettori che vi appartengono. 4. Ripetere dal punto 2 fino a che nessun punto cambia più cluster. 14

Note: Si puo dimostrare che il procedimento converge, cioè termina certamente. In pratica, per grandi insiemi di dati, la convergenza può richiedere molto tempo: quindi ci si ferma quando quasi nessun dato cambia piu cluster ( quasi definito opportunamente). Per trovare il numero ottimale k di clusters, si può usare il procedimento con diversi valori di k e poi confrontare la qualità dei cluster ottenuti, data per esempio dalla media delle distanze dei membri dei clusters dai rispettivi centri: i = 1 k 1 C i x C i d( x, c i ) 15

Self-organizing Maps I clusters sono disposti su una mappa bidimensionale divisa in celle individuate dalle coordinate (i, j) A celle vicine sulla mappa corrispondono clusters simili come profilo di espressione. 16

Procedimento 1. A ciascuna cella (i, j) viene assegnato inizialmente un vettore c ij scelto in modo random 2. Si sceglie un dato x in modo random dall insieme di dati da clusterare. 3. Si identifica la cella (i, j) il cui vettore c ij è piuù simile al dato x 4. Il vettore c ij viene modificato in modo da avvicinarsi al dato x 5. Anche tutti i vettori delle celle vicine (sulla griglia) vengono modificati in modo da avvicinarsi a x, ma in modo sempre meno marcato all aumentare di distanza sulla griglia dalla cella (i, j) numero di iterazioni del procedimento In questo modo cluster simili appaiono in posizioni vicine sulla griglia. Inoltre il metodo consente una visualizzazione efficace dei dati. 17

Esercitazione Dati di yeast cell cycle per 1600 geni in 18 timepoints Determinare un cluster di geni funzionalmente caratterizzati ribosome biogenesis Confrontare due metodi di clustering diversi relativamente alla capacita di raggruppare correttamente i geni coinvolti nella ribosome biogenesis Determinare in modo computazionale uno o piu possibili TF binding sites coinvolti nella regolazione di questi geni 18