Análise de Clusters Aplicações da formação de Grupos (Clustering) Ver e analisar vastas quantidades de dados biológicos como um todo pode ser difícil É mais fácil interpretar os dados se forem divididos em grupos (clusters) que combinam dados similares. Análise de Clusters 2
Inferindo sobre a funcionalidade dos Genes Os investigadores pretendem conhecer as funções de novos genes sequenciados Comparando as novas sequências de genes com sequências de DNA conhecidas não é, frequentemente, suficiente para a descoberta da funcionalidade do gene Microarrays permitem analisar em larga escala a abundância relativa dos genes e a partir da correlação da abundância inferir sobre as sua funções Análise de Clusters 3 Análise de expressão genética por Microarrays Microarrays medem a actividade (nível de expressão) dos genes sobre diferentes condições/pontos no tempo O nível de expressão é estimado através da medição da quantidade de mrna para aquele gene particular Um gene é activo se foi transcrito Maior abundância de mrna indica maior actividade do gene Análise de Clusters 4
Dados dos Microarrays Dados dos Microarrays são usualmente transformados numa matriz de intensidade ou expressão A matriz de intensidade permite aos biólogos efectuar correlações entre diferentes genes (mesmo que não sejam semelhantes) e perceber como as funções dos genes podem ser relacionadas Intensidade (nível de expressão) do gene medida no tempo Tempo: Gene 1 Gene 2 Gene 3 Gene 4 Tempo X 10 10 4 7 Tempo Y 8 0 8.6 8 Tempo Z 10 9 3 3 Gene 5 1 2 3 Análise de Clusters 5 Formação de clusters de dados de Microarrays Represente cada dado como um ponto no espaço m- dimensional Calcule uma matriz de distâncias entre cada dois genes no espaço m-dimensional Genes com uma distância pequena partilham as mesmas características e podem ser funcionalmente relacionados ou similares A formação de clusters revela grupos de genes funcionalmente relacionados Análise de Clusters 6
Formação de clusters de dados de Microarrays (cont.) Clusters Análise de Clusters 7 Princípios Homogeneidade e Separação Homogeneidade: Elementos num mesmo cluster são próximos Separação: Elementos em clusters diferentes estão mais afastados entre si. Dado este conjunto de pontos um algoritmo de formação de clusters pode criar dois clusters como se segue Análise de Clusters 8
Mau Clustering Estes grupos (clusters) violam os princípios de Homogeneidade e Separação Distâncias próximas entre pontos de clusters distintos Distâncias longas entre pontos do mesmo cluster Análise de Clusters 9 Bom Clustering Estes grupos (clusters) satisfazem os princípios de Homogeneidade e Separação Análise de Clusters 10
Técnicas de Clustering Aglomerativo: Comece com cada elemento no seu próprio cluster e interactivamente agrupe os clusters. Divisivo: Comece com um único cluster e interactivamente divide-o em clusters mais pequenos. Hierárquico: Organize os elementos numa árvore, onde as folhas representam os genes e o comprimento entre os nós representa a distância entre os genes. Genes similares encontram-se nas mesmas subárvores. Análise de Clusters 11 Clustering Hierárquico Análise de Clusters 12
Clustering Hierárquico: Um exemplo Análise de Clusters 13 Clustering Hierárquico: Um exemplo Análise de Clusters 14
Clustering Hierárquico: Um exemplo Análise de Clusters 15 Clustering Hierárquico: Um exemplo Análise de Clusters 16
Clustering Hierárquico: Um exemplo Análise de Clusters 17 Clustering Hierárquico (cont.) O Clustering Hierárquico é muitas vezes utilizado para revelar a história evolutiva Análise de Clusters 18
Algoritmo de Clustering Hierárquico Clustering Hierárquico(d, n) 1. Forme n clusters cada um com um elemento 2. Construa um grafo T atribuindo um vértice a cada cluster 3. Enquanto existir mais do que um cluster 4. Encontre os dois clusters mais próximos C 1 e C 2 5. Agrupe C 1 e C 2 num novo cluster C com #C 1 +#C 2 elementos 6. Calcule a distância de C a todos os outros clusters 7. Adicione um novo vértice C a T e conecte-o aos vértices C 1 e C 2 8. Remova as linhas e colunas de d correspondentes a C 1 e C 2 9. Adicione uma linha e coluna a d correspondente ao novo cluster C 10. retorne T O algoritmo recebe como input uma matriz de distâncias nxn Análise de Clusters 19 Clustering Hierárquico: Recalculo das distâncias Maneiras diferentes de definir distâncias entre clusters podem conduzir à formação de clusters distintos d min (C, C * ) = min d(x,y) para todos os elementos x de C e y em C * Distância entre dois clusters é a menor distância entre qualquer par dos seus elementos d avg (C, C * ) = 1 / (#C * #C) d(x,y) para todos os elementos x de C e y em C * Distância entre dois clusters é a distância média entre qualquer par dos seus elementos Análise de Clusters 20
Erro quadrático de distorção Dado um ponto v e um conjunto de pontos X={x 1, x 2, x k } define- -se a distância de v a X d(v, X) como a distância (Euclidiana) de v ao ponto mais próximo de X, ou seja, d(v, X)=min 1 i k d(v,x i ) Dado um conjunto de n pontos V={v 1 v n } e um conjunto de k pontos X, define-se o Erro quadrático de Distorção (Squared Error Distortion) como d(v,x) = d(v i, X) 2 / n 1 < i < n Análise de Clusters 21 K-Means Clustering: Formulação Input: Um conjunto, V, consistindo em n pontos e um parâmetro k Output: Um conjunto X consistindo em k pontoscentróides (cluster centers) que minimizam o erro quadrático de distorção d(v,x) para todas as possíveis escolhas de X Análise de Clusters 22
1-Means Clustering: Um caso simples Input: Um conjunto, V, consistindo em n pontos Output: Um único ponto x (cluster center) que minimiza the squared error distortion d(v,x) para todas as escolhas possíveis de x 1-Means Clustering é fácil. No entanto, torna-se bastante difícil para mais de um centróide. Um método heurístico eficiente para o K-Means clustering é o algoritmo de Lloyd. Análise de Clusters 23 K-Means Clustering: Algoritmo de Lloyd Lloyd Algorithm 1. Escolha arbitrariamente os k centróides (cluster centers) 2. Enquanto os centróides continuarem a mudar 3. Atribua cada ponto ao cluster C i correspondente ao mais próximo representante do cluster (centróide) (1 i k) 4. Após a atribuição de todos os pontos, calcule os novos representantes dos clusters de acordo com o centro de gravidade de cada cluster, isto é, o novo representante do cluster é v / #C *Este algoritmo pode apenas localizar um óptimo local. Análise de Clusters 24
5 4 x 1 3 x 2 2 1 x 3 0 0 1 2 3 4 5 Análise de Clusters 25 5 4 x 1 3 x 2 2 1 x 3 0 0 1 2 3 4 5 Análise de Clusters 26
5 4 x 1 3 2 x 2 x 3 1 0 0 1 2 3 4 5 Análise de Clusters 27 5 4 x 1 3 2 x 2 x 3 1 0 0 1 2 3 4 5 Análise de Clusters 28
Algoritmo K-Means Conservativo O algoritmo de Lloyd é rápido, mas em cada iteração move muitos pontos, não causando necessariamente melhor convergência Um método mais conservativo será aquele que move apenas um determinado ponto apenas se melhorar o custo global de clustering Quanto mais baixo for o custo global da partição dos dados melhor é o clustering Diferentes métodos (ex. o erro quadrático de distorção) podem ser usados para medir o custo global de clustering Análise de Clusters 29 Algoritmo K-Means Greedy ProgressiveGreedyK-Means(k) 1. Seleccione uma partição arbitrária P com k clusters 2. Enquanto verdade 3. bestchange 0 4. Para todo o cluster C 5. Para todo o elemento i que não pertence a C 6. Se mover i para o cluster C reduz o custo de clustering 7. Se (cost(p) cost(p i C ) > bestchange 8. bestchange cost(p) cost(p i C ) 9. i * I 10. C * C 11. Se bestchange > 0 12. Altere a partição P movendo i * para C * 13. senão 14. devolva P Análise de Clusters 30
Grafos Clique Um clique é um grafo com cada vértice conectado a todos os outros Um grafo clique é um grafo onde cada componente conectada é um clique Análise de Clusters 31 Transformando um grafo arbitrário num grafo clique Um grafo pode ser transformado num grafo clique através da colocação e remoção de arestas Análise de Clusters 32
Problema dos Cliques Corruptos Input: Um grafo G Output: O menor número de colocação e remoção de arestas para transformar G num grafo clique Análise de Clusters 33 Grafos de Distâncias Transformar uma matriz de distâncias num grafo de distâncias Genes são representados como vértices do grafo Escolher um limiar θ (distance threshold) Se a distância entre dois vértices for inferior a θ então desenhase uma aresta entre os vértices O grafo resultante pode conter cliques Estes cliques representam clusters de pontos muito próximos Análise de Clusters 34
Transformando grafos de distâncias em grafos clique O grafo de distâncias (θ=7) é transformado num grafo clique após a remoção de duas arestas Após a transformação do grafo de distâncias num grafo clique o conjunto de dados está agrupado em três clusters Análise de Clusters 35 Heurísticas para o Problema dos Cliques Corruptos Este problema é NP-Difícil, pelo que existem algumas heurísticas para o resolver aproximadamente: CAST (Cluster Affinity Search Technique): um algoritmo prático e rápido: CAST é baseado na noção de gene próximo do cluster C ou distante do cluster C Distância entre gene i e cluster C: d(i,c) = distância média entre o i e todos os genes em C O gene i está próximo do cluster C se d(i,c)< θ e distante caso contrário Análise de Clusters 36
Algoritmo CAST CAST(S, G, θ) 1. P Ø 2. Enquanto S Ø 3. v vértice de grau máximo no grafo de distâncias G 4. C {v} 5. Enquanto existir um gene próximo i C ou um gene distante i C 6. Encontre o gene mais próximo i C e adicione-o a C 7. Encontre o gene mais distante i C e remova-o de C 8. Adicione o cluster C à partição P 9. S S \ C 10. Remova os vértices do cluster C do grafo de distâncias G 11. devolva P S conjunto de elementos, G grafo de distância, θ limiar da distância Análise de Clusters 37 Referências Estes acetatos foram adaptados de: http://www.bioalgorithms.info/presentations/ch10_clustering.ppt Análise de Clusters 38